2024年2月25日日曜日

240225

PARI


Expansion of (1/x) * Series_Reversion( x * (1-x)^u * (1-x^s)^t ).

2通りで算出し、一致することを確認してみた。

a(n, s, t, u) = sum(k=0, n\s, binomial(t*(n+1)+k-1, k)*binomial((u+1)*(n+1)-s*k-2, n-s*k))/(n+1);
b(n, s, t, u) = my(x='x+O('x^(n+2))); polcoef(serreverse(x*(1-x)^u*(1-x^s)^t)/x, n);
diff(n, s, t, u) = a(n, s, t, u)-b(n, s, t, u);

for(s=1, 2, for(t=-5, 5, for(u=-5, 5, print1([s, t, u],": "); for(n=0, 10, if(diff(n, s, t, u)==0, print1(a(n, s, t, u), ", "))); print)))

出力結果
[1, -5, -5]: 1, -10, 145, -2470, 46060, -910252, 18730855, -397089550, 8612835715, -190223180840, 4263421511271, 
[1, -5, -4]: 1, -9, 117, -1785, 29799, -527085, 9706503, -184138713, 3573805950, -70625252863, 1416298046436, 
[1, -5, -3]: 1, -8, 92, -1240, 18278, -285384, 4638348, -77652024, 1329890705, -23190029720, 410333440536, 
[1, -5, -2]: 1, -7, 70, -819, 10472, -141778, 1997688, -28989675, 430321633, -6503352856, 99726673130, 
[1, -5, -1]: 1, -6, 51, -506, 5481, -62832, 749398, -9203634, 115607310, -1478314266, 19180049928, 
[1, -5, 0]: 1, -5, 35, -285, 2530, -23751, 231880, -2330445, 23950355, -250543370, 2658968130, 
[1, -5, 1]: 1, -4, 22, -140, 969, -7084, 53820, -420732, 3362260, -27343888, 225568798, 
[1, -5, 2]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[1, -5, 3]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, -5, 4]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, -5, 5]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, -4, -5]: 1, -9, 117, -1785, 29799, -527085, 9706503, -184138713, 3573805950, -70625252863, 1416298046436, 
[1, -4, -4]: 1, -8, 92, -1240, 18278, -285384, 4638348, -77652024, 1329890705, -23190029720, 410333440536, 
[1, -4, -3]: 1, -7, 70, -819, 10472, -141778, 1997688, -28989675, 430321633, -6503352856, 99726673130, 
[1, -4, -2]: 1, -6, 51, -506, 5481, -62832, 749398, -9203634, 115607310, -1478314266, 19180049928, 
[1, -4, -1]: 1, -5, 35, -285, 2530, -23751, 231880, -2330445, 23950355, -250543370, 2658968130, 
[1, -4, 0]: 1, -4, 22, -140, 969, -7084, 53820, -420732, 3362260, -27343888, 225568798, 
[1, -4, 1]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[1, -4, 2]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, -4, 3]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, -4, 4]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, -4, 5]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, -3, -5]: 1, -8, 92, -1240, 18278, -285384, 4638348, -77652024, 1329890705, -23190029720, 410333440536, 
[1, -3, -4]: 1, -7, 70, -819, 10472, -141778, 1997688, -28989675, 430321633, -6503352856, 99726673130, 
[1, -3, -3]: 1, -6, 51, -506, 5481, -62832, 749398, -9203634, 115607310, -1478314266, 19180049928, 
[1, -3, -2]: 1, -5, 35, -285, 2530, -23751, 231880, -2330445, 23950355, -250543370, 2658968130, 
[1, -3, -1]: 1, -4, 22, -140, 969, -7084, 53820, -420732, 3362260, -27343888, 225568798, 
[1, -3, 0]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[1, -3, 1]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, -3, 2]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, -3, 3]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, -3, 4]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, -3, 5]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, -2, -5]: 1, -7, 70, -819, 10472, -141778, 1997688, -28989675, 430321633, -6503352856, 99726673130, 
[1, -2, -4]: 1, -6, 51, -506, 5481, -62832, 749398, -9203634, 115607310, -1478314266, 19180049928, 
[1, -2, -3]: 1, -5, 35, -285, 2530, -23751, 231880, -2330445, 23950355, -250543370, 2658968130, 
[1, -2, -2]: 1, -4, 22, -140, 969, -7084, 53820, -420732, 3362260, -27343888, 225568798, 
[1, -2, -1]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[1, -2, 0]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, -2, 1]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, -2, 2]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, -2, 3]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, -2, 4]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, -2, 5]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[1, -1, -5]: 1, -6, 51, -506, 5481, -62832, 749398, -9203634, 115607310, -1478314266, 19180049928, 
[1, -1, -4]: 1, -5, 35, -285, 2530, -23751, 231880, -2330445, 23950355, -250543370, 2658968130, 
[1, -1, -3]: 1, -4, 22, -140, 969, -7084, 53820, -420732, 3362260, -27343888, 225568798, 
[1, -1, -2]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[1, -1, -1]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, -1, 0]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, -1, 1]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, -1, 2]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, -1, 3]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, -1, 4]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[1, -1, 5]: 1, 4, 26, 204, 1771, 16380, 158224, 1577532, 16112057, 167710664, 1772645420, 
[1, 0, -5]: 1, -5, 35, -285, 2530, -23751, 231880, -2330445, 23950355, -250543370, 2658968130, 
[1, 0, -4]: 1, -4, 22, -140, 969, -7084, 53820, -420732, 3362260, -27343888, 225568798, 
[1, 0, -3]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[1, 0, -2]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, 0, -1]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, 0, 0]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, 0, 1]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, 0, 2]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, 0, 3]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[1, 0, 4]: 1, 4, 26, 204, 1771, 16380, 158224, 1577532, 16112057, 167710664, 1772645420, 
[1, 0, 5]: 1, 5, 40, 385, 4095, 46376, 548340, 6690585, 83615350, 1064887395, 13770292256, 
[1, 1, -5]: 1, -4, 22, -140, 969, -7084, 53820, -420732, 3362260, -27343888, 225568798, 
[1, 1, -4]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[1, 1, -3]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, 1, -2]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, 1, -1]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, 1, 0]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, 1, 1]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, 1, 2]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[1, 1, 3]: 1, 4, 26, 204, 1771, 16380, 158224, 1577532, 16112057, 167710664, 1772645420, 
[1, 1, 4]: 1, 5, 40, 385, 4095, 46376, 548340, 6690585, 83615350, 1064887395, 13770292256, 
[1, 1, 5]: 1, 6, 57, 650, 8184, 109668, 1533939, 22137570, 327203085, 4928006512, 75357373305, 
[1, 2, -5]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[1, 2, -4]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, 2, -3]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, 2, -2]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, 2, -1]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, 2, 0]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, 2, 1]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[1, 2, 2]: 1, 4, 26, 204, 1771, 16380, 158224, 1577532, 16112057, 167710664, 1772645420, 
[1, 2, 3]: 1, 5, 40, 385, 4095, 46376, 548340, 6690585, 83615350, 1064887395, 13770292256, 
[1, 2, 4]: 1, 6, 57, 650, 8184, 109668, 1533939, 22137570, 327203085, 4928006512, 75357373305, 
[1, 2, 5]: 1, 7, 77, 1015, 14763, 228459, 3689595, 61474519, 1048927880, 18236463245, 321899509386, 
[1, 3, -5]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[1, 3, -4]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, 3, -3]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, 3, -2]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, 3, -1]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, 3, 0]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[1, 3, 1]: 1, 4, 26, 204, 1771, 16380, 158224, 1577532, 16112057, 167710664, 1772645420, 
[1, 3, 2]: 1, 5, 40, 385, 4095, 46376, 548340, 6690585, 83615350, 1064887395, 13770292256, 
[1, 3, 3]: 1, 6, 57, 650, 8184, 109668, 1533939, 22137570, 327203085, 4928006512, 75357373305, 
[1, 3, 4]: 1, 7, 77, 1015, 14763, 228459, 3689595, 61474519, 1048927880, 18236463245, 321899509386, 
[1, 3, 5]: 1, 8, 100, 1496, 24682, 433160, 7932196, 149846840, 2898753715, 57135036024, 1143315429776, 
[1, 4, -5]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[1, 4, -4]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, 4, -3]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, 4, -2]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, 4, -1]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[1, 4, 0]: 1, 4, 26, 204, 1771, 16380, 158224, 1577532, 16112057, 167710664, 1772645420, 
[1, 4, 1]: 1, 5, 40, 385, 4095, 46376, 548340, 6690585, 83615350, 1064887395, 13770292256, 
[1, 4, 2]: 1, 6, 57, 650, 8184, 109668, 1533939, 22137570, 327203085, 4928006512, 75357373305, 
[1, 4, 3]: 1, 7, 77, 1015, 14763, 228459, 3689595, 61474519, 1048927880, 18236463245, 321899509386, 
[1, 4, 4]: 1, 8, 100, 1496, 24682, 433160, 7932196, 149846840, 2898753715, 57135036024, 1143315429776, 
[1, 4, 5]: 1, 9, 126, 2109, 38916, 763686, 15636192, 330237765, 7141879503, 157366449604, 3520256293710, 
[1, 5, -5]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, 5, -4]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, 5, -3]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[1, 5, -2]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[1, 5, -1]: 1, 4, 26, 204, 1771, 16380, 158224, 1577532, 16112057, 167710664, 1772645420, 
[1, 5, 0]: 1, 5, 40, 385, 4095, 46376, 548340, 6690585, 83615350, 1064887395, 13770292256, 
[1, 5, 1]: 1, 6, 57, 650, 8184, 109668, 1533939, 22137570, 327203085, 4928006512, 75357373305, 
[1, 5, 2]: 1, 7, 77, 1015, 14763, 228459, 3689595, 61474519, 1048927880, 18236463245, 321899509386, 
[1, 5, 3]: 1, 8, 100, 1496, 24682, 433160, 7932196, 149846840, 2898753715, 57135036024, 1143315429776, 
[1, 5, 4]: 1, 9, 126, 2109, 38916, 763686, 15636192, 330237765, 7141879503, 157366449604, 3520256293710, 
[1, 5, 5]: 1, 10, 155, 2870, 58565, 1270752, 28765650, 671650110, 16057800980, 391139588190, 9672348219898, 
[2, -5, -5]: 1, -5, 30, -185, 1090, -5626, 19720, 45695, -1929840, 26595030, -282947496, 
[2, -5, -4]: 1, -4, 17, -60, 79, 1296, -17360, 142068, -873895, 3711532, -2373973, 
[2, -5, -3]: 1, -3, 7, 5, -192, 1347, -5258, 1557, 160270, -1442000, 6975729, 
[2, -5, -2]: 1, -2, 0, 26, -123, 98, 2224, -14430, 23967, 245364, -2067680, 
[2, -5, -1]: 1, -1, -4, 19, 11, -336, 676, 4699, -26764, -25371, 663520, 
[2, -5, 0]: 1, 0, -5, 0, 60, 0, -935, 0, 16555, 0, -316251, 
[2, -5, 1]: 1, 1, -3, -15, -1, 197, 527, -1711, -13530, -7993, 221780, 
[2, -5, 2]: 1, 2, 2, -10, -72, -222, -34, 3598, 20735, 50630, -109596, 
[2, -5, 3]: 1, 3, 10, 31, 72, -6, -1540, -13065, -78479, -381576, -1474818, 
[2, -5, 4]: 1, 4, 21, 124, 781, 5120, 34474, 236492, 1644222, 11543644, 81623504, 
[2, -5, 5]: 1, 5, 35, 285, 2530, 23751, 231880, 2330445, 23950355, 250543370, 2658968130, 
[2, -4, -5]: 1, -5, 31, -205, 1368, -8891, 54102, -286173, 1020910, 2638800, -110587783, 
[2, -4, -4]: 1, -4, 18, -76, 247, -92, -8136, 97092, -798813, 5301608, -28151584, 
[2, -4, -3]: 1, -3, 8, -7, -109, 1008, -5316, 16145, 19220, -665873, 5278504, 
[2, -4, -2]: 1, -2, 1, 18, -100, 196, 871, -8758, 29971, 27512, -858793, 
[2, -4, -1]: 1, -1, -3, 15, -1, -197, 527, 1711, -13530, 7993, 221780, 
[2, -4, 0]: 1, 0, -4, 0, 38, 0, -468, 0, 6545, 0, -98728, 
[2, -4, 1]: 1, 1, -2, -11, -8, 94, 336, -259, -5087, -10712, 41026, 
[2, -4, 2]: 1, 2, 3, -2, -39, -176, -442, -26, 6222, 36062, 113240, 
[2, -4, 3]: 1, 3, 11, 43, 170, 657, 2392, 7675, 17603, -11898, -529678, 
[2, -4, 4]: 1, 4, 22, 140, 969, 7084, 53820, 420732, 3362260, 27343888, 225568798, 
[2, -4, 5]: 1, 5, 36, 305, 2833, 27916, 286632, 3033513, 32858595, 362515725, 4059475368, 
[2, -3, -5]: 1, -5, 32, -225, 1651, -12336, 92460, -687161, 5006180, -35235655, 234112824, 
[2, -3, -4]: 1, -4, 19, -92, 420, -1624, 3545, 20372, -386621, 3865104, -31129539, 
[2, -3, -3]: 1, -3, 9, -19, -21, 561, -4093, 20493, -69030, 43819, 1571700, 
[2, -3, -2]: 1, -2, 2, 10, -72, 222, -34, -3598, 20735, -50630, -109596, 
[2, -3, -1]: 1, -1, -2, 11, -8, -94, 336, 259, -5087, 10712, 41026, 
[2, -3, 0]: 1, 0, -3, 0, 21, 0, -190, 0, 1950, 0, -21576, 
[2, -3, 1]: 1, 1, -1, -7, -10, 27, 152, 169, -949, -4286, -2646, 
[2, -3, 2]: 1, 2, 4, 6, -1, -58, -304, -1090, -2876, -4216, 9244, 
[2, -3, 3]: 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 8414640, 
[2, -3, 4]: 1, 4, 23, 156, 1162, 9192, 75819, 644908, 5616182, 49826712, 448771622, 
[2, -3, 5]: 1, 5, 37, 325, 3141, 32261, 345605, 3818501, 43197445, 497868805, 5825331205, 
[2, -2, -5]: 1, -5, 33, -245, 1939, -15961, 134843, -1159829, 10103730, -88820835, 785856036, 
[2, -2, -4]: 1, -4, 20, -108, 598, -3300, 17732, -90140, 411281, -1451980, 965192, 
[2, -2, -3]: 1, -3, 10, -31, 72, 6, -1540, 13065, -78479, 381576, -1474818, 
[2, -2, -2]: 1, -2, 3, 2, -39, 176, -442, 26, 6222, -36062, 113240, 
[2, -2, -1]: 1, -1, -1, 7, -10, -27, 152, -169, -949, 4286, -2646, 
[2, -2, 0]: 1, 0, -2, 0, 9, 0, -52, 0, 340, 0, -2394, 
[2, -2, 1]: 1, 1, 0, -3, -7, -4, 24, 85, 99, -215, -1196, 
[2, -2, 2]: 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 
[2, -2, 3]: 1, 3, 13, 67, 381, 2307, 14589, 95235, 636925, 4341763, 30056445, 
[2, -2, 4]: 1, 4, 24, 172, 1360, 11444, 100520, 911068, 8457504, 80006116, 768464312, 
[2, -2, 5]: 1, 5, 38, 345, 3454, 36786, 408848, 4687969, 55048310, 658645110, 8001060132, 
[2, -1, -5]: 1, -5, 34, -265, 2232, -19766, 181300, -1706737, 16392049, -159959240, 1581278838, 
[2, -1, -4]: 1, -4, 21, -124, 781, -5120, 34474, -236492, 1644222, -11543644, 81623504, 
[2, -1, -3]: 1, -3, 11, -43, 170, -657, 2392, -7675, 17603, 11898, -529678, 
[2, -1, -2]: 1, -2, 4, -6, -1, 58, -304, 1090, -2876, 4216, 9244, 
[2, -1, -1]: 1, -1, 0, 3, -7, 4, 24, -85, 99, 215, -1196, 
[2, -1, 0]: 1, 0, -1, 0, 2, 0, -5, 0, 14, 0, -42, 
[2, -1, 1]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[2, -1, 2]: 1, 2, 6, 22, 90, 394, 1806, 8558, 41586, 206098, 1037718, 
[2, -1, 3]: 1, 3, 14, 79, 494, 3294, 22952, 165127, 1217270, 9146746, 69799476, 
[2, -1, 4]: 1, 4, 25, 188, 1563, 13840, 127972, 1221260, 11938471, 118936100, 1203155633, 
[2, -1, 5]: 1, 5, 39, 365, 3772, 41491, 476410, 5644477, 68493324, 846937140, 10633195119, 
[2, 0, -5]: 1, -5, 35, -285, 2530, -23751, 231880, -2330445, 23950355, -250543370, 2658968130, 
[2, 0, -4]: 1, -4, 22, -140, 969, -7084, 53820, -420732, 3362260, -27343888, 225568798, 
[2, 0, -3]: 1, -3, 12, -55, 273, -1428, 7752, -43263, 246675, -1430715, 8414640, 
[2, 0, -2]: 1, -2, 5, -14, 42, -132, 429, -1430, 4862, -16796, 58786, 
[2, 0, -1]: 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 
[2, 0, 0]: 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[2, 0, 1]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[2, 0, 2]: 1, 2, 7, 30, 143, 728, 3876, 21318, 120175, 690690, 4032015, 
[2, 0, 3]: 1, 3, 15, 91, 612, 4389, 32890, 254475, 2017356, 16301164, 133767543, 
[2, 0, 4]: 1, 4, 26, 204, 1771, 16380, 158224, 1577532, 16112057, 167710664, 1772645420, 
[2, 0, 5]: 1, 5, 40, 385, 4095, 46376, 548340, 6690585, 83615350, 1064887395, 13770292256, 
[2, 1, -5]: 1, -5, 36, -305, 2833, -27916, 286632, -3033513, 32858595, -362515725, 4059475368, 
[2, 1, -4]: 1, -4, 23, -156, 1162, -9192, 75819, -644908, 5616182, -49826712, 448771622, 
[2, 1, -3]: 1, -3, 13, -67, 381, -2307, 14589, -95235, 636925, -4341763, 30056445, 
[2, 1, -2]: 1, -2, 6, -22, 90, -394, 1806, -8558, 41586, -206098, 1037718, 
[2, 1, -1]: 1, -1, 2, -5, 14, -42, 132, -429, 1430, -4862, 16796, 
[2, 1, 0]: 1, 0, 1, 0, 3, 0, 12, 0, 55, 0, 273, 
[2, 1, 1]: 1, 1, 3, 9, 32, 119, 466, 1881, 7788, 32868, 140907, 
[2, 1, 2]: 1, 2, 8, 38, 201, 1134, 6688, 40734, 254237, 1617572, 10452416, 
[2, 1, 3]: 1, 3, 16, 103, 735, 5592, 44452, 364815, 3067558, 26290517, 228819168, 
[2, 1, 4]: 1, 4, 27, 220, 1984, 19064, 191325, 1981932, 21031965, 227463808, 2498039219, 
[2, 1, 5]: 1, 5, 41, 405, 4423, 51441, 624687, 7828853, 100497980, 1314688375, 17462945394, 
[2, 2, -5]: 1, -5, 37, -325, 3141, -32261, 345605, -3818501, 43197445, -497868805, 5825331205, 
[2, 2, -4]: 1, -4, 24, -172, 1360, -11444, 100520, -911068, 8457504, -80006116, 768464312, 
[2, 2, -3]: 1, -3, 14, -79, 494, -3294, 22952, -165127, 1217270, -9146746, 69799476, 
[2, 2, -2]: 1, -2, 7, -30, 143, -728, 3876, -21318, 120175, -690690, 4032015, 
[2, 2, -1]: 1, -1, 3, -9, 32, -119, 466, -1881, 7788, -32868, 140907, 
[2, 2, 0]: 1, 0, 2, 0, 11, 0, 80, 0, 665, 0, 5980, 
[2, 2, 1]: 1, 1, 4, 13, 55, 232, 1052, 4869, 23206, 112519, 554560, 
[2, 2, 2]: 1, 2, 9, 46, 264, 1612, 10291, 67830, 458109, 3153744, 22049065, 
[2, 2, 3]: 1, 3, 17, 115, 863, 6903, 57687, 497683, 4398980, 39630305, 362562226, 
[2, 2, 4]: 1, 4, 28, 236, 2202, 21892, 227324, 2436508, 26752627, 299369532, 3401762928, 
[2, 2, 5]: 1, 5, 42, 425, 4756, 56686, 705500, 9061841, 119225535, 1598582580, 21763800786, 
[2, 3, -5]: 1, -5, 38, -345, 3454, -36786, 408848, -4687969, 55048310, -658645110, 8001060132, 
[2, 3, -4]: 1, -4, 25, -188, 1563, -13840, 127972, -1221260, 11938471, -118936100, 1203155633, 
[2, 3, -3]: 1, -3, 15, -91, 612, -4389, 32890, -254475, 2017356, -16301164, 133767543, 
[2, 3, -2]: 1, -2, 8, -38, 201, -1134, 6688, -40734, 254237, -1617572, 10452416, 
[2, 3, -1]: 1, -1, 4, -13, 55, -232, 1052, -4869, 23206, -112519, 554560, 
[2, 3, 0]: 1, 0, 3, 0, 24, 0, 253, 0, 3045, 0, 39627, 
[2, 3, 1]: 1, 1, 5, 17, 83, 381, 1939, 9905, 52544, 282315, 1545130, 
[2, 3, 2]: 1, 2, 10, 54, 332, 2162, 14734, 103630, 746857, 5486206, 40926152, 
[2, 3, 3]: 1, 3, 18, 127, 996, 8322, 72644, 654615, 6043455, 56866028, 543368586, 
[2, 3, 4]: 1, 4, 29, 252, 2425, 24864, 266270, 2943308, 33329204, 384641836, 4507577438, 
[2, 3, 5]: 1, 5, 43, 445, 5094, 62111, 790828, 10392109, 139883065, 1918862510, 26727571728, 
[2, 4, -5]: 1, -5, 39, -365, 3772, -41491, 476410, -5644477, 68493324, -846937140, 10633195119, 
[2, 4, -4]: 1, -4, 26, -204, 1771, -16380, 158224, -1577532, 16112057, -167710664, 1772645420, 
[2, 4, -3]: 1, -3, 16, -103, 735, -5592, 44452, -364815, 3067558, -26290517, 228819168, 
[2, 4, -2]: 1, -2, 9, -46, 264, -1612, 10291, -67830, 458109, -3153744, 22049065, 
[2, 4, -1]: 1, -1, 5, -17, 83, -381, 1939, -9905, 52544, -282315, 1545130, 
[2, 4, 0]: 1, 0, 4, 0, 42, 0, 580, 0, 9139, 0, 155664, 
[2, 4, 1]: 1, 1, 6, 21, 116, 566, 3176, 17501, 101391, 590756, 3519782, 
[2, 4, 2]: 1, 2, 11, 62, 405, 2784, 20066, 149158, 1136276, 8821958, 69556554, 
[2, 4, 3]: 1, 3, 19, 139, 1134, 9849, 89372, 837147, 8033545, 78573186, 780388752, 
[2, 4, 4]: 1, 4, 30, 268, 2653, 27980, 308212, 3504380, 40817586, 484534720, 5840593274, 
[2, 4, 5]: 1, 5, 44, 465, 5437, 67716, 880720, 11822217, 162556349, 2277870665, 32411053200, 
[2, 5, -5]: 1, -5, 40, -385, 4095, -46376, 548340, -6690585, 83615350, -1064887395, 13770292256, 
[2, 5, -4]: 1, -4, 27, -220, 1984, -19064, 191325, -1981932, 21031965, -227463808, 2498039219, 
[2, 5, -3]: 1, -3, 17, -115, 863, -6903, 57687, -497683, 4398980, -39630305, 362562226, 
[2, 5, -2]: 1, -2, 10, -54, 332, -2162, 14734, -103630, 746857, -5486206, 40926152, 
[2, 5, -1]: 1, -1, 6, -21, 116, -566, 3176, -17501, 101391, -590756, 3519782, 
[2, 5, 0]: 1, 0, 5, 0, 65, 0, 1110, 0, 21620, 0, 455126, 
[2, 5, 1]: 1, 1, 7, 25, 154, 787, 4812, 28169, 176065, 1096342, 7020112, 
[2, 5, 2]: 1, 2, 12, 70, 483, 3478, 26336, 205438, 1642890, 13388000, 110796476, 
[2, 5, 3]: 1, 3, 20, 151, 1277, 11484, 107920, 1046815, 10402541, 105357279, 1083566504, 
[2, 5, 4]: 1, 4, 31, 284, 2886, 31240, 353199, 4121772, 49274392, 600342184, 7427285236, 
[2, 5, 5]: 1, 5, 45, 485, 5785, 73501, 975225, 13354725, 187331895, 2677999545, 38873136507, 

