Monday, March 03, 2025

[ohtmqaez] distance 70 in 24 dimensions

the point at coordinates (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24) in 24-dimensional space is exactly 70 units from the origin, because the sum of the first 24 squares is 4900.  (this amazing relation is somehow related to the 24-dimensional Leech lattice, a different lattice than our hypercube lattice of all points with integer coordinates.)  the point is one of 905754973269671819419476064818886581168 lattice points 70 units from the origin.  that large number divided by 24 factorial is approximately 1459839320625890.4 : there are many more lattice points on a hypersphere of radius 70 than just the permutations of the coordinates of our special point.

our special point is one of 370123270431636382177726611489013547080401 lattice points inside or on the boundary of a 24-dimensional ball of radius 70.  this volume is approximately 408.6 times larger than the above surface "area" of lattice points.  in other words, this outermost layer of lattice points does not dominate the total lattice points.  this matches lower dimensional intuition, which is rare when considering volumes in high dimensions.

future work: actual volume, surface area, and ratio of a 24-dimensional sphere of radius 70.  this should be easy.

the above results are derived from the b-file of OEIS A000156.  I confirmed the list up to entry 1000 (with 48 hours of computing).  I do not know how its larger entries (up to entry 10000) were calculated; there must be some algorithmic tricks beyond what I implemented.

I discovered A000156 by calculating its first few terms (future post kiqanzug), then searching OEIS for the continuation.  this a standard way to use the database.

[ncasfqep] mobility of escaping check

in the following chess position (FEN), white has 44 possible moves that get out of check:

r6K/QPPPPPPB/NNNNNNNN/8/8/8/8/7k w - - 0 1

is this the most possible?  it is not a position reachable from the orthodox initial position.

[wyhgtulu] nearby prime differences

start with a set of consecutive primes.  compute all pairs positive differences among the set, and count the number of times each difference occurs.

note that we are counting differences between primes not necessarily consecutive.  (in contrast, prime gaps, another well studied topic, are differences between consecutive primes.)

running through the differences of all pairs seems like it could be done cleverly faster than quadratic time, but I could not think of a way.  doing all pairs of sets of a million numbers took about half an hour in C++.

