local p = {}
function p.contains(seq, n)
if n > seq[#seq] then
return nil
end
for i = 1, #seq do
if seq[i] == n then
return true
end
end
return false
end
-- OEIS A117536
p.zeta_peak = {
0, 1, 2, 3, 4,
5, 7, 10, 12, 19,
22, 27, 31, 41, 53,
72, 99, 118, 130, 152,
171, 217, 224, 270, 342,
422, 441, 494, 742, 764,
935, 954, 1012, 1106, 1178,
1236, 1395, 1448, 1578, 2460,
2684, 3395, 5585, 6079, 7033,
8269, 8539, 11664, 14348, 16808,
28742, 34691,
-- unconfirmed data from [[The Riemann zeta function and tuning #Zeta EDO lists]]
36269, 57578, 58973, 95524, 102557,
112985, 148418, 212147, 241200
}
-- OEIS A117538
p.zeta_integral = {
2, 5, 7, 12, 19,
31, 41, 53, 72, 130,
171, 224, 270, 764, 954,
1178, 1395, 1578, 2684, 3395,
7033, 8269, 8539, 14348, 16808,
36269, 58973
}
-- OEIS A117537
p.zeta_gap = {
2, 3, 5, 7, 12,
19, 31, 46, 53, 72,
270, 311, 954, 1178, 1308,
1395, 1578, 3395, 4190,
-- unconfirmed data from [[The Riemann zeta function and tuning #Zeta EDO lists]]
8539, 14348, 58973, 95524
}
-- square superparticular indices by prime limit
-- counted by OEIS A117582
-- see https://github.com/lucasaugustus/oeis/blob/main/stormer.py
p.square_superpartuculars = {
[2] = {},
[3] = {2, 3},
[5] = {4, 5, 9},
[7] = {6, 7, 8, 15, 49},
[11] = {10, 11, 21, 55, 99},
[13] = {
12, 13, 14, 25, 26, 27, 64, 65,
351
},
[17] = {
16, 17, 33, 34, 35, 50, 51,
120, 169, 441
},
[19] = {
18, 19, 20, 39, 56, 76, 77,
153, 170, 209, 324,
2431
},
[23] = {
22, 23, 24, 45, 69, 91,
161, 208, 323, 391,
2024
},
[29] = {
28, 29, 57,
115, 116, 144, 175, 231, 289, 494, 551, 783,
1275, 2001, 3249, 9801,
13311
},
[31] = {
30, 31, 32, 63, 92,
125, 154, 155, 341, 342, 495, 528, 714,
1519, 1520,
13455
},
[37] = {
36, 37, 38, 75,
111, 185, 186, 221, 260, 406, 407, 666, 703, 961,
1000, 1331, 1444, 1665, 1701, 2737, 3626, 5291, 7105,
17576
},
[41] = {
40, 41, 81,
124, 204, 246, 247, 286, 287, 288, 369, 493, 575,
1024, 1025, 1189, 1518, 1681, 1682, 1886, 2295, 3773, 4960, 5083,
29601, 32799,
212381
},
[43] = {
42, 43, 44, 85, 86, 87,
129, 171, 216, 259, 300, 343, 344, 559, 560, 645, 989,
1332, 1333, 1376, 1805, 1849, 2107, 2108, 2665, 2925, 4256, 4901, 5290,
10879, 10880, 11439,
134849
},
[47] = {
46, 47, 48, 93, 94, 95,
187, 188, 189, 329, 375, 376, 377, 517, 704, 799, 846, 987, 988,
1035, 1364, 1457, 1599, 2209, 2255, 2584, 4465, 6579, 7568,
16169, 17577, 19551, 21385,
192511
},
[53] = {
52, 53, 54,
105, 160, 265, 319, 370, 371, 424, 476, 529, 637, 689, 741, 847, 900, 901, 902,
1377, 2015, 2755, 2915, 5831, 11661, 1749, 4929, 6149,
23001, 23374, 27455, 36518, 62699,
247456, 248676,
1205645
},
[59] = {
58, 59,
117, 118, 119, 176, 235, 295, 296, 530, 531, 532, 589, 649, 650, 944, 945,
1121, 1887, 2184, 2300, 2419, 3009, 3363, 5075, 5781, 6137, 6727, 6784, 6785, 7315, 8555,
10620, 13689, 17051, 19942, 27435, 31212, 37583, 46138, 55224, 63426,
956449
},
}
return p