2024年1月6日土曜日

240106

PARI


A292915

Fubini number に関係する数列を出力してみた。

N=15;

a000670(n) = sum(k=0, n, k!*stirling(n, k, 2));
A(n, k) = 2^k*a000670(n)-sum(j=0, k-1, 2^j*(k-1-j)^n);
for(n=0, N, for(k=0, n, print1(A(k, n-k), ", ")))

\\ 別の計算方法と一致することを確認
B(n, k) = k^n+sum(j=1, n, binomial(n, j)*B(n-j, k));
for(n=0, N, for(k=0, n, print1(A(k, n-k)-B(k, n-k), ", ")))

出力結果
1, 1, 1, 1, 2, 3, 1, 3, 6, 13, 1, 4, 11, 26, 75, 1, 5, 18, 51, 150, 541, 1, 6, 27, 94, 299, 1082, 4683, 1, 7, 38, 161, 582, 2163, 9366, 47293, 1, 8, 51, 258, 1083, 4294, 18731, 94586, 545835, 1, 9, 66, 391, 1910, 8345, 37398, 189171, 1091670, 7087261, 1, 10, 83, 566, 3195, 15666, 74067, 378214, 2183339, 14174522, 102247563, 1, 11, 102, 789, 5094, 28207, 144038, 754241, 4366422, 28349043, 204495126, 1622632573, 1, 12, 123, 1066, 7787, 48638, 272451, 1492098, 8726283, 56697574, 408990251, 3245265146, 28091567595, 1, 13, 146, 1403, 11478, 80469, 498246, 2906071, 17387030, 113375465, 817979478, 6490530291, 56183135190, 526858348381, 1, 14, 171, 1806, 16395, 128170, 878843, 5532206, 34383435, 226488786, 1635899907, 12981058534, 112366270379, 1053716696762, 10641342970443, 1, 15, 198, 2281, 22790, 197291, 1495542, 10240869, 67087254, 451024447, 3270751238, 25961939921, 224732536662, 2107433393523, 21282685940886, 230283190977853, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2023年12月23日土曜日