among the first 10 odd primes (3 5 7 11 13 17 19 23 29 31), below are the differences from most frequent to least frequent.  each parenthesized record has the format
(difference number-of-occurrences #rank)
where rank may be a range because of ties.  for ease of parsing output by machine, the rank is given as a range even if the range is just one number.

(6 6 #1-1); (2 5 #2-3); (12 5 #2-3); (4 4 #4-6); (8 4 #4-6); (10 4 #4-6); (14 3 #7-9); (16 3 #7-9); (18 3 #7-9); (20 2 #10-12); (24 2 #10-12); (26 2 #10-12); (22 1 #13-14); (28 1 #13-14);

below are the top 100 differences among all pairs of the first 100 odd primes 3 through 547.

(30 60 #1-1); (60 57 #2-2); (42 54 #3-4); (90 54 #3-4); (120 49 #5-5); (6 48 #6-11); (12 48 #6-11); (24 48 #6-11); (36 48 #6-11); (66 48 #6-11); (84 48 #6-11); (18 46 #12-12); (150 45 #13-13); (48 44 #14-16); (126 44 #14-16); (210 44 #14-16); (54 42 #17-18); (78 42 #17-18); (102 40 #19-19); (72 39 #20-21); (180 39 #20-21); (96 38 #22-24); (132 38 #22-24); (168 38 #22-24); (108 37 #25-27); (114 37 #25-27); (156 37 #25-27); (144 35 #28-29); (174 35 #28-29); (138 34 #30-33); (186 34 #30-33); (240 34 #30-33); (270 34 #30-33); (10 33 #34-37); (20 33 #34-37); (70 33 #34-37); (162 33 #34-37); (216 32 #38-38); (40 31 #39-40); (192 31 #39-40); (198 30 #41-45); (204 30 #41-45); (222 30 #41-45); (228 30 #41-45); (252 30 #41-45); (14 29 #46-49); (50 29 #46-49); (56 29 #46-49); (234 29 #46-49); (80 28 #50-53); (140 28 #50-53); (264 28 #50-53); (300 28 #50-53); (4 27 #54-57); (34 27 #54-57); (246 27 #54-57); (330 27 #54-57); (22 26 #58-61); (26 26 #58-61); (44 26 #58-61); (258 26 #58-61); (2 25 #62-66); (28 25 #62-66); (38 25 #62-66); (110 25 #62-66); (276 25 #62-66); (8 24 #67-75); (16 24 #67-75); (32 24 #67-75); (52 24 #67-75); (98 24 #67-75); (100 24 #67-75); (160 24 #67-75); (294 24 #67-75); (360 24 #67-75); (46 23 #76-85); (76 23 #76-85); (82 23 #76-85); (104 23 #76-85); (130 23 #76-85); (154 23 #76-85); (170 23 #76-85); (306 23 #76-85); (312 23 #76-85); (336 23 #76-85); (68 22 #86-91); (74 22 #86-91); (86 22 #86-91); (94 22 #86-91); (112 22 #86-91); (342 22 #86-91); (62 21 #92-98); (64 21 #92-98); (88 21 #92-98); (92 21 #92-98); (190 21 #92-98); (220 21 #92-98); (282 21 #92-98); (116 20 #99-108); (118 20 #99-108); (124 20 #99-108); (146 20 #99-108); (182 20 #99-108); (200 20 #99-108); (230 20 #99-108); (288 20 #99-108); (318 20 #99-108); (390 20 #99-108);

primorials occur commonly among differences.  here are the frequencies of primorial differences among the first 100 primes, extracted from above:

(2 25 #62-66); (6 48 #6-11); (30 60 #1-1); (210 44 #14-16);

I knew in advance that primorials would be common; the motivation for this project was to see what other numbers would be common.  like primorials, the answer turned out to be smooth numbers.  finding the high frequency prime differences feels a little like decoding the music of the primes: these are the strong wavelengths and their overtones.

top differences among the first 1000 odd primes 3 through 7927:

(210 521 #1-1); (420 496 #2-2); (630 486 #3-3); (330 468 #4-4); (840 467 #5-5); (30 454 #6-6); (1050 452 #7-7); (60 447 #8-8); (390 446 #9-9); (1260 445 #10-10); (510 444 #11-12); (660 444 #11-12); (120 442 #13-13); (90 439 #14-14); (150 435 #15-15); (570 433 #16-17); (780 433 #16-17); (180 432 #18-18); (240 431 #19-20); (1470 431 #19-20); (270 430 #21-22); (300 430 #21-22); (990 423 #23-23); (360 421 #24-24); (450 418 #25-26); (690 418 #25-26); (2310 415 #27-27); (480 412 #28-28); (84 410 #29-29); (870 409 #30-31); (1680 409 #30-31); (600 405 #32-32); (42 403 #33-36); (540 403 #33-36); (750 403 #33-36); (1170 403 #33-36); (126 402 #37-37); (930 400 #38-38); (546 399 #39-39); (462 397 #40-40); (1020 394 #41-42); (1890 394 #41-42); (720 390 #43-43); (1320 389 #44-44); (714 388 #45-48); (900 388 #45-48); (960 388 #45-48); (1140 388 #45-48); (336 386 #49-51); (924 386 #49-51); (1560 386 #49-51); (168 385 #52-53); (294 385 #52-53); (66 382 #54-54); (810 380 #55-55); (798 377 #56-57); (1650 377 #56-57); (252 376 #58-59); (1080 376 #58-59); (1230 375 #60-61); (2730 375 #60-61); (504 374 #62-63); (2100 374 #62-63); (1380 371 #64-64); (378 369 #65-67); (1200 369 #65-67); (1530 369 #65-67); (1110 368 #68-68); (1980 366 #69-69); (1092 364 #70-70); (132 361 #71-73); (1386 361 #71-73); (1440 361 #71-73); (672 360 #74-76); (966 360 #74-76); (1290 360 #74-76); (264 358 #77-80); (588 358 #77-80); (858 358 #77-80); (1410 358 #77-80); (204 357 #81-81); (78 356 #82-82); (156 355 #83-84); (396 355 #83-84); (198 354 #85-86); (1350 354 #85-86); (1500 353 #87-91); (1590 353 #87-91); (1710 353 #87-91); (1860 353 #87-91); (2040 353 #87-91); (756 351 #92-92); (882 350 #93-94); (1950 350 #93-94); (234 349 #95-95); (1620 348 #96-97); (2520 348 #96-97); (306 347 #98-98); (102 345 #99-100); (1740 345 #99-100);

primorials 1000:

(2 174 #890-897); (6 343 #103-106); (30 454 #6-6); (210 521 #1-1); (2310 415 #27-27);

among the first 10000 odd primes 3 through 104743:

(2310 4371 #1-1); (4620 4306 #2-2); (2730 4260 #3-3); (5460 4127 #4-4); (3570 4118 #5-5); (6930 4107 #6-6); (3990 4088 #7-7); (210 4058 #8-8); (840 4057 #9-9); (420 4032 #10-11); (9240 4032 #10-11); (630 4027 #12-12); (8190 4011 #13-13); (4830 4000 #14-14); (1890 3993 #15-15); (1470 3992 #16-16); (1260 3980 #17-17); (1050 3977 #18-18); (7140 3969 #19-19); (1680 3964 #20-20); (2100 3949 #21-22); (11550 3949 #21-22); (2940 3923 #23-23); (2520 3917 #24-24); (7980 3908 #25-25); (4290 3902 #26-26); (3150 3897 #27-27); (10920 3886 #28-28); (3780 3878 #29-29); (6090 3876 #30-30); (6510 3873 #31-31); (4200 3866 #32-32); (3360 3865 #33-33); (4410 3855 #34-34); (5040 3832 #35-35); (13860 3820 #36-36); (10710 3815 #37-37); (7770 3800 #38-38); (5250 3795 #39-39); (8610 3774 #40-40); (5670 3769 #41-41); (9660 3760 #42-42); (330 3759 #43-43); (5880 3750 #44-44); (660 3746 #45-45); (9030 3744 #46-46); (6300 3740 #47-48); (13650 3740 #47-48); (11970 3732 #49-49); (6720 3725 #50-50); (5610 3717 #51-51); (1320 3699 #52-53); (1980 3699 #52-53); (1170 3698 #54-54); (8580 3694 #55-55); (7350 3691 #56-56); (990 3689 #57-58); (9870 3689 #57-58); (390 3686 #59-59); (1650 3678 #60-60); (16170 3676 #61-61); (7560 3672 #62-62); (9450 3665 #63-63); (780 3655 #64-64); (1560 3653 #65-65); (6270 3652 #66-66); (14280 3649 #67-67); (16380 3648 #68-68); (6630 3646 #69-69); (8400 3645 #70-70); (12180 3642 #71-71); (8820 3631 #72-72); (2640 3626 #73-73); (2970 3625 #74-74); (11130 3614 #75-75); (18480 3611 #76-76); (7590 3603 #77-77); (3300 3602 #78-78); (1950 3593 #79-79); (3630 3590 #80-80); (3960 3588 #81-81); (10080 3587 #82-82); (14490 3582 #83-83); (570 3569 #84-85); (12390 3569 #84-85); (510 3567 #86-87); (13020 3567 #86-87); (1020 3564 #88-88); (10500 3563 #89-89); (10290 3555 #90-90); (7410 3550 #91-91); (1530 3547 #92-93); (2340 3547 #92-93); (19110 3545 #94-94); (12870 3538 #95-95); (3120 3537 #96-96); (11340 3535 #97-97); (5280 3534 #98-98); (11220 3531 #99-99); (1140 3530 #100-100);

primorials 10000:

(2 1270 #12834-12857); (6 2538 #1642-1643); (30 3449 #127-127); (210 4058 #8-8); (2310 4371 #1-1); (30030 3388 #167-167);

among the first 100000 odd primes 3 through 1299721 (there are no tied ranks):

(30030 38434 #1-1); (60060 37316 #2-2); (39270 37286 #3-3); (43890 36759 #4-4); (90090 36420 #5-5); (2310 36322 #6-6); (46410 36284 #7-7); (4620 36262 #8-8); (53130 36158 #9-9); (6930 36066 #10-10); (51870 36020 #11-11); (9240 35993 #12-12); (11550 35969 #13-13); (78540 35896 #14-14); (13860 35712 #15-15); (18480 35670 #16-16); (16170 35633 #17-17); (20790 35610 #18-18); (2730 35540 #19-19); (23100 35511 #20-20); (5460 35496 #21-21); (87780 35451 #22-22); (25410 35331 #23-23); (27720 35303 #24-24); (8190 35295 #25-25); (120120 35267 #26-26); (10920 35210 #27-27); (66990 35191 #28-28); (71610 35161 #29-29); (32340 35117 #30-30); (13650 35089 #31-31); (16380 35088 #32-32); (36960 35087 #33-33); (19110 35079 #34-34); (62790 35075 #35-35); (34650 35049 #36-36); (41580 34959 #37-37); (3570 34795 #38-38); (92820 34772 #39-39); (21840 34762 #40-40); (117810 34719 #41-41); (46200 34712 #42-42); (32760 34685 #43-43); (7140 34668 #44-44); (24570 34663 #45-45); (48510 34661 #46-46); (27300 34622 #47-47); (50820 34585 #48-48); (10710 34583 #49-49); (67830 34527 #50-50); (150150 34489 #51-51); (3990 34457 #52-52); (55440 34419 #53-53); (7980 34391 #54-54); (38220 34348 #55-55); (17850 34342 #56-56); (35490 34340 #57-57); (79170 34320 #58-58); (57750 34315 #59-59); (85470 34300 #60-60); (14280 34292 #61-61); (106260 34273 #62-62); (40950 34187 #63-63); (43680 34175 #64-64); (62370 34134 #65-65); (103740 34117 #66-66); (11970 34112 #67-67); (21420 34086 #68-68); (64680 34063 #69-69); (84630 34039 #70-70); (4830 34028 #71-71); (19950 34018 #72-72); (15960 34008 #73-73); (69300 33972 #74-74); (94710 33948 #75-75); (99330 33928 #76-76); (24990 33921 #77-77); (9660 33906 #78-78); (131670 33903 #79-79); (49140 33898 #80-80); (73920 33833 #81-81); (28560 33827 #82-82); (23940 33808 #83-83); (54600 33771 #84-84); (32130 33719 #85-85); (82110 33715 #86-86); (14490 33706 #87-87); (27930 33688 #88-88); (76230 33655 #89-89); (6510 33641 #90-90); (31920 33566 #91-91); (80850 33564 #92-92); (83160 33557 #93-93); (6090 33555 #94-94); (65520 33532 #95-95); (35700 33523 #96-96); (57330 33518 #97-97); (19320 33511 #98-98); (12180 33503 #99-99); (24150 33491 #100-100);

primorials 100000:

(2 10250 #158826-158865); (6 20472 #20178-20185); (30 27434 #2003-2003); (210 32719 #161-161); (2310 36322 #6-6); (30030 38434 #1-1); (510510 25233 #5165-5165);

among the first 1000000 (10^6) odd primes 3 through 15485867 (there are no tied ranks):

(510510 340191 #1-1); (570570 335991 #2-2); (30030 331644 #3-3); (60060 330432 #4-4); (120120 329009 #5-5); (690690 328971 #6-6); (90090 328938 #7-7); (150150 327747 #8-8); (180180 327518 #9-9); (1021020 326622 #10-10); (210210 326022 #11-11); (240240 325472 #12-12); (270270 324716 #13-13); (746130 324257 #14-14); (300300 323675 #15-15); (39270 323557 #16-16); (330330 322956 #17-17); (78540 322560 #18-18); (360360 322340 #19-19); (390390 321814 #20-20); (1141140 321719 #21-21); (117810 321414 #22-22); (43890 321349 #23-23); (870870 321329 #24-24); (420420 321016 #25-25); (157080 320339 #26-26); (450450 319941 #27-27); (87780 319841 #28-28); (480480 319488 #29-29); (196350 319001 #30-30); (131670 318880 #31-31); (930930 318868 #32-32); (235620 318821 #33-33); (46410 318065 #34-34); (540540 317717 #35-35); (274890 317417 #36-36); (175560 317340 #37-37); (53130 317215 #38-38); (903210 316926 #39-39); (600600 316875 #40-40); (219450 316635 #41-41); (92820 316210 #42-42); (106260 315973 #43-43); (314160 315965 #44-44); (353430 315806 #45-45); (630630 315502 #46-46); (263340 315340 #47-47); (660660 315117 #48-48); (139230 314979 #49-49); (392700 314930 #50-50); (51870 314922 #51-51); (881790 314887 #52-52); (159390 314726 #53-53); (1531530 314692 #54-54); (185640 314104 #55-55); (307230 313971 #56-56); (66990 313959 #57-57); (103740 313791 #58-58); (1111110 313519 #59-59); (720720 313463 #60-60); (431970 313352 #61-61); (212520 313175 #62-62); (71610 313060 #63-63); (232050 312817 #64-64); (351120 312815 #65-65); (155610 312760 #66-66); (1381380 312727 #67-67); (750750 312487 #68-68); (471240 312399 #69-69); (780780 312344 #70-70); (133980 312153 #71-71); (395010 312101 #72-72); (1009470 312069 #73-73); (62790 311718 #74-74); (810810 311601 #75-75); (265650 311572 #76-76); (143220 311541 #77-77); (278460 311218 #78-78); (549780 311013 #79-79); (207480 310874 #80-80); (85470 310859 #81-81); (840840 310762 #82-82); (438900 310691 #83-83); (318780 310577 #84-84); (324870 310469 #85-85); (200970 310404 #86-86); (482790 310057 #87-87); (589050 309915 #88-88); (94710 309757 #89-89); (125580 309724 #90-90); (259350 309485 #91-91); (371280 309413 #92-92); (1231230 309364 #93-93); (214830 309355 #94-94); (371910 309351 #95-95); (900900 309325 #96-96); (99330 309314 #97-97); (628320 309159 #98-98); (170940 308915 #99-99); (526680 308795 #100-100);

primorials 1000000:

(2 86027 #1894840-1894883); (6 170910 #250608-250620); (30 228548 #26112-26114); (210 274349 #2118-2118); (2310 305046 #144-144); (30030 331644 #3-3); (510510 340191 #1-1); (9699690 141233 #642368-642376);

among the first 10^6 primes after 10^10, namely from 10^10+19 through 10^10+23010139 (there are no tied ranks):

(510510 232043 #1-1); (570570 230166 #2-2); (1021020 226921 #3-3); (690690 225737 #4-4); (1141140 224221 #5-5); (746130 222868 #6-6); (60060 221915 #7-7); (870870 221831 #8-8); (30030 221797 #9-9); (150150 221644 #10-10); (1531530 221466 #11-11); (90090 221355 #12-12); (210210 221315 #13-13); (120120 221255 #14-14); (930930 220820 #15-15); (180180 220629 #16-16); (270270 220193 #17-17); (300300 219734 #18-18); (240240 219460 #19-19); (1381380 219454 #20-20); (330330 219211 #21-21); (360360 218845 #22-22); (903210 218765 #23-23); (390390 218595 #24-24); (420420 218552 #25-25); (881790 218101 #26-26); (480480 218059 #27-27); (1111110 217837 #28-28); (450450 217779 #29-29); (1711710 217739 #30-30); (39270 217635 #31-31); (540540 217338 #32-32); (2042040 217082 #33-33); (600600 216622 #34-34); (630630 216617 #35-35); (78540 216501 #36-36); (117810 216404 #37-37); (1009470 216351 #38-38); (1231230 216241 #39-39); (720720 216045 #40-40); (196350 215994 #41-41); (157080 215829 #42-42); (43890 215797 #43-43); (660660 215533 #44-44); (235620 215460 #45-45); (1492260 215392 #46-46); (1291290 215335 #47-47); (750750 215144 #48-48); (780780 214788 #49-49); (274890 214773 #50-50); (810810 214767 #51-51); (131670 214740 #52-52); (87780 214737 #53-53); (314160 214733 #54-54); (840840 214580 #55-55); (353430 214368 #56-56); (1138830 214271 #57-57); (900900 214269 #58-58); (175560 213720 #59-59); (219450 213694 #60-60); (1741740 213676 #61-61); (46410 213530 #62-62); (392700 213441 #63-63); (307230 213434 #64-64); (1217370 213430 #65-65); (1067430 213417 #66-66); (431970 213342 #67-67); (263340 213308 #68-68); (960960 213186 #69-69); (92820 213075 #70-70); (471240 213069 #71-71); (1411410 213067 #72-72); (351120 212893 #73-73); (53130 212760 #74-74); (589050 212729 #75-75); (990990 212645 #76-76); (2072070 212598 #77-77); (159390 212486 #78-78); (139230 212460 #79-79); (106260 212415 #80-80); (1051050 212366 #81-81); (395010 212241 #82-82); (549780 212217 #83-83); (1272810 212202 #84-84); (2282280 212191 #85-85); (1081080 212140 #86-86); (185640 212057 #87-87); (1861860 211670 #88-88); (51870 211619 #89-89); (1591590 211566 #90-90); (628320 211537 #91-91); (265650 211535 #92-92); (212520 211497 #93-93); (232050 211469 #94-94); (324870 211438 #95-95); (1171170 211347 #96-96); (438900 211271 #97-97); (482790 211263 #98-98); (278460 211262 #99-99); (1201200 211197 #100-100);

primorials at 10^10:

(2 57382 #2903318-2903469); (6 114833 #392781-392814); (30 152755 #45239-45242); (210 183875 #3655-3655); (2310 204068 #307-307); (30030 221797 #9-9); (510510 232043 #1-1); (9699690 145066 #85780-85787);

among the first 10^6 primes after 10^100, namely 10^100+267 through 10^100+230441007:

(9699690 24034 #1-1); (11741730 23765 #2-2); (1531530 23622 #3-3); (1021020 23590 #4-4); (2282280 23564 #5-5); (3063060 23542 #6-6); (2552550 23519 #7-7); (510510 23497 #8-8); (2042040 23482 #9-9); (1141140 23475 #10-10); (570570 23462 #11-11); (1711710 23418 #12-12); (3423420 23406 #13-13); (690690 23388 #14-14); (3573570 23324 #15-15); (4594590 23270 #16-16); (4564560 23239 #17-18); (13123110 23239 #17-18); (4084080 23237 #19-19); (1381380 23115 #20-21); (5705700 23115 #20-21); (3993990 23109 #22-22); (6276270 23090 #23-23); (2852850 23083 #24-24); (14804790 23037 #25-25); (4144140 23006 #26-26); (870870 22993 #27-27); (6636630 22968 #28-28); (7147140 22960 #29-29); (6126120 22948 #30-30); (8678670 22946 #31-31); (5135130 22937 #32-32); (7417410 22929 #33-33); (2072070 22922 #34-34); (5615610 22916 #35-35); (19399380 22908 #36-36); (15825810 22900 #37-37); (6846840 22887 #38-38); (2984520 22881 #39-39); (746130 22880 #40-40); (7987980 22858 #41-41); (7657650 22852 #42-42); (3730650 22843 #43-43); (2238390 22838 #44-44); (6216210 22837 #45-45); (3453450 22835 #46-46); (1741740 22821 #47-47); (9189180 22820 #48-48); (4834830 22799 #49-49); (1111110 22790 #50-50); (930930 22756 #51-51); (2762760 22747 #52-52); (5105100 22735 #53-54); (8168160 22735 #53-54); (5222910 22732 #55-55); (3723720 22713 #56-56); (1411410 22709 #57-57); (5969040 22708 #58-58); (2792790 22703 #59-59); (10840830 22702 #60-60); (2612610 22696 #61-61); (1231230 22693 #62-62); (6906900 22674 #63-63); (3333330 22672 #64-64); (903210 22667 #65-65); (1492260 22640 #66-66); (1591590 22625 #67-67); (8288280 22624 #68-68); (2222220 22623 #69-69); (4444440 22619 #70-70); (16546530 22607 #71-71); (9129120 22587 #72-72); (4354350 22586 #73-74); (5585580 22586 #73-74); (3483480 22577 #75-75); (1861860 22575 #76-76); (10720710 22566 #77-77); (5225220 22565 #78-78); (2645370 22551 #79-79); (7597590 22542 #80-80); (8558550 22538 #81-81); (5525520 22537 #82-82); (12252240 22534 #83-83); (10210200 22526 #84-84); (60060 22512 #85-86); (11231220 22512 #85-86); (881790 22510 #87-87); (12762750 22500 #88-88); (1009470 22485 #89-89); (2132130 22482 #90-90); (13783770 22472 #91-91); (1291290 22468 #92-92); (1806420 22457 #93-94); (2709630 22457 #93-94); (2277660 22456 #95-95); (2582580 22448 #96-96); (2822820 22447 #97-97); (4654650 22446 #98-98); (2492490 22435 #99-99); (11981970 22425 #100-100);

primorials at 10^100:

(2 5767 #28706071-28717948); (6 11484 #3922267-3924636); (30 15466 #384556-384851); (210 18481 #32555-32582); (2310 20373 #3393-3398); (30030 22276 #135-135); (510510 23497 #8-8); (9699690 24034 #1-1); (223092870 815 #102930136-102945303);

future work: 10^1000.

Tuesday, February 11, 2025

[csfodywt] filling the gaps between powers of 2

the integer sequence 3*2^n fits nicely between the gaps between powers of 2.

the sequence 5*2^n fits nicely in the largest gaps (on log scale) in the union of the sequences 2^n and 3*2^n.

the sequence 7*2^n fits nicely in the next largest gaps remaining.

the sequence 9*2^n fits nicely in the next largest gaps remaining.

and so on, with consecutive odd numbers as the multipliers.  verified up to multiplier 19999.

hand-wavy proof: each new odd number ODD*2^0 has not been used in any of the previous sequences, and it sits halfway in between two consecutive even numbers already used.  then, this pattern of nicely "halfway in between" then repeats with everything increased by a factor of 2.

this seems practically useful when you want an exponentially growing integer sequence but do not know a priori how dense you want it.  previously, constructing exponential integer sequences without all terms having easy (smooth) factorizations.

Saturday, February 08, 2025

[dsgmjgue] best pitcher vs best batter

at the end of a season, determine the pitchers and batters who are good by some statistic (in opposing ways) and compile a highlight reel of at bats when they faced each other that season.

strikeouts vs best at avoiding striking out.  low ERA vs high RBI.  few home runs vs many home runs (devil in the details in defining few and many).  catching steals vs stolen bases.

Thursday, February 06, 2025

[iwuqpzmp] Max Oy Vey

is not the most right way to pronounce world chess champion "Max Euwe", but neither is it the most wrong: "Max You".

[lwlazfcq] yuppie Nuremberg offense

set yourself up with a mortgage and mouths to feed, so that you may do the horrible thing that you want to do.

(expanding from "yuppie Nuremberg defense".)

Wednesday, January 29, 2025

[uwyfatlb] golden portions of an hour

60/37 = 1.621621 is a good approximation to phi, the golden ratio, and 60 and 37 are nicely relatively prime.  below are multiples of 37 mod 60, creating a permutation of 0-59.

(the repeat period of the decimal expansion of 1/37 is 3 because 37*27 = 999.)

motivation was cronjobs to be run on a specified minute once an hour.  which minute?  different jobs should be assigned different minutes, and they should be spread out, even if we do not know in advance how many jobs there will be.

? for(i=0, 59, print(i" ", (37*i)%60))

0 0
1 37
2 14
3 51
4 28
5 5
6 42
7 19
8 56
9 33
10 10
11 47
12 24
13 1
14 38
15 15
16 52
17 29
18 6
19 43
20 20
21 57
22 34
23 11
24 48
25 25
26 2
27 39
28 16
29 53
30 30
31 7
32 44
33 21
34 58
35 35
36 12
37 49
38 26
39 3
40 40
41 17
42 54
43 31
44 8
45 45
46 22
47 59
48 36
49 13
50 50
51 27
52 4
53 41
54 18
55 55
56 32
57 9
58 46
59 23

previously, logarithmically evenly spaced portions of 60, when you know in advance how many portions.

[gyrlrjpy] enumerating monotonic colorings of hypercubes in an integer hyperbrick

consider a brick in N dimensions composed of unit hypercubes.  for example, let N=3.  each unit cube is labeled 0 or 1, subject to the following monotonicity constraints:

  1. let A = (a[1], a[2], a[3]) be the coordinates of one unit cube and B = (b[1], b[2], b[3]) be the coordinates of another unit cube.  if for all i in {1,2,3}, a[i] <= b[i], then it must not be the case that the label at A is 1 and the label at B is 0.
  2. Similarly, if A >= B, then it must not be the case that A = 0 and B = 1.

is constraint 2 necessary, or does it logically follow from 1 ?

how many valid labelings of the cubes in the brick are there?

I suspect the number is much less than total number of possible unconstrained labelings.  what is a compact way of describing a coloring, more compact than giving the label of every unit cube?

inspired by trying to generalize Conway's Game of Life cellular automata to 3D.  let neighbors through a corner of a cell, edge, and face each contribute a different amount of influence to the "number of neighbors" a cell has.  we want more generality than a weighted sum, but we want to keep rules to be monotonic: for example, if a threshold has been crossed for "too many neighbors", then it remains crossed for "more" neighbors.  (previously, 2D.)  in 3D, there can be 0 to 8 corner neighbors, 0 to 12 edge, and 0 to 6 face.  these together which define a 9 x 13 x 7 brick.  label each of its 819 unit subcubes "OK" or "too crowded".  without the monotonicity constraints, there are 2^819 possible labelings, far too large to evaluate all of them by brute force.

2D: 5 x 5 brick (0 ... 4 edge neighbors and corner neighbors), so 2^25 = 32 million unconstrained labelings.  counting those which satisfy the monotonicity constraints can be done by brute force.  finding those which yield "good" cellular automata is harder.

future work: 3 labels for unit cubes: "too isolated", "OK", "too crowded".  we need to come up with a new definition for monotonicity among the 3 ordered labels, probably not difficult.  a second brick describing births from dead cells.  perhaps constrain the conditions suitable for birth to be a subset of conditions suitable for life.

Tuesday, January 28, 2025

[dhjhjybn] semitransparent pawns

chess variant: ranged pieces can travel through pawns of their own color.

1.Rxa7, etc. become valid opening moves, perhaps problematic.

motivation was to support chess variants with more pawns (the soul of chess), possibly on larger boards.  but more pawns, say two rows of pawns in front of pieces, would make it difficult for pieces behind them to get into the action.

more pawns would also make it difficult to create flight squares for the king.  therefore, consider letting the king clobber pawns of its own color.

consider a rook facing a rook with one intervening pawn.  the asymmetry that one rook attacks the other but the other cannot attack back is unsatisfying.  modified variant: when a ranged piece travels through pawns of its own color, it may not capture.

3 or more rows of pawns interfere with knight development.

multiple occupancy is another way for pieces to get through a crowd of pawns.

another variant: ranged pieces can travel through any pieces (not just pawns) of their own color.

Wednesday, January 22, 2025

[uuwzuzas] alphabet of 40 to 50 letters

are there any languages written with an alphabet which has at least one distinct letter per phoneme?

maybe Thai or Korean (Hangul).

by some counts, English has about 44 phonemes, so definitely not English, also evidenced by digraphs such as SH needed to represent phonemes not representable by any single letter.

it is OK to have more letters than phonemes, perhaps for lossless transliteration to and from another language.  Thai does this for Sanskrit.  English similarly has C and K and CK and Q; C and S; F and PH; and X and KS and CKS; and J and ZH, for etymological reasons.

with English doing digraphs and more to signify different sounds, and other languages that use the Latin alphabet adding all sorts of diacritical marks, it is clear that the Latin alphabet is insufficient.  the Romans must have known this, perhaps noticing difficulties in transliterating Greek theta, chi, and others (avoid collision between filia and philia).  it is surprising that some emperor did not try to fix the alphabet by fiat; instead, we and a huge chunk of the world are stuck with the shortcomings of the Latin alphabet and the various gymnastics that we have to do to encode more sounds than letters.

[tomadlfa] period-doubling binary tree fractal

consider the axis-aligned square between (0,0) and (4,4).  we will draw a binary tree inside this box.

the root node is centered on the top edge, at (2,4).  draw an edge from the root to one child at (1,2) and another edge from the root to the other child at (3,2).

next, create two copies of the box so far shrunk linearly by a factor of 2.  place one between (0,0) and (2,2), and the other between (2,0) and (4,2).  the children of the large box become the roots of the small boxes.

repeat recursively, producing an infinite binary tree in finite space.  (this is an example of an iterated function system (IFS).)

inspired by the period-doubling logistic fractal, which requires a lot of computation to produce nice images.  this is easier.

perhaps scale things so that the scale factor is not 2 but the Feigenbaum constant.

instead of straight lines, consider semicircles.  it will look like arches built on arches, a design seen in Roman aqueducts.  or, not semicircles but catenaries.

[xoukpkha] global curvature of square fundamental polygons

a square (or rectangle) fundamental polygon is good for 2D games.

previously on the various spaces (manifolds) that a fundamental polygon can represent, depending on how its edges are defined to behave.

do weird things happen at the corners of the square fundamental polygon for an objects larger than a point (e.g., a sprite) moving around the space?

sphere: Y
torus: N
real projective plane: Y
Klein bottle: N
cylinder: N
Moebius strip: N
hemisphere: Y
square: N

things are not weird if the neighborhood around corners behaves like flat (Euclidean) space.  investigate by tracing a small circle around each corner.  in flat space, we expect a 360-degree circle.  in the answers above, Y = (weird things happen at corners; there is global or total curvature; small circles are less than 360 degrees); N = (corners behave like flat space; circles are 360 degrees).

if you have a fundamental polygon with more edges than a square, e.g., hexagon, you can probably get small circles larger than 360 degrees, some sort of hyperbolic space.  you might be able to get some corners with positive curvature that cancel out other corners with negative curvature for zero global curvature.  but it would still be awkward for games, because local curvature is what we care about for rendering sprites.

even though weird things happen at corners of sphere, projective plane, and hemisphere when drawn as a square fundamental polygon, they are all manifolds (locally Euclidean), so there are other ways of depicting them so that small circles remain approximately small circles throughout, smearing the curvature or weirdness throughout the surface.

or, just put an obstacle over the weird points.

[ufvwbbvz] Predator vs. Native Americans

Prey (2022) presented a neat concept.  fanfic, attempting to improve (despite not having watched the movie):

backstories, not sure what order they should go in.

Predator hunts a grizzly bear.  Predator struggles mightily but is victorious.  (because grizzly bears are monstrously strong, monumentally tough animals.)  (mostly unrelated comment from elsewhere: is it wrong to root for the bear in The Revenant?)  depower Predator as necessary so that the fight is close: Predators of this era have yet to develop all the technologies seen in the 1987 film.  it takes its hard-won bear skull as a trophy.

a Comanche hunting group hunts anything but a bear (that comes later).  the group is mostly male and is lead by a male, but the protagonist, Naru, is one of several female hunters in the group.  the group treats the inclusion of females as completely unremarkable.  Naru demonstrates extraordinary skill.  the hunting group leader retires.  the tribe chooses Naru to be their new hunting leader by universal acclamation based on respect for her skill.

the retired hunting group leader mentors Naru on leadership and teaches her more hunting wisdom.  this all establishes context that the group functions well, including transferring knowledge.  perhaps there is a little bit of gender commentary: the elders note that it has been many generations since the hunting group has been lead by a female, but it is not without precedent.  it has been foretold that when a female rises to leader, something special will happen.

Naru leads the group to hunt a grizzly bear, because reasons.  unlike Predator's earlier struggle, the Comanche are efficient and effective.  they use teamwork; they use terrain to their advantage; they anticipate the grizzly's behavior; they get maximum effectiveness out of their weapons and technology.  the grizzly never stands a chance.  perhaps Predator in camouflage witnesses the hunt.  perhaps this is the moment it decides that humans, not grizzlies, (not xenomorphs), are the most worthy opponents on the planet, or in the universe.

the Comanche take and use all parts of the grizzly.

despite having killed the grizzly smoothly, Naru reviews the hunt, identifies weaknesses and inefficiencies, and works -- leads -- at correcting and improving them.  the contrasting grizzly hunts foreshadow that the Comanche are going to win the plot-inevitable battle against Predator.  perhaps the audience even wonders how badly Predator is going to get destroyed by this well functioning hunting team.

(this mirrors the setup of the 1987 film.  Predator did not go up against a random group of humans, but rather a competent military team.)

Predator goes (FTL is involved) and gets some tech upgrades, so maybe it won't be defeated so badly.  the upgraded Predator steps off its ship and the showdown begins, or so it believes.

surprise, the Comanche, in part through Naru's extraordinary perception, have already long been aware of Predator, both from the obvious clue of the decapitated abandoned bear carcass from earlier, and through using their tracking skills to discern Predator's presence, behavior, abilities, and habits, despite its camouflage.  this was one of the reasons Naru pushed her team to keep getting better, even though their grizzly hunt had been a walk in the park.  they have already deduced much about Predator despite no direct interaction.  perhaps they have modified the environment to their advantage, constructing traps.

surprise, one of the first things the Comanche do is disable Predator's ship, having deduced its existence, capabilities, and weaknesses.  Predator is now trapped on the planet.  both parties must now kill or be killed.  who is predator?  who is prey?  title card drop.

action happens, the Comanche win, yay.  legacy, denouement, etc.

perhaps a subplot about even though hunting is glorious, killing kills a little bit of your soul each time.

post-credits humor: Predator has an easy time killing idiotic French fur traders in Rube Goldberg-style human traps.

meta gender commentary: is it better to depict a world functioning well without gender discrimination, or a world with discrimination but women battling it and succeeding?  our fanfic does the first, original Prey did the second.  (Star Trek did the first and was lauded for it.)  in original Prey, the protagonist having to simultaneously fight the patriarchy and Predator, and succeeding against both stretches credulity.  but our fanfic invites accusations of Mary Sue (future post ihbpggqd).

[kufstdwm] alpha-beta with transposition table as a library function

transposition table is the other elegant improvement to minimax (after alpha-beta): elegant in principle, hairy to implement in practice.

consider a generic implementation of alpha-beta game tree search with transposition table, generic enough to be applicable to any user-specified game.  what should be its API?  what features should it provide?

evaluate to infinite depth (possible because of transposition table), returning game value and line (principal variation).  intended for small games.

return the transposition table so that it can be reused for subsequent moves.

evaluate to given depth.  or, user-specified predicate of whether to stop searching, e.g., quiescence search.  quiescence search wants access to the transposition table.

ambitious: because of the many ways game tree search can be customized (for many examples, albeit often poorly described, see the chessprogramming wiki), structure the algorithm as a collection components each of which can be modified and hooked together in various ways.  I have no idea what language or framework could enable this kind of software engineering, though functional programming languages seem attractive as the first thing to try.  but beware that a pure functional programming language such as Haskell easily leaks space for this kind of task, and threading state, the transposition table, though the computation may be awkward.

common customizations sacrifice accuracy (correctness or completeness) for speed.  for example, if two different evaluated positions have the same key (for example, a 64-bit Zobrist hash in chess), one can optimize by doing no transposition table collision resolution; the second position gets ignored, assumed to have already been evaluated.  the default algorithm should not do such optimizations but should allow the user to specify both safe and unsafe optimizations.

allow the search to be augmented with various statistics gathered along the way that get consumed by other user-specified parts of the algorithm.  for example, the move generator could order moves based on values of similar moves already evaluated in other parts of the tree.

provide visibility into how user customizations are working, ways to evaluate whether or not they are worth it.

Tuesday, December 31, 2024

[pxpkjwva] adult animal play

among animals that play, how much less play do the adults do than the young?  (how to quantify amount of play?)  how does the seemingly dramatic decrease in play by adult humans compare with other animals?

is it only animals that play?

Sunday, December 29, 2024

[ahlvcwcw] factoring while you wait

on a modern computer, Pari/GP can usually factor RSA-style numbers (the worst case for factoring) of 60 digits (199 bits) in 30 seconds or less, subjectively the limit for human interactive patience.  factoring algorithms are probabilistic (randomized), so there is no hard upper bound to "usually".

74 digits (246 bits) usually takes under 5 minutes (300 seconds).  with improvements in software and parallel processing (SMP) (Pari/GP's ECM and MPQS are single-threaded), one could imagine getting getting 74-digits down to under 30 seconds.

previously, standard deviation.

[mchseqdd] gluing together CRF

"Convex Regular Faced" is usually applied to polytopes in 4D and above, but it is a useful term for 3D as well, subsuming the Platonic solids, Archimedean solids, the pyramids, prisms, and antiprisms that are uniform polyhedra, and the Johnson solids.

consider a finite subset of CRF polyhedra whose faces have 3, 4, 5, 6, 8, or 10 sides.  these are all the faces seen in the finite categories (not the pyramids, prisms, or antiprisms).  (it is a little surprising that the regular dodecagon is seen only in the infinite categories.)

consider a further subset: eliminate polyhedra which can be constructed by pasting together two or more other polyhedra in this set (pasting only matching faces).  inspired by the partition of Johnson solids between those which can be constructed by "cut and paste" and those which are "elementary".  we seek the elementary CRF polyhedra.

for example, the regular octahedron is eliminated because it can be constructed from two square pyramids glued base to base, and square pyramids are CRF.

is there a unique minimal set?

these elementary polyhedra (replicated as many times as needed) might be a fun set of building blocks.  how should faces physically attach?  given a not-necessarily convex arrangement of them glued by matching faces, determine whether the solid intersects itself.

[cvxwtsvp] irrationality of phobias and philias

phobia: irrational fear of the unfamiliar.

philia: irrational lack of fear of the familiar.  (this definition is a bit of a stretch.)

when is either irrational?  quantify how irrational.

[eaylckiu] specific Turing Test

variations on the classic artificial intelligence task of mimicking a specific human (the Target) while being questioned by an Interrogator:

with or without the Target's prior cooperation.

with or without the Interrogator suspecting they might be interacting with an AI; i.e., is it an adversarial interrogation?

communication medium could be text, audio, or audiovisual.

AI getting good at mimicking a human in full audio and video ("deepfakes") will cause problems with remote authentication.  (such AI will break one method of establishing identity in porn, now used by many sites.)  such AI seems likely to be accessible to normal people in the near future.  like any other tool, AI can be used for good or evil.  good: you could have an avatar.

previously, transmitting a program of a person.

[gjtpxkjd] cuddle positions

both people lying on their side, next to each other.  4 possibilities: big spoon, little spoon, face to face, back to back.  we do not count mirror images (who is on which side), even though maybe we should because which hand is free (the dextrous one or not) might matter for touching activities in cuddle.

bodies stacked vertically, each person facing up or down: 8 possibilities.

the above do not consider variations of where the legs go (future post tiohqbtv).

one person on their front or back, other person on their side facing in: 4 possibilities.

one person on their back, knees up and legs resting on top of other person's legs, other person on their side facing in, legs underneath the other person's knees: 2 possibilities.  we do consider legs (distinguishing from the above 4) because they make a big difference on how the position feels -- here, the person on their back feels very much on top.  the person on their side gets good access with their free arm to the other person's genitals.

below are some more, similar in spirit to side-by-side back-to-back counted above.  possibly less exciting, but mere physical contact can be entertaining.

one person on their front or back, other person on their side facing away: 4 possibilities.

one person on their front or back, other person on their front or back, side by side: 4 possibilities.

26 total.  perhaps they can be mapped to letters of the alphabet.

not considering non-parallel bodies or bodies not aligned head to toe, for example, 69.

Wednesday, December 25, 2024

[kduuqcjf] ring modulo i^3 + i^2 + i + 1

previously, a commutative ring with reduction polynomial i^3+1.  this time, the polynomial (i^4-1)/(i-1) = i^3 + i^2 + i + 1 because of its distinctive form.  note that the polynomial has root i = -1, so it is not a field. (dividing through further by (i+1) would result in i^2 + 1, the cyclotomic polynomial of order 4, which yields the field of complex numbers.  in general, dividing through by "all" factors yields a cyclotomic field, where "all" requires clarification.)

denote a ring element a + b*i + c*i^2 as (a,b,c).  here is how to do multiplication and division:

(a,b,c) * (d,e,f) = (a*d - b*f - c*e + c*f , a*e + b*d - b*f - c*e , a*f + b*e - b*f + c*d - c*e)

1/(a,b,c) = ( (a^2 - a*b - a*c + b^2)/denominator , -b/(a^2 + b^2 + c^2 - 2*a*c) , (b^2 + c^2 - a*c - b*c)/denominator )
where denominator = (a - b + c) * (a^2 + b^2 + c^2 - 2*a*c) = a^3 - a^2*b - a^2*c + a*b^2 + 2*a*b*c - a*c^2 - b^3 + c*b^2 - c^2*b + c^3

the middle component of reciprocal does not have the same denominator because of fortuitous cancellation by (a - b + c).  if a - b + c = 0, equivalently b = a + c, then the other terms become division by zero, making the whole thing undefined.  because there are numbers not equal to zero which do not have reciprocals, this is not a field.

the numbers that do not have reciprocals are the multiples of the factors of the reduction polynomial.  multiples of (i+1) = (1, 1, 0) yield the family (a, a+c, c) seen above.  multiples of (i^2+1) yield the family (a, 0, a) which also does not have reciprocals.

how to get the multiplication formula with Pari/GP:

? mm=(i^4-1)/(i-1)
? multiplication = Mod(a+b*i+c*i^2, mm) * Mod(d+e*i+f*i^2, mm)
? polcoeff(lift(multiplication), 0, i)
? polcoeff(lift(multiplication), 1, i)
? polcoeff(lift(multiplication), 2, i)

can multiplication in this ring be computed with fewer scalar multiplications like the way the Karatsuba algorithm speeds up complex multiplication?

[aeuwpoaz] graphs from points

minimum spanning tree, Delaunay triangulation, traveling salesman path, traveling salesman circuit, Euclidean Steiner tree.

on a plane, sphere, flat torus, flat Klein bottle.

(it feels strange to call it the Euclidean Steiner Tree problem when on a non-Euclidean manifold such as a sphere.  however, we do need the modifier to specify the problem is about points in space and not the Steiner Tree problem on graphs.)

3D: Delaunay is no longer a triangulation but a graph, the dual of Voronoi as it always is.

in 3D space, 3D flat torus, 3-sphere.

[kgirkrmu] fail deadly

"when in doubt, launch nukes.  your superiors will deal with the fallout."

(scenario (but not the pun) depicted in the 1964 movie ironically named Fail Safe.)

this order must exist (perhaps implicitly) in nuclear launch protocols, because nothing is truly certain in reality; there is (in reality, though perhaps not the mind of the operator pushing the button) always some doubt.  quantify how much the order exists: uncertainty (as a probability) must be less than P.

[tazlfpka] business school is finishing school for men who can't do math

quote heard elsewhere.

not knowing anything, an employer is willing to pay a job applicant a maximum of X wage to hire them, for a job that involves math.  but upon learning they have graduated from business school, the applicant's value decreases, and the employer becomes only willing to pay them some amount less than X, because they are probably bad at math, the skill this job requires.  business school graduates might recognize this as a situation in which an MBA confers negative brand equity.

previously, the Nobel-prize-winning cynical description of business school.

[yabkkdwj] hourly rates

10/day = 0.42 / hour

100/week = 0.60 / hour

100/month = 0.14 / hour

1000/year = 0.11 / hour

powers of 10 are easy to scale to your actual threshold, budget, or next best option.

inspired by cloud computing prices.  is it better to buy a computer, or rent one for a year?

Monday, December 23, 2024

[ekxwyhnk] enumerating anisotropic fairy chess pieces

isotropy in chess piece movement is elegant, but because armies start on opposite sides and pawns can't move backwards, forward and backward movement are inherently different in chess.  shogi has this reflected in piece types, for example, the gold general which can advance diagonally but not retreat diagonally.  we enumerate possible fairy chess pieces which are left-right symmetric but not necessarily forward-backward symmetric.  previously on anisotropy.

compounds of deconstructed wazir, ferz, rook, bishop, dabbaba, strong dabbabarider, knight, and alfil.  product of two C-shaped regions around a piece.

inner C: 3^5 = 243
outer C (jumping pieces): 3^3 * 2^6 = 1728

dabbabarider, the only jumping rider we choose to include, grew the outer C from 2^9 = 512.

one can also think of it as symmetries as inducing equivalence classes among directions.

there are now 15 variations of knight (not including immobile stone) because of its 4 possible amounts of forward or backward movement.  this includes crab but not pinwheel knight.

total is 3^8 * 2^6 = 419904, a huge increase from isotropic 72.  this includes piece types which can only move backward and piece types confined to their starting rank or file.  perhaps cull these, because they seem practically (nearly) useless unless the game has drops like shogi.

raise that to the Nth power to investigate N-piece endgames.  there is a question of what pawns may promote to (future post mpyfvglu).  finding interesting positions and mechanics will be art.

Wednesday, November 20, 2024

[vyakuwax] ordered dice

roll some dice, order them by some metric independent of what number the die shows, then read off the numbers in that order.

example dice ordering metrics: color (ordering by rainbow), size, number of sides.  the last one provides a mixed-radix random number.  previously, dice with two digits on each face.

rolling a whole bunch of dice all at once is more efficient (and fun) than rolling one die repeatedly.  (more efficient until the (log n) factor of sorting dominates.)  dice collisions induce more randomness.

ordered d2: coins by value, size, or year.

ordered 30 * d20 generates 128 bits, assuming they are uniform, which is not a good assumption: d20s are likely not manufactured to high precision as casino dice are.  ordered 26d20 generates 112 bits (Triple DES): give each d20 an identifier letter.

or, a funnel which forces them single file.  cubes might be best because they pack.  funnel by itself is probably not enough.

(then, feed the sequence of random numbers into a hash function, or seed a cryptographically secure pseudorandom number generator with them.  even if the dice are a little biased, the output will be pretty random.)

Saturday, November 09, 2024

[fiijydon] Bernoulli numbers

Bernoulli numbers are mysterious, showing up in lots of places, e.g., the zeta function, the gamma function, sums of powers (Faulhaber's formula), and the Taylor expansion of the tangent function.

Bernoulli numbers of odd index are all zero except for bernoulli[1] which is +1/2 or -1/2 depending on convention.  odd index are omitted below so as not to take sides on this Holy War.

the values below were computed using the bernfrac function in Pari/GP.  the bernvec function can speed up computation but was not needed.  we give both the traditional improper fraction form and each number broken into an integer part and a proper fraction.

bernoulli[0] = 1

bernoulli[2] = 1 / 6

bernoulli[4] = -1 / 30

bernoulli[6] = 1 / 42

bernoulli[8] = -1 / 30

bernoulli[10] = 5 / 66

bernoulli[12] = -691 / 2730

bernoulli[14] = 7 / 6 = 1 + 1/6

bernoulli[16] = -3617 / 510 = -7 - 47/510

bernoulli[18] = 43867 / 798 = 54 + 775/798

bernoulli[20] = -174611 / 330 = -529 - 41/330

bernoulli[22] = 854513 / 138 = 6192 + 17/138

bernoulli[24] = -236364091 / 2730 = -86580 - 691/2730

bernoulli[26] = 8553103 / 6 = 1425517 + 1/6

bernoulli[28] = -23749461029 / 870 = -27298231 - 59/870

bernoulli[30] = 8615841276005 / 14322 = 601580873 + 12899/14322

bernoulli[32] = -7709321041217 / 510 = -15116315767 - 47/510

bernoulli[34] = 2577687858367 / 6 = 429614643061 + 1/6

bernoulli[36] = -26315271553053477373 / 1919190 = -13711655205088 - 638653/1919190

bernoulli[38] = 2929993913841559 / 6 = 488332318973593 + 1/6

bernoulli[40] = -261082718496449122051 / 13530 = -19296579341940068 - 2011/13530

bernoulli[42] = 1520097643918070802691 / 1806 = 841693047573682615 + 1/1806

bernoulli[44] = -27833269579301024235023 / 690 = -40338071854059455413 - 53/690

bernoulli[46] = 596451111593912163277961 / 282 = 2115074863808199160560 + 41/282

bernoulli[48] = -5609403368997817686249127547 / 46410 = -120866265222965259346027 - 14477/46410

bernoulli[50] = 495057205241079648212477525 / 66 = 7500866746076964366855720 + 5/66

bernoulli[52] = -801165718135489957347924991853 / 1590 = -503877810148106891413789303 - 83/1590

bernoulli[54] = 29149963634884862421418123812691 / 798 = 36528776484818123335110430842 + 775/798

bernoulli[56] = -2479392929313226753685415739663229 / 870 = -2849876930245088222626914643291 - 59/870

bernoulli[58] = 84483613348880041862046775994036021 / 354 = 238654274996836276446459819192192 + 53/354

bernoulli[60] = -1215233140483755572040304994079820246041491 / 56786730 = -21399949257225333665810744765191097 - 22298681/56786730

bernoulli[62] = 12300585434086858541953039857403386151 / 6 = 2050097572347809756992173309567231025 + 1/6

bernoulli[64] = -106783830147866529886385444979142647942017 / 510 = -209380059113463784090951852900279701847 - 47/510

bernoulli[66] = 1472600022126335654051619428551932342241899101 / 64722 = 22752696488463515559649260352769264581469 + 62483/64722

bernoulli[68] = -78773130858718728141909149208474606244347001 / 30 = -2625771028623957604730304973615820208144900 - 1/30

bernoulli[70] = 1505381347333367003803076567377857208511438160235 / 4686 = 321250821027180325182047923042649852435219411 + 289/4686

bernoulli[72] = -5827954961669944110438277244641067365282488301844260429 / 140100870 = -41598278166794710913917074495262358936689603011 - 48540859/140100870

bernoulli[74] = 34152417289221168014330073731472635186688307783087 / 6 = 5692069548203528002388345621912105864448051297181 + 1/6

bernoulli[76] = -24655088825935372707687196040585199904365267828865801 / 30 = -821836294197845756922906534686173330145508927628860 - 1/30

bernoulli[78] = 414846365575400828295179035549542073492199375372400483487 / 3318 = 125029043271669930167323398297028955241771963644484775 + 37/3318

bernoulli[80] = -4603784299479457646935574969019046849794257872751288919656867 / 230010 = -20015583233248370274925329198813298768724220132825915915 - 47717/230010

bernoulli[82] = 1677014149185145836823154509786269900207736027570253414881613 / 498 = 3367498291536437423339667690333875301621959894719384367232 + 77/498

bernoulli[84] = -2024576195935290360231131160111731009989917391198090877281083932477 / 3404310 = -594709705031354477186604968440515408405790715651069049904704 - 1058237/3404310

bernoulli[86] = 660714619417678653573847847426261496277830686653388931761996983 / 6 = 110119103236279775595641307904376916046305114442231488626999497 + 1/6

bernoulli[88] = -1311426488674017507995511424019311843345750275572028644296919890574047 / 61410 = -21355259545253501188658385019041065678973298739163469211804590304 - 5407/61410

bernoulli[90] = 1179057279021082799884123351249215083775254949669647116231545215727922535 / 272118 = 4332889698664119241961661305937920621845136851180910914498655788032 + 230759/272118

bernoulli[92] = -1295585948207537527989427828538576749659341483719435143023316326829946247 / 1410 = -918855282416693282262005552155018971389603889162719959591004487113437 - 77/1410

bernoulli[94] = 1220813806579744469607301679413201203958508415202696621436215105284649447 / 6 = 203468967763290744934550279902200200659751402533782770239369184214108241 + 1/6

bernoulli[96] = -211600449597266513097597728109824233673043954389060234150638733420050668349987259 / 4501770 = -47003833958035731078575255535006060654596737369759057915139763564120483354 - 1450679/4501770

bernoulli[98] = 67908260672905495624051117546403605607342195728504487509073961249992947058239 / 6 = 11318043445484249270675186257733934267890365954750747918178993541665491176373 + 1/6

bernoulli[100] = -94598037819122125295227433069493721872702841533066936133385696204311395415197247711 / 33330 = -2838224957069370695926415633648176473828468092801288212822853171446486511107028 - 4471/33330

bernoulli[102] = 3204019410860907078243020782116241775491817197152717450679002501086861530836678158791 / 4326 = 740642489796788506297508271409209841768797317880887066731161003487485328441210855 + 61/4326

bernoulli[104] = -319533631363830011287103352796174274671189606078272738327103470162849568365549721224053 / 1590 = -200964548027566044834656196727153631868672708225328766243461301989213565009779698883 - 83/1590

bernoulli[106] = 36373903172617414408151820151593427169231298640581690038930816378281879873386202346572901 / 642 = 56657170050805941445719346030519356961419468287510420621387564452152460861972277798400 + 101/642

bernoulli[108] = -3469342247847828789552088659323852541399766785760491146870005891371501266319724897592306597338057 / 209191710 = -16584511154136216915823713374319912301494962614725464727402466815589878137712650743149939 - 71532367/209191710

bernoulli[110] = 7645992940484742892248134246724347500528752413412307906683593870759797606269585779977930217515 / 1518 = 5036885995049237741928942191518015481244237426490321414152565132252831097674298932791785387 + 49/1518

bernoulli[112] = -2650879602155099713352597214685162014443151499192509896451788427680966756514875515366781203552600109 / 1671270 = -1586146823765818636936340157296643878274097841277896388047286451429731136509885006831200945121 - 226439/1671270

bernoulli[114] = 21737832319369163333310761086652991475721156679090831360806110114933605484234593650904188618562649 / 42 = 517567436175456269840732406825071225612408492359305508590621669403181082957966515497718776632444 + 1/42

bernoulli[116] = -309553916571842976912513458033841416869004128064329844245504045721008957524571968271388199595754752259 / 1770 = -174889218402171173396900258776181591451414761618265448726273472158762122895238400153326666438279521 - 89/1770

bernoulli[118] = 366963119969713111534947151585585006684606361080699204301059440676414485045806461889371776354517095799 / 6 = 61160519994952185255824525264264167780767726846783200716843240112735747507634410314895296059086182633 + 1/6

bernoulli[120] = -51507486535079109061843996857849983274095170353262675213092869167199297474922985358811329367077682677803282070131 / 2328255930 = -22122776912707834942288323456712932445573185054987780150566552693027736635002572659102528031391154956836 - 971032651/2328255930

bernoulli[122] = 49633666079262581912532637475990757438722790311060139770309311793150683214100431329033113678098037968564431 / 6 = 8272277679877096985422106245998459573120465051843356628384885298858447202350071888172185613016339661427405 + 1/6

bernoulli[124] = -95876775334247128750774903107542444620578830013297336819553512729358593354435944413631943610268472689094609001 / 30 = -3195892511141570958359163436918081487352627667109911227318450424311953111814531480454398120342282422969820300 - 1/30

bernoulli[126] = 5556330281949274850616324408918951380525567307126747246796782304333594286400508981287241419934529638692081513802696639 / 4357878 = 1275008222338779298231002430292667986695719179638977329516058573538220731833362242193847881912832263475958141508 + 4096615/4357878

bernoulli[128] = -267754707742548082886954405585282394779291459592551740629978686063357792734863530145362663093519862048495908453718017 / 510 = -525009230867741338994028246245651754469198940377552432607801345222270181833065745383064045281411494212737075399447 - 47/510

bernoulli[130] = 1928215175136130915645299522271596435307611010164728458783733020528548622403504078595174411693893882739334735142562418015 / 8646 = 223018178942416252098692981988387281437382721508758785424905507810380363451712245962893177387681457638137258286208931 + 589/8646

bernoulli[132] = -410951945846993378209020486523571938123258077870477502433469747962650070754704863812646392801863686694106805747335370312946831 / 4206930 = -97684521930955204438633513398980239301166902674985678971000170661895983711329844759158434488299944780185742512315481910 - 1310531/4206930

bernoulli[134] = 264590171870717725633635737248879015151254525593168688411918554840667765591690540727987316391252434348664694639349484190167 / 6 = 44098361978452954272272622874813169191875754265528114735319759140111294265281756787997886065208739058110782439891580698361 + 1/6

bernoulli[136] = -84290226343367405131287578060366193649336612397547435767189206912230442242628212786558235455817749737691517685781164837036649737 / 4110 = -20508570886464088839729337727583015486456596690400835953087398275481859426430222089186918602388746894815454424764273682977287 - 167/4110

bernoulli[138] = 2694866548990880936043851683724113040849078494664282483862150893060478501559546243423633375693325757795709438325907154973590288136429 / 274386 = 9821443327979127710757296960209752104149185799072410705583196274811683181939115856580267855114057414721266530821204999429964677 + 273107/274386

bernoulli[140] = -3289490986435898803930699548851884006880537476931130981307467085162504802973618096693859598125274741604181467826651144393874696601946049 / 679470 = -4841260079820888050878919670996341276113054994232462038511585625800263150652152555217830953721687111431235327279572526224667309229 - 117419/679470

bernoulli[142] = 14731853280888589565870080442453214239804217023990642676194878997407546061581643106569966189211748270209483494554402556608073385149191 / 6 = 2455308880148098260978346740408869039967369503998440446032479832901257676930273851094994364868624711701580582425733759434678897524865 + 1/6

bernoulli[144] = -3050244698373607565035155836901726357405007104256566761884191852434851033744761276392695669329626855965183503295793517411526056244431024612640493 / 2381714790 = -1280692680408474754878251327860178572181183417119632011809521429908427882645327686944705780380037383050883058628440358894326745245777738 - 965295473/2381714790

bernoulli[146] = 4120570026280114871526113315907864026165545608808541153973817680034790262683524284855810008621905238290240143481403022987037271683989824863 / 6 = 686761671046685811921018885984644004360924268134756858995636280005798377113920714142635001436984206381706690580233837164506211947331637477 + 1/6

bernoulli[148] = -1691737145614018979865561095112166189607682852147301400816480675916957871178648433284821493606361235973346584667336181793937950344828557898347149 / 4470 = -378464685819691046949789954163795568144895492650402997945521404008267980129451551070429864341467838025357177777927557448308266296382227717751 - 179/4470

bernoulli[150] = 463365579389162741443284425811806264982233725425295799852299807325379315501572305760030594769688296308375193913787703707693010224101613904227979066275 / 2162622 = 214261012506652915508713231351482720966601526029650951415596348934478293248460575061213006604801160955717270014726431021090606783849241293313384 + 1933427/2162622

bernoulli[152] = -3737018141155108502105892888491282165837489531488932951768507127182409731328472084456653639812530140212355374618917309552824925858430886313795805601 / 30 = -124567271371836950070196429616376072194582984382964431725616904239413657710949069481888454660417671340411845820630576985094164195281029543793193520 - 1/30

bernoulli[154] = 10259718682038021051027794238379184461025738652460569233992776489750881337506863808448685054322627708245455888249006715516690124228801409697850408284121 / 138 = 74345787551000152543679668394052061311780714872902675608643307896745516938455534843831051118279910929314897740934831271860073363976821809404713103508 + 17/138

bernoulli[156] = -81718086083262628510756459753673452313595710396116467582152090596092548699138346942995509488284650803976836337164670494733866559829768848363506624334818961419869 / 1794590070 = -45535795304641704894063333223321274876772114534277160901794185563554661092679704253013898315109171870084423423319549792635298912486331125393726615424111 - 522242099/1794590070

bernoulli[158] = 171672676901153210072183083506103395137513922274029564150500135265308148197358551999205867870374013289728260984269623579880772408522396975250682773558018919 / 6 = 28612112816858868345363847251017232522918987045671594025083355877551358032893091999867644645062335548288043497378270596646795401420399495875113795593003153 + 1/6

bernoulli[160] = -4240860794203310376065563492361156949989398087086373214710625778458441940477839981850928830420029285687066701804645453159767402961229305942765784122421197736180867 / 230010 = -18437723552033869727688202653628785487541402926335260270034458408149393245849484726102903484283419354319667413610910191555877583414761557944288440165302368315 - 47717/230010

bernoulli[162] = 1584451495144416428390934243279426140836596476080786316960222380784239380974799880364363647978168634590418215854419793716549388865905348534375629928732008786233507729 / 130074 = 12181154536221046699501316506599521355817430663167015060351971806696491081805740427482538001277493077712826666777525052789561241031300248584464458144840696728273 + 125527/130074

bernoulli[164] = -20538064609143216265571979586692646837805331023148645068133372383930344948316600591203926388540940814833173322793804325084945094828524860626092013547281335356200073083 / 2490 = -8248218718531412154848184572968934473014189165923150629772438708405761023420321522571857987365839684671957157748515793206805258967279060492406431143486480062730953 - 113/2490

bernoulli[166] = 5734032969370860921631095311392645731505222358555208498573088911303001784652122964703205752709194193095246308611264121678834250704468082648313788124754168671815815821441 / 1002 = 5722587793783294332965164981429786159186848661232743012547992925452097589473176611480245262184824544007231844921421279120593064575317447752808171781191785101612590640 + 161/1002

bernoulli[168] = -13844828515176396081238346585063517228531109156984345249260453934317772754836791258987516540324983611569758649525983347408589045734176589270143058509026392246407576578281097477 / 3404310 = -4066853052505910472676796938311586556021957212176430833050002477541050243613769386156817839833911603693482276739187485102293576593840334537731011132660184368170811876204 - 1058237/3404310

bernoulli[170] = 195334207626637530414976779238462234481410337350988427215139995707346979124686918267688171536352650572535330369818176979951931477427594872783018749894699157917782460035894085 / 66 = 2959609206464205006287526958158518704263792990166491321441515086474954229161923004055881386914434099583868641966942075453817143597387801102773011362040896332087613030846880 + 5/66

bernoulli[172] = -11443702211333328447187179942991846613008046506032421731755258148665287832264931024781365962633301701773088470841621804328201008020129996955549467573217659587609679405537739509973 / 5190 = -2204952256518945750903117522734459848363785453956150622688874402440325208528888444081188046750154470476510302666979153049749712527963390550202209551679703196071229172550624183 - 203/5190

Sunday, November 03, 2024

[rcpodzpi] Kelvin vs. Celsius

0 K = -273.15 C
10^-12 K = -273.149999999999 C
10^-11 K = -273.14999999999 C
10^-10 K = -273.1499999999 C
10^-9 K = -273.149999999 C
10^-8 K = -273.14999999 C
10^-7 K = -273.1499999 C
10^-6 K = -273.149999 C
10^-5 K = -273.14999 C
10^-4 K = -273.1499 C
10^-3 K = -273.149 C
10^-2 K = -273.14 C
10^-1 K = -273.05 C
10^0 K = -272.15 C
10^1 K = -263.15 C
10^2 K = -173.15 C
10^3 K = 726.85 C
10^4 K = 9726.85 C
10^5 K = 99726.85 C
10^6 K = 999726.85 C
10^7 K = 9999726.85 C
10^8 K = 99999726.85 C
10^9 K = 999999726.85 C
10^10 K = 9999999726.85 C
10^11 K = 99999999726.85 C
10^12 K = 999999999726.85 C

Celsius values are not weird (not containing lots of nines) only between about 0.01 K and 1000 K, roughly the temperatures relevant to the human experience.  but if you want a temperature scale actually designed for human experience, Fahrenheit is generally better.

science often works with extremely low or extremely high temperatures.  as illustrated above especially for low temperatures, Kelvin is better than Celsius.  for high temperatures, at what threshold is it acceptable to say that the temperature in Kelvin is the same as temperature in Celsius?

use Kelvin for science, Fahrenheit for humans.  Celsius is useful only for discussing liquid or potentially liquid water.

[crdxmcet] angular defect of regular polyhedra

degrees missing from being flat at vertex:

tetrahedron 180
octahedron 120
cube 90
icosahedron 60
dodecahedron 36

(angle defect)*(number of vertices) = 720 degree = 4*pi radian, a theorem of Descartes.

by this metric, dodecahedron is the most flat, the least confusing (at corners) for a map of a sphere.  (does that mean it has a lot of distortion inside each face?)  create a tool to display the earth on a dodecahedral net.  drag any point to anywhere on the net and reproject.  also need rotation.  move pentagons to choose among many possible nets.  what countries fit neatly inside adjacent pentagons?  I don't have a good feel of what is the area and extent of 1/12 or 2/12 of a sphere (1 or 2 pentagons).

move portions of pentagons?  the dissection of a pentagon by a pentagram (star) might be useful, as well as the dissection from the center into pie pieces.

vertex-transitive polyhedra have the same angle defect at every vertex.  the Archimedean solids are another (the other?) family of vertex-transitive polyhedra.  by the theorem of Descartes, the most flat therefore is the polyhedron with the most vertices.  excluding the prisms and antiprisms, the truncated icosidodecahedron has the most vertices with 120.  decagon, hexagon, and square meet at each of its vertices; angle defect is 6 degrees.  how much map distortion is in its 12 relatively large decagons?  (30 squares and 20 hexagons are its other faces.  62 faces total.)

previously, pillars of inaccessibility: the tile diagonally opposite you is blank, perhaps annotated with curved arrows indicating edges connect.  moving your immersed character locally induces a different net.  the faces of a net could discretely change adjacency, or walking around a vertex could cause the net to continuously reproject itself, keeping the inaccessible gap diagonally across from you.  not sure if the latter works.

future work: solid angular defect of 4D regular polytopes.

Wednesday, October 02, 2024

[okgkwyvp] automorphic rotations of a cube

6 = (6/2)*2 90-degree rotations through a face

3 = 6/2 180-degree rotations through a face

8 = (8/2)*2 120 degree-rotations through a vertex

6 = 12/2 180-degree rotations through an edge

1 identity (no rotation)

the divisions by 2 are to avoid double counting: each face, vertex, and edge pairs with a corresponding one diametrically opposite.  multiplications by 2 are because you can rotate left or right.  sum is 24.  it is nice that all the rotations can be enumerated this way without overlaps.

it can also be computed as (6 faces)*(4 rotations) = (8 vertices)*(3 rotations) = (12 edges)*(2 rotations) = 24.  these can be interpreted as bringing a face (or vertex or edge) to a canonical location, then doing a rotation.

can you visualize a given sequence of rotations?

previously, turning half of a cube.

the octahedron can do the same set of rotations, swapping face and vertex: octahedral group.

a similar enumeration works for the dodecahrdron ((12 + 12) + 20 + 15 + 1 = 60) and icosahedron (same sum to 60).

[lrjzlhie] navigating a 4D maze with WASD

present a 4D maze as an array of 2D slices.  navigate among cells in a slice with the keyboard arrow keys with the right hand.  navigate among slices with the W A S D keys with the left hand.

also possible are the two thumb sticks of typical game controllers.

annotations (perhaps literally the letters W A S D) in each cell signify which WASD moves between slices are available.  the UI is therefore somewhat noisy.

6D analogously possible in 3D.  (unspecified: how to move in 3D.)  as is the norm for 3D, you can't see the whole maze at once.  2^6 = 64 rooms in a 6D maze of order 2 could make a nice little puzzle.  64 is small enough to memorize.

[zbkseudn] 12 faces of the sky

project a dodecahedron onto the celestial sphere, then present each of the 12 faces as star chart images for a monthly calendar.  the images have no correlation with what is visible in the night sky during that month.  (people in urban areas can't see much in the night sky anyway.)

both regular dodecahedron and rhombic dodecahedron would work.  unspecified: map projection of each spherical polygonal face onto flat paper.  regular dodecahedron induces less distortion, but maybe a projected rhombus fits more nicely on a rectangular calendar page.  (but why not pentagonal calendar pages?)

also possible: cube with each face cut in half (pyritohedron) can yield nice rectangular regions.  tetrahedron with each face cut into 3 can yield kites.  (other shapes possible depending on how you cut.)

optimize the orientation of the dodecahedron so that every month has a good collection of labeled interesting objects.  also try to avoid cutting constellations and any other large objects (can't think of any others) awkwardly.  for the regular dodecahedron, a face centered on each of the celestial poles is also desirable.

annotate edges with the name of the month whose map lies beyond the edge.  overlay grid of celestial coordinates (right ascension, declination).

would it be better if the views overlapped?  spherical caps yield circular segments of the sky.  what is the minimum size spherical cap that covers a pentagonal face of a regular dodecahedron (this should be easy)?  how thick should the overlaps be?  maybe variable to avoid cutting constellations awkwardly.

alternative to a star chart: cosmic microwave background.

also possible: various other spherical astronomical bodies (including earth) whose surfaces we've fully mapped.  but these seem less interesting, not looking out at infinity but looking in at something finite.

for a weekly or daily calendar, find equal(ish)-area compact(ish) subdivisions of a sphere into the appropriate number of pieces.  Goldberg polyhedra are pretty.  there exist Goldberg polyhedra of 42 and 362 faces.

[egfgwujd] twin primes adjacent to highly composite numbers

below are some numbers N with many divisors and for which N-1 and N+1 are both prime, i.e., twin primes.

the suffix A indicates a highly composite number (sets a new record for number of divisors among all numbers, not necessarily those between twin primes); B similarly indicates it ties the record for number of divisors (largely composite number); C indicates a new second place in number of divisors; D ties second place number of divisors.

4/A 6/A 12/A 18/A 30/B 42/D 60/A 72/B 108/B 180/A 240/A 420/B 432/D 600/A 660/B 1320/D 2340/D 3360/A 5280/D 5880/D 6300/C 7560/A 9240/A 21840/D 35280/D 42840/B 55440/A 65520/A 92400/D 100800/C 110880/A 128520/B 180180/D 415800/B 453600/D 514080/D 526680/D 540540/D 1867320/D 1912680/D 1921920/D 1940400/C 2489760/D 6652800/D 6846840/D 7068600/D 28828800/B 31600800/B 34594560/D 85765680/D 100900800/C 121080960/D 232792560/A 287567280/D 397837440/D 634888800/D 845404560/D 1259818560/D 1470268800/B 1574773200/D 6299092800/D 10708457760/D 12681068400/B 23827003200/D 32125373280/B 32590958400/C 33816182400/A 34918884000/B 40156716600/B 73329656400/A 135019684800/D 216497080800/B 439977938400/D 449755225920/B 578256719040/D 2126560035600/D 2835413380800/B 2971597028400/D 6278415343200/B 18632716502400/A 18835246029600/C 19275223968000/B 59753194300800/B 62403537596400/D 69712060017600/B 92199821313600/B 130429015516800/A 279490747536000/C 313704270079200/B 448148957256000/D 838472242608000/D 1382997319704000/D 1402111916805600/B 1498809290378400/D

investigated 1169 numbers from 1 to 1516237305382800 in those categories (A, B, C, D) previously generated.  95 numbers (above) are surrounded by twin primes.

inspired by some numbers between twin primes being quite smooth.  if searching for large twin primes (not sure why one would want to do this), is it profitable to restrict to those bracketing a smooth number?  (seems yes.)  if so, how smooth?  perhaps Pierpont, or some other sequence of very smooth numbers.

[vachnlwl] changing square colors every move

knight is the only orthodox chess piece which must change square color every move (parity).  in fairy chess, wazir is another.

for normal movement (not its two square initial move nor diagonal capture), pawn also changes square colors every move.

next simplest are the (0,3) leaper (three-leaper) which obviously cannot reach all squares, and the (2,3) leaper (zebra) which can reach any square.

compose chess puzzles that rely on this parity.  maybe in some chess variant in which all pieces must move every turn.  triangulation is a related technique in endgames.

if a chessboard were colored 4 different colors in a certain way, ferz would also change square color every turn, alternating between 2 of the 4 colors.

[nnlfctcm] (2,3) leaper

zebra or (3,2) leaper is a fairy chess piece that jumps from (0,0) to (3,2) (and 7 other squares by symmetry).

below are the minimum number of moves it takes for a zebra at the square labeled 0 to reach various nearby squares.  it takes 5 moves to make one orthogonal step (wazir move), and 6 moves to reach (3,3).

we only give 1/8 of the plane; extend to the rest by symmetry.  we investigated distances only up to 15 (using a-f for 10-15 as in hexadecimal).  farther out, we stop lines at the first square exceeding 15.  things get less interesting farther out with broad regions requiring the same number of moves plus or minus 1 depending on parity.

previously, similar table for the knight.

0
52
434
5416
23434
525452
2543254
54343456
436365436
5436543456
45454545654
745454765456
4565456545676
56565656567656
656565656765678
7656765676567876
67676767676787678
767676767678767898
6787678767876789878
7878787878787898789a
878787878787898789a98
98789878987898789a989a
8989898989898989a989aba
989898989898989a989aba9a
89a989a989a989a989aba9abc
9a9a9a9a9a9a9a9a9aba9abcba
a9a9a9a9a9a9a9a9aba9abcbabc
ba9aba9aba9aba9aba9abcbabcdc
ababababababababababcbabcdcbc
babababababababababcbabcdcbcde
abcbabcbabcbabcbabcbabcdcbcdedc
bcbcbcbcbcbcbcbcbcbcbcdcbcdedcde
cbcbcbcbcbcbcbcbcbcbcdcbcdedcdefe
dcbcdcbcdcbcdcbcdcbcdcbcdedcdefede
cdcdcdcdcdcdcdcdcdcdcdcdedcdefedef
dcdcdcdcdcdcdcdcdcdcdcdedcdefedef
cdedcdedcdedcdedcdedcdedcdefedef
dededededededededededededefedef
ededededededededededededefedef
fedefedefedefedefedefedefedef
efefefefefefefefefefefefefef
fefefefefefefefefefefefefef
ef
f

future work: color.

[glttrljh] strictly weaker than queen

some fairy chess pieces whose movement is a proper subset of queen moves:

ferz
wazir
commoner (ferz + wazir compound)
bishop
bishop + wazir
rook
rook + ferz

underpromotion of a pawn to any of these will probably be rare.

design a chess variant in which underpromotions are more common.  e.g., you may not promote to a piece you already have.

design a chess variant in which underpromotions are permitted but always disadvantageous.  e.g., game scoring is not done by checkmate or stalemate, but by amount of firepower on the board.

[tfseoksh] chess variants more elegant than chess

we propose chess variants based on correcting "nits" of orthodox chess, things that had made orthodox chess inelegant and complicated.  the given answers to questions below correspond to orthodox chess.  other answers would define variants.

two-square initial pawn push?  Y
(if Y:
  en passant capture by pawn?  Y
  en passant capture by other pieces?  N
)

castling?  Y
(if Y:
  castling while in check?  N
  castling through check?  N
  en passant capture of rook?  N
  castling privilege can be regained by moving king and rook back to starting squares?  N
)

passing?  N
(if N:
  outcome when no moves except king moving into check (win, draw, loss, forced pass)?  draw (stalemate)
  outcome for player with no moves at all (win, draw, loss, forced pass)?  draw (stalemate)
)

black guaranteed same number of moves, e.g., draw by mutual checkmate or both kings captured?  N

underpromotion?  Y (future post mpyfvglu)

50-move rule?  Y

[jshrjuga] direct Fibonacci formula without division

golden ratio:

phi = (1 + sqrt(5)) / 2

the version of Binet's formula for the nth Fibonacci number which uses the round-to-the-nearest-integer function is

F[n] = round( phi^n / sqrt(5) )

if that division by sqrt(5) is annoying, another way to write it is

F[n] = round( phi^(n-z) )

where

z = log( Base phi, sqrt(5) ) = log(5) / (2*log(phi)) ~= 1.6722759381845547461703191263944365539

.

not sure what this would be useful for.  you need exp and log to compute exponentiation by the non-integer exponent, in contrast to simpler exponentiation by squaring for the integer exponent in the original formula.

[mlzpqxqu] import with type signature

proposal for a Haskell language extension: when importing a function from another module, one may optionally also specify a type signature for the imported function.  this would be helpful for code understanding.  the reader would have immediately available the type of the imported symbol, not having to go track down the type in the source module (which may be many steps away when modules re-export symbols, and the source module might not even have a type annotation), nor use a tool such as ghci to query it.  (maybe the code currently fails to compile for other reasons, so ghci is not available.)

if a function with the specified type signature is not exported by an imported module, the compiler can offer suggestions of other functions exported by the module which do have, or unify with, the imported type signature.  maybe the function got renamed in a new version of the module.

or, the compiler can do what Hoogle does and search among all modules in its search path for functions with the given signature.  maybe the function got moved to a different module.

the specified type signature may be narrower than how the function was originally defined.  this can limit some of the insanity caused by the Foldable Traversable Proposal (FTP):

import Prelude(length :: [a] -> Int) -- prevent length from being called on tuples and Maybe

various potentially tricky issues:

  1. a situation similar to the diamond problem (multiple inheritance) in object-oriented programming: module A defines a polymorphic function f, imported then re-exported by modules B and C.  module D imports both B and C, unqualified.  B imports and re-exports f from A with a type signature more narrow than originally defined in A.  C does not change the type signature.  what is the type of f as seen by D?  which version of f, which path through B or C, does D see?  solution might be simple: if the function through different paths are not identical, then the user has to qualify.

  2. the following tries to make List.length available only for lists, and Foldable.length available for anything else.  is this asking for trouble?

    import Prelude hiding(length);
    import qualified Prelude(length :: [a] -> Int) as List;
    import qualified Prelude(length) as Foldable;

Tuesday, October 01, 2024

[ctmlagje] bad idea, worse idea

"no good can come of a game of Bad Idea, Worse Idea."

(tautologically.)

Friday, September 27, 2024

[iuggtvmq] Death Star radio telescope

when not obliterating planets, which was most of the time, the Death Star emitter dish was used as a radio telescope by astronomers on board the space station.  may they rest in peace.

inspired by the Arecibo radio dish which could both transmit and receive.

the whole Death Star needs to turn to face its dish toward an observation (or obliteration) target, and it needs to stably keep facing exactly that direction for the duration of the observation.  presumably gyroscopes.  however, any movement of mass inside the space station, e.g., a person walking, will induce via conservation of angular momentum a rotation of the station.  (future work: calculate how much rotation.)  this seems difficult to deal with.  maybe the dish is mechanically isolated from the station: it floats a short distance from the superstructure.

or, the Force keeps the station in line with its target.  the Emperor and Darth Vader are keen astronomers.  this was original purpose for the space station: politics forced them to add a military capability in order to get it built, much like how the Hubble Space Telescope succeeded becoming approved and built because research and development for its design was reused a dozen times over for U.S. spy satellites.

Thursday, September 26, 2024

[aqyyoppn] relativistic bullet

let

(relativistic kinetic energy) = (relativistic mass-energy) - (rest mass-energy)

(rest mass-energy) = m * c^2

let resq = "remaining speed squared" = c^2 - v^2, having units of speed^2.

aside: lorentz = sqrt(c^2/resq) is unitless.  we prefer to work with resq rather than lorentz because with resq, some mistakes can be caught by dimensional analysis.

aside: for very small v, resq has problems with numerical precision.  for very high v, lorentz has problems with numerical precision.

(relativistic mass-energy) = sqrt(c^2/resq) * m * c^2

(relativistic kinetic energy) = (sqrt(c^2/resq)-1) * m * c^2

assume a bullet has mass 100 grain = 6.49 gram.  (aside: the fact that "in" in grain looks like "m" in gram in some fonts is unfortunate.) (another aside: dram is another unit of mass used in firearms, 1/256 lb.  dram sounds similar to gram.  1 dram = 1.77 gram.  "if you are facing a charging rhino, be sure your shotgun shell is loaded with at least ___ [unintelligible]rams of black powder in order to stop it.  but not too much or the gun will explode in your face.")

(rest mass-energy of 100 grain bullet) = 5.82e14 J

at typical bullet speed 0.0000031622777 c = sqrt(1e-11) c = 3110 ft/s = 2121 mph = 948 m/s : (relativistic kinetic energy) = 2911.9 J

0.01 c : (relativistic kinetic energy) = 2.9121e10 J (3162x speed ~= 10,000,000x energy, matching non-relativistic approximation)

0.1 c : 2.93e12 J (10x speed ~= 100x energy, matching non-relativistic approximation)

0.5 c : 9.01e13 J (50x speed ~= 3094x energy, not 2500x by non-relativistic approximation)

0.866 c = sqrt(0.75) c : 5.82e14 J (kinetic energy equals rest mass-energy)

0.9 c : 7.54e14 J

0.99 c : 3.546e15 J

expressing energy in terms of tons of TNT:

(rest mass-energy) = 5.82e14 J = 139 kiloton tnt

typical bullet speed 0.0000031622777 c : (relativistic kinetic energy) = 696 nanoton tnt = 9.74 grain tnt (which unsurprisingly is in the same order of magnitude as typical amounts of black powder in gun rounds)

0.01 c : 6.96 ton tnt

0.1 c : 701 ton tnt

0.5 c : 21.53 kiloton tnt

0.866 c : 139 kiloton tnt

0.9 c : 180 kiloton tnt

0.99 c : 848 kiloton tnt

inspiration: if a SpaceX Starship (approximately 10 kiloton tnt) were to explode on the launchpad, and a significant fraction of its chemical energy were freakishly transferred into a single bullet-sized piece of debris, how far would be safe distance to view the launch and not get hurt by debris?

answer, assuming no air resistance: there is no safe distance.  inverting the equations above, a bullet with relativistic kinetic energy 10 kiloton tnt has speed 0.36 c.  5 kiloton tnt is 0.26 c, because maybe we care about conservation of momentum.  in comparison, speed of low earth orbit is 0.000026 c, and earth escape velocity is 0.000037 c.  a bullet in orbit can hit anywhere on earth; a bullet escaping earth can hit anywhere in the universe.

the SpaceX Starship is of course trying to deliver payloads much more massive than a bullet into orbit or to infinity.  this fact alone is enough to conclude there is no safe distance.

Monday, September 02, 2024

[erlrqhiz] hydrogen as a dipole antenna

if we hypothesize that the 21 cm hydrogen line is produced by a half-wave dipole emitter, then this predicts that the hydrogen atom is 10.5 cm wide.   the actual diameter of the hydrogen atom is about 1e-8 cm, so the error factor between theory and experiment is about 1 billion.

we can go further, seeking greater error.  the 21 cm hydrogen radiation has energy (c*h / (21.106114054160 cm)) = 941.17082 rontojoule = 5.8743262 micro eV = 0.068168725 boltzmann degK per photon.  ascribing that energy change to a change in distance between the hydrogen's electron and proton, the distance change (obtained by solving the quadratic of the Coulomb force) is -(k_C*e^2 / (c*h / (21.106114054160 cm))) + sqrt((k_C*e^2 / (c*h / (21.106114054160 cm)))^2 + bohrradius^2) = 5.7462715e-16 cm via the "units" program.  the error factor compared to the predicted (21.106114054160 cm)/2 dipole antenna is 1.8365051e+16.

these are bad predictions, but not even remotely close to the 1e+50 or 1e+120 error factor of the vacuum energy density, the "worst prediction of all science".

[vajvywgs] Mercator projection distortion in the United States

linear scale factor of the Mercator projection is sec(latitude).  area scale factor is the square of that.

U.S. lower 48 states extends from about 25 degrees north latitude (south Florida, south Texas), 30 degrees (Gulf coast) to 49 degrees north (straight-ish border with Canada across the west and midwest).

sec(25 deg) = 1.103
sec(30 deg) = 1.1547
sec(49 deg) = 1.524

sec(49 deg)/sec(25 deg) = 1.381

square of that = 1.908

lengths in northern states are "too long" by almost 40%; areas are too large by almost double.

Mercator as Web Mercator is very common.  inspired by national weather maps: storm systems in the north look bigger.  perhaps they therefore earn more disaster relief: spoils from winning the Civil War.

in its defense, Mercator is a good projection for conveying raw data: it is easy to determine the latitude and longitude of any given projected point, so easy to re-project data to another map projection.  (getting latitude involves arctan exp, also called the Gudermannian.)  Mercator is also conformal, and that might be scientifically important: is a hurricane eye a circle or an ellipse?  there are likely important meteorological implications of a non-circular eye.  there is no map projection that is both conformal and equal area.

what country suffers the most Mercator distortion between its northern and southern regions?  candidates: Russia, Chile, Greenland, United States (including Alaska and Hawaii), Japan.

how does the Mercator area of Alaska compare to the rest of the United States?

draw a different Mercator projection, a transverse Mercator projection, that makes the South too large than the North by the same factor (1.381) that normal Mercator makes the North too large.  what great circle is the "equator" of this transverse Mercator?  the equator suffers the least area distortion.

draw another transverse Mercator projection with the "equator" running through the middle of the U.S lower 48, trying to minimize area distortion while maintaining conformality.  exactly which great circle should the "equator" be?  for a given region on a sphere, what conformal map projection minimizes the maximum area distortion?

it is not easy to recover latitude and longitude from a traverse Mercator projection.

we now discuss aspect ratio in normal Mercator projection.  the U.S. lower 48 spans about 24 degrees of latitude as described above.  Maine is at longitude -67 (67 west) and northwest Washington state is at -125, so a span of about 58 degrees of longitude.  its aspect ratio in normal Mercator projection is 1.9, wider than tall.  calculating height in Mercator projection involves tangent and logarithm.  (the vertical asymptote of the tangent function causes height to diverge to infinity at the poles.  the input to the logarithm function is always a number greater than one, so logarithm's vertical asymptote at zero never comes into play.)

Thursday, August 22, 2024

[tnhftoso] biodegradable One Ring

now that Peter Jackson has established that New Zealand is Middle Earth, go on a real-life quest to dispose of a replica One Ring into some New Zealand volcano, of which there are conveniently many.

for example, construct a One Ring out of sodium (or other group 1 element) and drop it into Lake Taupo, which is not just a volcano but a supervolcano, the earth's most recently erupting one at that.  the destruction of the One Ring in water will be fiery and explosive.

or, laser engrave the One Ring inscription onto a bagel, perhaps an Everything Bagel.  (incidentally, the bagel in Everything Everywhere All at Once behaved like a black hole.  was it a deliberate reference to the Kerr ring singularity?)  let it decompose at a dormant or extinct volcano.

[tiitqghi] tesseract rooms

connect 8 cubical rooms in tesseract topology, for a 3D game.  when using a door, you see at most two rooms at a time, so you never directly see the weird non-Euclidean geometry/topology (S^3, 3-sphere) of the hypersurface of the tesseract, namely 4 cubes connected like a tetrahedron around a vertex (vertex figure).  previously.

assuming you can't fly, provide an elevator in each room to travel to vertically adjacent rooms.

you can indirectly experience the weird geometry if you travel in certain loops: your orientation becomes off, probably rotated by 90 degrees (fun with parallel transport and the curvature tensor).  also, a loop of only 3 rooms can return you back to where you started, in contrast to needing at least 4 in flat Euclidean space (and loop lengths are always even numbers in flat space).  game encourages mastering this weirdness.

gravity stays consistent with the previous room.  one can get gravity to change orientation by traveling in a loop; let this be the key game mechanic.  you can't get gravity to change orientation traveling only horizontally in a loop through doors; you must use an elevator at least once.  (I think this is true, reasoning by analogy about the square faces of a 3D cube.)

8 rooms = 48 internal faces (wall, floors, ceilings).  although 3D game is the obvious implemention, 2D overhead view is also possible.  you only see the floor (face) that you are on.  leave things at the edge of a room to transfer from a floor to a wall.  (of course, for a 2D game, e.g., Zelda 1 dungeon, one could get similar weirdness with 6 2D rooms with cube topology.)

divide each cube orthogonally into 8 sub-cubes.  the tesseract then has 64 total rooms (but with adjacency very different from the 64 squares of a chess board).  each sub-cube has one special corner surrounded by weird geometry (4 cubes meet at a point).  I think geometry is locally flat (8 cubes meet at a point) around all the other corners.  64 rooms = 384 faces, counting both sides of faces.

most generally, a collection of polygons connected as a graph.  graph edges between pairs of polygon edges (signifying doors), and each polygon also has "up" and "down" edges (signifying elevator) connecting to other polygons.  perhaps bundle polygons into an abstract polyhedron to allow transfer of objects at an edge.