231223

SINGULAR


n次多項式の判別式の項数について

この記事は
日曜数学 Advent Calendar 2023
の12/23 分として書いております。

2013年にn=17について計算されて以降、新しい情報はないようですが、
現段階で、普通のPCでどの程度計算可能か確認してみた。

一般にn次多項式f(x)(=a_0*x^n + a_1*x^(n-1) + ... +a_n)の判別式は、
(-1)^(n*(n-1)/2) * 1/a_0 * resultant(f(x), f'(x))
と表される。
判別式の項数を考えているので、a_0=1としても良い。

様々な計算方法があるが、
http://syskiso.fuee.u-fukui.ac.jp/~kkimur/FINAL.pdf
のP.20-21のアルゴリズムを使うことにする。

このアルゴリズムを使うと、
x^3 + a_1*x^2 + a_2*x + a_3 = 0 の判別式は次のように計算できる。
① x^2 + a_1*x + a_2 = 0 の判別式はa_1^2 - 4*a_2.
② D0 = a_2^2*(a_1^2 - 4*a_2) = a_1^2*a_2^2 - 4*a_2^3.
③ D1 = -4*a_1^3 + 18*a_1*a_2, D2 = -27.
④ D = D0 + D1*a_3 + D_2*a_3^2.

SINGULARを使うと、n=14までは現実的な時間で算出することができる。

ring r=(0),(a14,a13,a12,a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1),lp;
list v=1,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14;
poly s=v[2]^2-4*v[3]; // 2次の場合
poly t0;
poly u0;
int n,j,k,w;
for(n=3; n<15; n++){
  t0=v[n]^2*s; // D0=a{n-1}^2*disc.(f{n-1}(x))
  s=t0;
  for(k=1; k<n; k++){
    u0=n*diff(t0,v[2]);
    for(j=2; j<n; j++){
      u0=u0+(n+1-j)*v[j]*diff(t0,v[j+1]);
    }
    t0=-u0/(k*v[n]);
    s=s+t0*v[n+1]^k; // D=D0+D1*an+D2*an^2+...+D{n-1}*an^(n-1)
  }
  print(size(s));
}

quit;

出力結果
5
16
59
246
1103
5247
26059
133881
706799
3815311
20979619
117178725
Auf Wiedersehen.

2023年11月12日日曜日

231112

PARI


A(x) = 1 + x*A(x)^t / (1 - x*A(x)^u)^s

A(x) = 1 + x*A(x)^t / (1 - x*A(x)^u)^s
を満たすA(x)を展開してみた。
また、
A(x) = 1 + x*A(x)^t * (1 + x*A(x)^u)^s
を満たすA(x)も展開してみた。

K=5;
L=3;
M=30;
N=10;

a(n, s, t, u) = sum(k=0, n, binomial(t*k+u*(n-k)+1, k)*binomial(n+(s-1)*k-1, n-k)/(t*k+u*(n-k)+1));
b(n, s, t, u) = my(A=1); for(i=1, n, A = 1 + x*A^t / (1 - x*A^u)^s + x*O(x^n) ); polcoeff(A, n);

\\ aとbの値が一致するかどうかを確認
for(s=0, K, for(t=0, K, for(u=0, K, for(n=0, M, if(a(n, s, t, u)!=b(n, s, t, u), print([n, s, t, u]))))))
for(s=0, L, for(t=0, L, for(u=0, L, print1([s, t, u],": "); for(n=0, N, print1(a(n, s, t, u), ", ")); print)))

print

a(n, s, t, u) = sum(k=0, n, binomial(t*k+u*(n-k)+1, k)*binomial(s*k, n-k)/(t*k+u*(n-k)+1));
b(n, s, t, u) = my(A=1); for(i=1, n, A = 1 + x*A^t * (1 + x*A^u)^s + x*O(x^n) ); polcoeff(A, n);

\\ aとbの値が一致するかどうかを確認
for(s=0, K, for(t=0, K, for(u=0, K, for(n=0, M, if(a(n, s, t, u)!=b(n, s, t, u), print([n, s, t, u]))))))
for(s=0, L, for(t=0, L, for(u=0, L, print1([s, t, u],": "); for(n=0, N, print1(a(n, s, t, u), ", ")); print)))

出力結果
[0, 0, 0]: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[0, 0, 1]: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[0, 0, 2]: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[0, 0, 3]: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[0, 1, 0]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[0, 1, 1]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[0, 1, 2]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[0, 1, 3]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[0, 2, 0]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[0, 2, 1]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[0, 2, 2]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[0, 2, 3]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[0, 3, 0]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[0, 3, 1]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[0, 3, 2]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[0, 3, 3]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[1, 0, 0]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[1, 0, 1]: 1, 1, 1, 2, 4, 9, 21, 51, 127, 323, 835, 
[1, 0, 2]: 1, 1, 1, 3, 8, 25, 81, 274, 953, 3389, 12265, 
[1, 0, 3]: 1, 1, 1, 4, 13, 50, 201, 841, 3627, 15993, 71803, 
[1, 1, 0]: 1, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 
[1, 1, 1]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, 1, 2]: 1, 1, 2, 6, 21, 80, 322, 1347, 5798, 25512, 114236, 
[1, 1, 3]: 1, 1, 2, 7, 29, 131, 627, 3124, 16032, 84162, 449828, 
[1, 2, 0]: 1, 1, 3, 10, 36, 137, 543, 2219, 9285, 39587, 171369, 
[1, 2, 1]: 1, 1, 3, 11, 45, 197, 903, 4279, 20793, 103049, 518859, 
[1, 2, 2]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[1, 2, 3]: 1, 1, 3, 13, 66, 366, 2148, 13115, 82449, 530095, 3469401, 
[1, 3, 0]: 1, 1, 4, 19, 101, 578, 3479, 21714, 139269, 912354, 6078832, 
[1, 3, 1]: 1, 1, 4, 20, 113, 688, 4404, 29219, 199140, 1385904, 9807820, 
[1, 3, 2]: 1, 1, 4, 21, 126, 818, 5594, 39693, 289510, 2157150, 16348960, 
[1, 3, 3]: 1, 1, 4, 22, 140, 969, 7084, 53820, 420732, 3362260, 27343888, 
[2, 0, 0]: 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 
[2, 0, 1]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[2, 0, 2]: 1, 1, 2, 7, 26, 107, 462, 2074, 9572, 45147, 216638, 
[2, 0, 3]: 1, 1, 2, 9, 40, 202, 1068, 5884, 33356, 193365, 1140940, 
[2, 1, 0]: 1, 1, 3, 8, 21, 55, 144, 377, 987, 2584, 6765, 
[2, 1, 1]: 1, 1, 3, 10, 37, 146, 602, 2563, 11181, 49720, 224540, 
[2, 1, 2]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[2, 1, 3]: 1, 1, 3, 14, 75, 438, 2704, 17356, 114661, 774514, 5324812, 
[2, 2, 0]: 1, 1, 4, 16, 68, 304, 1412, 6752, 33028, 164512, 831620, 
[2, 2, 1]: 1, 1, 4, 18, 90, 481, 2690, 15547, 92124, 556664, 3417062, 
[2, 2, 2]: 1, 1, 4, 20, 114, 702, 4550, 30585, 211270, 1490561, 10695354, 
[2, 2, 3]: 1, 1, 4, 22, 140, 969, 7084, 53820, 420732, 3362260, 27343888, 
[2, 3, 0]: 1, 1, 5, 27, 161, 1030, 6921, 48190, 344669, 2517303, 18695908, 
[2, 3, 1]: 1, 1, 5, 29, 189, 1325, 9757, 74429, 583037, 4662653, 37911037, 
[2, 3, 2]: 1, 1, 5, 31, 219, 1672, 13439, 112043, 960017, 8402085, 74791408, 
[2, 3, 3]: 1, 1, 5, 33, 251, 2073, 18069, 163600, 1523731, 14504988, 140499307, 
[3, 0, 0]: 1, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 
[3, 0, 1]: 1, 1, 3, 9, 31, 114, 438, 1739, 7077, 29364, 123756, 
[3, 0, 2]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[3, 0, 3]: 1, 1, 3, 15, 82, 495, 3147, 20812, 141621, 985287, 6976369, 
[3, 1, 0]: 1, 1, 4, 13, 41, 129, 406, 1278, 4023, 12664, 39865, 
[3, 1, 1]: 1, 1, 4, 16, 71, 336, 1660, 8464, 44207, 235306, 1271807, 
[3, 1, 2]: 1, 1, 4, 19, 104, 615, 3829, 24728, 164122, 1112641, 7671781, 
[3, 1, 3]: 1, 1, 4, 22, 140, 969, 7084, 53820, 420732, 3362260, 27343888, 
[3, 2, 0]: 1, 1, 5, 23, 111, 562, 2952, 15948, 88076, 495077, 2823293, 
[3, 2, 1]: 1, 1, 5, 26, 150, 925, 5967, 39772, 271758, 1893431, 13400897, 
[3, 2, 2]: 1, 1, 5, 29, 192, 1372, 10314, 80390, 643774, 5264984, 43788393, 
[3, 2, 3]: 1, 1, 5, 32, 237, 1906, 16179, 142665, 1294115, 11998349, 113194205, 
[3, 3, 0]: 1, 1, 6, 36, 236, 1656, 12192, 92960, 727824, 5817696, 47281472, 
[3, 3, 1]: 1, 1, 6, 39, 284, 2223, 18267, 155445, 1358073, 12111306, 109802183, 
[3, 3, 2]: 1, 1, 6, 42, 335, 2886, 26166, 246028, 2377161, 23459250, 235452723, 
[3, 3, 3]: 1, 1, 6, 45, 389, 3648, 36090, 370793, 3918225, 42314583, 464953943, 

[0, 0, 0]: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[0, 0, 1]: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[0, 0, 2]: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[0, 0, 3]: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
[0, 1, 0]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[0, 1, 1]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[0, 1, 2]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[0, 1, 3]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[0, 2, 0]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[0, 2, 1]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[0, 2, 2]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[0, 2, 3]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[0, 3, 0]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[0, 3, 1]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[0, 3, 2]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[0, 3, 3]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[1, 0, 0]: 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
[1, 0, 1]: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
[1, 0, 2]: 1, 1, 1, 2, 3, 6, 11, 22, 44, 90, 187, 
[1, 0, 3]: 1, 1, 1, 3, 6, 16, 42, 114, 322, 918, 2673, 
[1, 1, 0]: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 
[1, 1, 1]: 1, 1, 2, 4, 9, 21, 51, 127, 323, 835, 2188, 
[1, 1, 2]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[1, 1, 3]: 1, 1, 2, 6, 20, 72, 273, 1073, 4333, 17869, 74937, 
[1, 2, 0]: 1, 1, 3, 9, 31, 113, 431, 1697, 6847, 28161, 117631, 
[1, 2, 1]: 1, 1, 3, 10, 38, 154, 654, 2871, 12925, 59345, 276835, 
[1, 2, 2]: 1, 1, 3, 11, 46, 207, 979, 4797, 24138, 123998, 647615, 
[1, 2, 3]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[1, 3, 0]: 1, 1, 4, 18, 94, 529, 3135, 19270, 121732, 785496, 5155167, 
[1, 3, 1]: 1, 1, 4, 19, 104, 614, 3816, 24595, 162896, 1101922, 7580904, 
[1, 3, 2]: 1, 1, 4, 20, 115, 715, 4683, 31824, 222300, 1586310, 11514030, 
[1, 3, 3]: 1, 1, 4, 21, 127, 833, 5763, 41401, 305877, 2309385, 17739561, 
[2, 0, 0]: 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 
[2, 0, 1]: 1, 1, 2, 3, 6, 11, 22, 44, 90, 187, 392, 
[2, 0, 2]: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 
[2, 0, 3]: 1, 1, 2, 7, 24, 95, 386, 1641, 7150, 31844, 144216, 
[2, 1, 0]: 1, 1, 3, 6, 13, 28, 60, 129, 277, 595, 1278, 
[2, 1, 1]: 1, 1, 3, 8, 25, 81, 274, 953, 3389, 12265, 45025, 
[2, 1, 2]: 1, 1, 3, 10, 39, 162, 708, 3202, 14867, 70448, 339324, 
[2, 1, 3]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[2, 2, 0]: 1, 1, 4, 14, 56, 237, 1046, 4762, 22198, 105430, 508384, 
[2, 2, 1]: 1, 1, 4, 16, 74, 364, 1876, 9993, 54582, 304040, 1720576, 
[2, 2, 2]: 1, 1, 4, 18, 94, 527, 3108, 18993, 119214, 763997, 4978304, 
[2, 2, 3]: 1, 1, 4, 20, 116, 728, 4818, 33100, 233824, 1687764, 12393520, 
[2, 3, 0]: 1, 1, 5, 25, 145, 905, 5941, 40433, 282721, 2018897, 14661349, 
[2, 3, 1]: 1, 1, 5, 27, 169, 1138, 8061, 59188, 446455, 3438863, 26935372, 
[2, 3, 2]: 1, 1, 5, 29, 195, 1415, 10815, 85748, 698763, 5816595, 49246703, 
[2, 3, 3]: 1, 1, 5, 31, 223, 1738, 14289, 121985, 1070995, 9609132, 87716242, 
[3, 0, 0]: 1, 1, 3, 3, 1, 0, 0, 0, 0, 0, 0, 
[3, 0, 1]: 1, 1, 3, 6, 16, 42, 114, 322, 918, 2673, 7875, 
[3, 0, 2]: 1, 1, 3, 9, 34, 132, 546, 2327, 10191, 45534, 206788, 
[3, 0, 3]: 1, 1, 3, 12, 55, 273, 1428, 7752, 43263, 246675, 1430715, 
[3, 1, 0]: 1, 1, 4, 10, 26, 69, 181, 476, 1252, 3292, 8657, 
[3, 1, 1]: 1, 1, 4, 13, 50, 201, 841, 3627, 15993, 71803, 327082, 
[3, 1, 2]: 1, 1, 4, 16, 77, 393, 2113, 11761, 67217, 392140, 2325691, 
[3, 1, 3]: 1, 1, 4, 19, 107, 648, 4144, 27500, 187654, 1308361, 9280049, 
[3, 2, 0]: 1, 1, 5, 20, 90, 430, 2136, 10937, 57307, 305822, 1656482, 
[3, 2, 1]: 1, 1, 5, 23, 123, 700, 4170, 25677, 162101, 1043603, 6825429, 
[3, 2, 2]: 1, 1, 5, 26, 159, 1042, 7185, 51340, 376806, 2823734, 21516113, 
[3, 2, 3]: 1, 1, 5, 29, 198, 1459, 11343, 91541, 759664, 6441671, 55570406, 
[3, 3, 0]: 1, 1, 6, 33, 209, 1425, 10206, 75751, 577494, 4495368, 35582439, 
[3, 3, 1]: 1, 1, 6, 36, 251, 1881, 14817, 120950, 1014042, 8680377, 75552553, 
[3, 3, 2]: 1, 1, 6, 39, 296, 2421, 20853, 186300, 1710522, 16041834, 153014400, 
[3, 3, 3]: 1, 1, 6, 42, 344, 3048, 28491, 276517, 2759943, 28150473, 292122423, 

2023年10月1日日曜日

231001

Ruby


Rational function

f, g を多項式とする。
f/g の計算は、1/gと大差がない。 

def I(ary, n)
  a = [1]
  i = 0
  while i < n
    a << -(0..i).inject(0){|s, j| s + ary[1 + i - j] * a[j]}
    i += 1
  end
  a
end

def Rational_function(ary0, ary, n)
  a = ary0.clone
  i = 0
  while i < n
    a[i + 1] -= (0..i).inject(0){|s, j| s + ary[1 + i - j] * a[j]}
    i += 1
  end
  a
end

a = [1, -2] + [0] * 9

p I(a, 10)

# a/a = 1
p Rational_function(a, a, 10)
p a

b = [0, 0, 1] + [0] * 8
p Rational_function(b, a, 10)
p b

出力結果
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 2, 4, 8, 16, 32, 64, 128, 256]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]

2023年9月8日金曜日

230908

PARI


A357782, A357783 and A357784

出力してみた。

a(n) = if(n==0, 1, 2 * sum(k=0, n-1, binomial(n-1,k)*c(k)));
b(n) = if(n==0, 0,     sum(k=0, n-1, binomial(n-1,k)*a(k)));
c(n) = if(n==0, 0,     sum(k=0, n-1, binomial(n-1,k)*b(k)));

for(n=0, 20, print1(a(n),", "))
for(n=0, 20, print1(b(n),", "))
for(n=0, 20, print1(c(n),", "))

出力結果
1, 0, 0, 2, 12, 50, 184, 686, 2996, 16642, 110328, 784190, 5645876, 40685762, 296458344, 2226254766, 17564381332, 147289101090, 1312394060536, 12305546886398, 119906479624084, 
0, 1, 1, 1, 3, 21, 131, 705, 3515, 17389, 91739, 547889, 3746227, 28241373, 224124083, 1821051233, 15023818091, 126366334125, 1094358852075, 9858890038513, 92983173940419, 
0, 0, 1, 3, 7, 17, 61, 343, 2231, 14301, 88561, 542011, 3397483, 22638993, 164336085, 1299899087, 10991061663, 97070035205, 881323166809, 8173386231395, 77489746906355, 

2023年8月14日月曜日

230814

Ruby


素数を生成する漸化式(2)

素数だけを出力することができる。

require 'prime'

def A020639(n)
  return 1 if n == 1
  Prime.each(n){|i|
    return i if n % i == 0
  }
end

def A137613(n)
  ary = []
  a, b = 5, 5
  while ary.size < n
    ary << b
    a += b - 1
    b = A020639(a)
  end
  ary
end

n = 100
p A137613(n)

出力結果
[5, 3, 11, 3, 23, 3, 47, 3, 5, 3, 101, 3, 7, 11, 3, 13, 233, 3, 467, 3, 5, 3, 941, 3, 7, 1889, 3, 3779, 3, 7559, 3, 13, 15131, 3, 53, 3, 7, 30323, 3, 60647, 3, 5, 3, 101, 3, 121403, 3, 242807, 3, 5, 3, 19, 7, 5, 3, 47, 3, 37, 5, 3, 17, 3, 199, 53, 3, 29, 3, 486041, 3, 7, 421, 23, 3, 972533, 3, 577, 7, 1945649, 3, 163, 7, 3891467, 3, 5, 3, 127, 443, 3, 31, 7783541, 3, 7, 15567089, 3, 19, 29, 3, 5323, 7, 5]

2023年7月8日土曜日

230708

Ruby


Expansion of e.g.f. theta_3(q)^(k/2)

k == 1 (mod 2) のとき、出力してみた。

def f(n)
  return 1 if n < 2
  (1..n).inject(:*)
end

def A186690(n)
  s = 0
  (1..n).each{|i| s += i if n % i == 0 && (n / i) % 2 == 1}
  (-1) ** (n + 1) * s
end

def B(k, n)
  a = [0] + (1..n).map{|i| A186690(i)}
  a_ary = [1]
  (1..n).each{|i|
    m = f(i - 1)
    a_ary << (1..i).inject(0){|s, j| s + k * a[j] * a_ary[-j] * m / f(i - j)}
  }
  a_ary
end

n = 10
-25.step(25, 2){|i| p [i, B(i, n)]}

出力結果
[-25, [1, -25, 675, -19575, 606225, -19944225, 693835875, -25422933375, 977745218625, -39350424479625, 1652904664495875]]
[-23, [1, -23, 575, -15525, 449673, -13887975, 454991175, -15742117125, 573015200625, -21871632491415, 872889859083375]]
[-21, [1, -21, 483, -12075, 325521, -9396765, 288749475, -9398322675, 322652227905, -11641352627205, 440043353374275]]
[-19, [1, -19, 399, -9177, 228969, -6146595, 176336055, -5376116025, 173372815665, -5890443433875, 210126743128575]]
[-17, [1, -17, 323, -6783, 155601, -3861465, 102864195, -2922828615, 88124295105, -2806906632705, 94095203991075]]
[-15, [1, -15, 255, -4845, 101385, -2309535, 56759175, -1494125325, 41881856625, -1244022735375, 38993819043375]]
[-13, [1, -13, 195, -3315, 62673, -1299285, 29228355, -707636475, 18316505025, -504116658045, 14685387955875]]
[-11, [1, -11, 143, -2145, 36201, -675675, 13777335, -304008705, 7204902705, -182276917515, 4897582264575]]
[-9, [1, -9, 99, -1287, 19089, -316305, 5772195, -114729615, 2462398785, -56674425465, 1390839617475]]
[-7, [1, -7, 63, -693, 8841, -127575, 2047815, -36081045, 690863985, -14263534215, 315469515375]]
[-5, [1, -5, 35, -315, 3345, -40845, 562275, -8575875, 143273025, -2598830325, 50790003075]]
[-3, [1, -3, 15, -105, 873, -8595, 97335, -1233225, 17298225, -266220675, 4444840575]]
[-1, [1, -1, 3, -15, 81, -585, 4995, -46935, 499905, -6109425, 79791075]]
[1, [1, 1, -1, 3, 9, -15, 135, -2205, 21105, 76545, 694575]]
[3, [1, 3, 3, -3, 81, 315, -765, 4725, 16065, 1091475, 10843875]]
[5, [1, 5, 15, 15, 105, 1845, 5175, -11025, 363825, 4011525, 46734975]]
[7, [1, 7, 35, 105, 273, 4095, 38115, 86625, 540225, 22444695, 215417475]]
[9, [1, 9, 63, 315, 1161, 8505, 112455, 796635, 2843505, 57661065, 1099313775]]
[11, [1, 11, 99, 693, 3729, 22275, 259875, 2900205, 19490625, 161008155, 3451399875]]
[13, [1, 13, 143, 1287, 9321, 62205, 598455, 7702695, 78423345, 647284365, 9370936575]]
[15, [1, 15, 195, 2145, 19665, 158535, 1447875, 18243225, 232985025, 2435846175, 28443399075]]
[17, [1, 17, 255, 3315, 36873, 358785, 3490695, 42117075, 590951025, 7589122065, 91863766575]]
[19, [1, 19, 323, 4845, 63441, 731595, 7979715, 96556005, 1388717505, 20396897955, 278955792675]]
[21, [1, 21, 399, 6783, 102249, 1370565, 16991415, 216411615, 3146775345, 49819225365, 767467173375]]
[23, [1, 23, 483, 9177, 156561, 2398095, 33725475, 465686865, 6952917825, 114751084455, 1935277553475]]
[25, [1, 25, 575, 12075, 230025, 3969225, 62850375, 953260875, 14929952625, 254408009625, 4570418955375]]

2023年6月27日火曜日

230627

PARI


Number of partitions of n with rank r or higher

出力してみた。

a(n, r) = sum(k=1, n, (-1)^(k-1)*numbpart(n-k*(3*k+2*r-1)/2));
for(r=0, 10, for(n=1, 20, print1(a(n, r), ", ")); print)

出力結果
1, 1, 2, 3, 4, 6, 9, 12, 17, 23, 31, 42, 56, 73, 96, 125, 161, 207, 265, 336, 
0, 1, 1, 2, 3, 5, 6, 10, 13, 19, 25, 35, 45, 62, 80, 106, 136, 178, 225, 291, 
0, 0, 1, 1, 2, 3, 5, 7, 10, 14, 20, 27, 37, 49, 66, 86, 113, 147, 190, 243, 
0, 0, 0, 1, 1, 2, 3, 5, 7, 11, 14, 21, 28, 39, 51, 70, 90, 120, 154, 201, 
0, 0, 0, 0, 1, 1, 2, 3, 5, 7, 11, 15, 21, 29, 40, 53, 72, 94, 124, 161, 
0, 0, 0, 0, 0, 1, 1, 2, 3, 5, 7, 11, 15, 22, 29, 41, 54, 74, 96, 128, 
0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 5, 7, 11, 15, 22, 30, 41, 55, 75, 98, 
0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 5, 7, 11, 15, 22, 30, 42, 55, 76, 
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 5, 7, 11, 15, 22, 30, 42, 56, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 5, 7, 11, 15, 22, 30, 42, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 5, 7, 11, 15, 22, 30, 

2023年5月1日月曜日

230501

Ruby


(n+1)^k written in base n

n>1の時、出力してみた。

def A(n, k)
  ((n + 1) ** k).to_s(n)
end

(1..15).each{|i|
  p (2..36).map{|j| A(j, i)}
}

出力結果
["11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11", "11"]
["1001", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121", "121"]
["11011", "2101", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331", "1331"]
["1010001", "100111", "21301", "20141", "15041", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641", "14641"]
["11110011", "1101221", "300311", "222101", "205451", "164351", "163251", "162151", "161051", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51", "15aa51"]
["1011011001", "12121201", "3310021", "2443111", "2304401", "2141161", "2015761", "1783661", "1771561", "175a461", "1749361", "1738261", "1727161", "1716061", "1704f61", "16g3f61", "16g2f61", "16g1f61", "16g0f61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61", "16fkf61"]
["100010001011", "211110211", "103010231", "32424221", "25352411", "23553101", "22175571", "20731371", "19487171", "19253a71", "19020971", "18aba871", "18998771", "18876671", "18754571", "18632471", "18510371", "183hh271", "182gg171", "181ff071", "180edl71", "17mdcl71", "17mcbl71", "17mbal71", "17ma9l71", "17m98l71", "17m87l71", "17m76l71", "17m65l71", "17m54l71", "17m43l71", "17m32l71", "17m21l71", "17m10l71", "17lzzl71"]
["1100110100001", "10022220021", "1133113201", "412221431", "323320521", "262414111", "244153501", "228145181", "214358881", "200793681", "1a922a481", "1a6996281", "1a4542081", "1a20dcd81", "19fc99c81", "19e956b81", "19d613a81", "19c2g0981", "19ajch881", "199h9f781", "198f6d681", "197d3b581", "196b09481", "1958m7381", "1946k5281", "1934i3181", "1922g1081", "1910drs81", "18tsbqs81", "18tr9ps81", "18tq7os81", "18tp5ns81", "18to3ms81", "18tn1ls81", "18tlzks81"]
["100110011100011", "111022121001", "13130311211", "10034441241", "4000530131", "3216555221", "2705710511", "2520607101", "2357947691", "220861a391", "207b513091", "1c43628a91", "1c09962891", "1bc2ebb691", "1b9c636491", "1b76ec1291", "1b5174e091", "1b2eig9h91", "1b0aca5g91", "1aj6641f91", "1ai1ljje91", "1agkgegd91", "1afhb9dc91", "1aee64ab91", "1adb0p7a91", "1ac7ml4991", "1ab4ih1891", "1aa1ecr791", "1a8sa8p691", "1a7q64n591", "1a6o20l491", "1a5lutj391", "1a4jrqh291", "1a3honf191", "1a2flkd091"]
["1110011010101001", "1222021101011", "211100023321", "110434404201", "44010231441", "35415440431", "31765015621", "27726678111", "25937424601", "242938131a1", "228746439a1", "213798b66a1", "1dca518b3a1", "1d902b830a1", "1d56299ada1", "1d1e49d3ba1", "1cg68c0e9a1", "1cdheg787a1", "1cbb32g25a1", "1c94ca5h3a1", "1c6k1jhc1a1", "1c4ee886ma1", "1c294kn1la1", "1c03kaelka1", "1bnoc06hja1", "1bmk3gpdia1", "1blfn7i9ha1", "1bkbfrb5ga1", "1bj78j41fa1", "1bi31arsea1", "1bguq2lpda1", "1bfrjrfmca1", "1beodk9jba1", "1bdl7d3gaa1", "1bci15xd9a1"]
["101011001111111011", "21220002111121", "2322100323131", "1220334001211", "524112550251", "422603145041", "351635174031", "316104570221", "285311670611", "267120945101", "24b3baa817b1", "234b457503b1", "21c916a60db1", "20792e4b3ab1", "1f2b8c3487b1", "1eeg1e5gf4b1", "1eb4f2cf61b1", "1e7cdc4ffhb1", "1e42e5ii7fb1", "1e0dh1g1kdb1", "1dj4llf7dbb1", "1dgj5mgf69b1", "1debe1k0n7b1", "1dc3o60bh5b1", "1d9mac6ob3b1", "1d7fnkfc51b1", "1d59b2prqrb1", "1d32re9glqb1", "1d0qfrn5gpb1", "1ctl4c7pbob1", "1csfosof6nb1", "1craeea51mb1", "1cq53xtsulb1", "1coyskgjqkb1", "1cnuj73amjb1"]
["10000001101111110001", "1011120101000101", "32203110221101", "13424224013321", "10205242453201", "4651634625451", "4070207134341", "3477151372431", "3138428376721", "292832a296111", "27433a9699701", "258329cc541c1", "2407a83270ac1", "2281c240ee6c1", "211e44f7d02c1", "1gce0g35f2fc1", "1g7g1hfa37cc1", "1g3176h1ce9c1", "1fi6h04h636c1", "1fee9ihi1d3c1", "1fb24lf0l30c1", "1f7d25g8lfkc1", "1f421fll06ic1", "1f0g356c3mgc1", "1en66mj59eec1", "1eknch90h6cc1", "1eieke0pqqac1", "1eg61cnq9j8c1", "1edrcdksmc6c1", "1ebjpgk2654c1", "1e9c8ll7lu2c1", "1e74osof6o0c1", "1e4v93tophwc1", "1e2ose21bbvc1", "1e0idqadx5uc1"]
["110000101001111010011", "11200021111001111", "1020300213032111", "203222014202031", "112302111425211", "54501314213261", "44772300477751", "38358665206741", "34522712143931", "31100622147221", "29b77284474711", "280b5c9c496101", "264844b597b8d1", "24a9de650e63d1", "233029474d2ed1", "21c9f029411ad1", "206601f7db26d1", "1i048e4ie852d1", "1he53h52399id1", "1h9837fejegfd1", "1h4d74eg023cd1", "1gmkf7m27ed9d1", "1gj63hdil716d1", "1gfgj8big1e3d1", "1gc3d3foeo30d1", "1g8h92q9hniod1", "1g5576eqop8md1", "1g1m7e7l6srkd1", "1fsb9q4jl4iid1", "1fq0eb5m8b9gd1", "1fnlkuastk0ed1", "1flbtkk6luocd1", "1fj26cxkg9gad1", "1fgri7g3cn88d1", "1feiw40ob306d1"]
["10010001111101101111001", "200201002221012221", "11223303010013221", "2240442211222341", "1235323230121321", "632514456346201", "514715305477461", "433056427275251", "379749833583241", "342106843609431", "309729b08bbb821", "2a8c45994127111", "28acc9231356801", "27058d5b605a1e1", "25632bdbc201be1", "23e57f2bd52c6e1", "226c61h536d91e1", "20i4d404e3d7fe1", "1jbj91275cj8be1", "1j5hbb29ddab7e1", "1ilhkbj8g25g3e1", "1igkd0719m4mme1", "1ic19l78g487je1", "1i77b2k59hfhge1", "1i2fggjedd13de1", "1hopqc290efgae1", "1hlacdldnm637e1", "1hho0llss6rj4e1", "1he9l60oapn71e1", "1haqepgrujkpte1", "1h7daj97qhkere1", "1h408h7qsjm3pe1", "1h0l8jck2ppqne1", "1gw9apnjg0vgle1", "1gtxf04oze36je1"]
["110110101111001001101011", "2202211102201212201", "130122333110212031", "30200414324001301", "14032555531334531", "10260662353141211", "5664070362474271", "4763631711137761", "4177248169415651", "37631741796a2741", "33a4a08b98bb7a31", "30683a2605398221", "2b59b7b5448c0811", "2975e7422660c101", "27b95e997e21d9f1", "2612d60e817f23f1", "249108148a24aff1", "2303hh44ihh24af1", "21bb8a39cic805f1", "204281dc2630j0f1", "1kihga962i7ljhf1", "1kcead78b944mdf1", "1k6db74g0kcg39f1", "1k0eidn0f28895f1", "1jki67a820e4h1f1", "1jfnpbeb9f34qof1", "1jb3mq779i09alf1", "1j6comels65hnif1", "1j1o0r6p56j08ff1", "1is6a9bdrj9focf1", "1iokntsh2c63a9f1", "1il48pp1mf8pt6f1", "1ihltrvwmshig3f1", "1ie6k1e80gwd30f1", "1iarcf4todh9pxf1"]