/* This code can be loaded, or copied and paste using cpaste, into Sage. It will load the data associated to the HMF, including the field, level, and Hecke and Atkin-Lehner eigenvalue data. */ P. = PolynomialRing(QQ) g = P([-55, 0, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([3, 3, w + 1]) primes_array = [ [2, 2, w + 1],\ [3, 3, w + 1],\ [3, 3, w + 2],\ [5, 5, -2*w + 15],\ [11, 11, 3*w - 22],\ [13, 13, w + 4],\ [13, 13, w + 9],\ [17, 17, w + 2],\ [17, 17, w + 15],\ [19, 19, -w - 6],\ [19, 19, w - 6],\ [23, 23, w + 3],\ [23, 23, w + 20],\ [47, 47, w + 14],\ [47, 47, w + 33],\ [49, 7, -7],\ [67, 67, w + 16],\ [67, 67, w + 51],\ [73, 73, w + 36],\ [73, 73, w + 37],\ [79, 79, 5*w + 36],\ [79, 79, 5*w - 36],\ [89, 89, -w - 12],\ [89, 89, w - 12],\ [103, 103, w + 40],\ [103, 103, w + 63],\ [131, 131, -6*w - 43],\ [131, 131, -6*w + 43],\ [139, 139, 2*w - 9],\ [139, 139, -2*w - 9],\ [151, 151, 4*w - 27],\ [151, 151, 4*w + 27],\ [163, 163, w + 50],\ [163, 163, w + 113],\ [173, 173, w + 48],\ [173, 173, w + 125],\ [181, 181, -3*w - 26],\ [181, 181, 3*w - 26],\ [193, 193, w + 21],\ [193, 193, w + 172],\ [197, 197, w + 45],\ [197, 197, w + 152],\ [211, 211, 2*w - 3],\ [211, 211, -2*w - 3],\ [223, 223, w + 72],\ [223, 223, w + 151],\ [229, 229, 6*w + 47],\ [229, 229, 6*w - 47],\ [233, 233, w + 88],\ [233, 233, w + 145],\ [239, 239, -3*w - 16],\ [239, 239, 3*w - 16],\ [269, 269, -w - 18],\ [269, 269, w - 18],\ [271, 271, -8*w - 57],\ [271, 271, -8*w + 57],\ [277, 277, w + 71],\ [277, 277, w + 206],\ [293, 293, w + 73],\ [293, 293, w + 220],\ [337, 337, w + 27],\ [337, 337, w + 310],\ [359, 359, 9*w + 64],\ [359, 359, 9*w - 64],\ [367, 367, w + 34],\ [367, 367, w + 333],\ [373, 373, w + 146],\ [373, 373, w + 227],\ [383, 383, w + 173],\ [383, 383, w + 210],\ [389, 389, -5*w - 42],\ [389, 389, 5*w - 42],\ [401, 401, 29*w - 216],\ [401, 401, 11*w - 84],\ [421, 421, -6*w + 49],\ [421, 421, -6*w - 49],\ [431, 431, 3*w - 8],\ [431, 431, -3*w - 8],\ [439, 439, -4*w - 21],\ [439, 439, 4*w - 21],\ [443, 443, w + 99],\ [443, 443, w + 344],\ [449, 449, -8*w - 63],\ [449, 449, -8*w + 63],\ [457, 457, w + 91],\ [457, 457, w + 366],\ [463, 463, w + 38],\ [463, 463, w + 425],\ [467, 467, w + 191],\ [467, 467, w + 276],\ [479, 479, -3*w - 4],\ [479, 479, 3*w - 4],\ [487, 487, w + 223],\ [487, 487, w + 264],\ [491, 491, 3*w - 2],\ [491, 491, -3*w - 2],\ [509, 509, 2*w - 27],\ [509, 509, -2*w - 27],\ [521, 521, -w - 24],\ [521, 521, w - 24],\ [557, 557, w + 75],\ [557, 557, w + 482],\ [571, 571, 11*w + 78],\ [571, 571, 11*w - 78],\ [587, 587, w + 246],\ [587, 587, w + 341],\ [593, 593, w + 184],\ [593, 593, w + 409],\ [613, 613, w + 235],\ [613, 613, w + 378],\ [641, 641, -4*w - 39],\ [641, 641, 4*w - 39],\ [643, 643, w + 174],\ [643, 643, w + 469],\ [647, 647, w + 257],\ [647, 647, w + 390],\ [659, 659, -18*w + 131],\ [659, 659, 30*w - 221],\ [661, 661, 3*w - 34],\ [661, 661, -3*w - 34],\ [673, 673, w + 196],\ [673, 673, w + 477],\ [677, 677, w + 240],\ [677, 677, w + 437],\ [683, 683, w + 136],\ [683, 683, w + 547],\ [709, 709, 21*w - 158],\ [709, 709, 27*w - 202],\ [727, 727, w + 339],\ [727, 727, w + 388],\ [733, 733, w + 39],\ [733, 733, w + 694],\ [739, 739, 10*w - 69],\ [739, 739, 10*w + 69],\ [811, 811, 35*w - 258],\ [811, 811, -19*w + 138],\ [823, 823, w + 177],\ [823, 823, w + 646],\ [829, 829, -6*w - 53],\ [829, 829, 6*w - 53],\ [841, 29, -29],\ [853, 853, w + 316],\ [853, 853, w + 537],\ [857, 857, w + 270],\ [857, 857, w + 587],\ [863, 863, w + 405],\ [863, 863, w + 458],\ [877, 877, w + 377],\ [877, 877, w + 500],\ [881, 881, -19*w + 144],\ [881, 881, -37*w + 276],\ [883, 883, w + 52],\ [883, 883, w + 831],\ [907, 907, w + 350],\ [907, 907, w + 557],\ [919, 919, -8*w - 51],\ [919, 919, 8*w - 51],\ [929, 929, 5*w - 48],\ [929, 929, -5*w - 48],\ [937, 937, w + 176],\ [937, 937, w + 761],\ [947, 947, w + 252],\ [947, 947, w + 695],\ [953, 953, w + 334],\ [953, 953, w + 619],\ [961, 31, -31],\ [983, 983, w + 277],\ [983, 983, w + 706],\ [997, 997, w + 371],\ [997, 997, w + 626]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^4 - 5*x^2 + 5 K. = NumberField(heckePol) hecke_eigenvalues_array = [e, -1, e^2 - 1, e^2 - 2, e^3 - 3*e, 3*e^3 - 9*e, -2*e^3 + 5*e, -2*e^3 + 3*e, -e^3 + 6*e, -e^3 + 4*e, -e^3 + 4*e, 2*e^2 + 1, 6*e^2 - 16, -7*e^2 + 23, -e^2 + 12, e^2 - 4, -e^2 + 2, e^2 + 8, -e^3 + 7*e, 8*e^3 - 24*e, -5*e^3 + 20*e, -2*e^3, e^2 - 6, -10*e^2 + 19, -15*e^2 + 39, 6*e^2 - 14, -5*e^3 + 14*e, 3*e^3 - 20*e, -e^3 + 6*e, -7*e^3 + 17*e, -7*e^3 + 21*e, 2*e^3 - 10*e, -16*e^2 + 44, -6*e^2 + 16, e^3 - e, -4*e^3 + 13*e, e^2, -2*e^2 + 20, 7*e^3 - 23*e, -7*e^3 + 22*e, -12*e^3 + 30*e, -7*e^3 + 16*e, -2*e^3 + 2*e, 14*e^3 - 37*e, -5*e^2 + 14, -6*e^2 + 11, -4*e^2 + 20, -e^2, -8*e^3 + 25*e, 6*e^3 - 20*e, 7*e^3 - 19*e, 5*e^3 - 25*e, -5*e^2 + 10, 6*e^2 - 15, -4*e^3 + 11*e, 16*e^3 - 45*e, 5*e^3 - 32*e, 7*e^3 - 26*e, -6*e^3 + 24*e, -5*e^3 + 27*e, -14*e^3 + 36*e, -6*e^3 + 31*e, 9*e^3 - 19*e, 18*e^3 - 50*e, 12*e^2 - 13, -5*e^2 + 23, 8*e^3 - 12*e, 6*e^3 - 18*e, 14*e^2 - 21, -4*e^2 + 41, -16*e^2 + 30, 11*e^2 - 5, -17*e^2 + 35, -4*e^2 + 45, -4*e^2 + 30, -12*e^2 + 35, -2*e^3 - e, 11*e^3 - 20*e, 5*e^3 - 29*e, -4*e^3 + 2*e, 11*e^2 - 29, -24*e^2 + 69, 15*e^2 - 51, 23*e^2 - 56, e^3 - 24*e, -14*e^3 + 47*e, -5*e^2 + 6, 15*e^2 - 21, 24*e^2 - 68, 12*e^2 - 17, -3*e^3 + 16*e, -5*e^3 + 10*e, 17, -28*e^2 + 78, -e^3 + 9*e, -8*e^3 + 46*e, 8*e^2 - 40, 2*e^2, -15*e^2 + 25, -18*e^2 + 45, 14*e^3 - 46*e, 3*e^3 + 8*e, 22*e^3 - 68*e, -7*e^3 + 19*e, -20*e^2 + 43, 11*e^2 - 38, 25*e^3 - 67*e, -2*e^3 + 26*e, 8*e^3 - 27*e, 2*e^3 - 16*e, -6*e^2 + 20, -14*e^2 + 25, -19*e^2 + 44, 8*e^2 - 49, -21*e^2 + 43, 29*e^2 - 68, 13*e^3 - 41*e, -6*e^3 + 18*e, -24*e^2 + 68, 23*e^2 - 52, 12*e^3 - 54*e, -12*e^3 + 48*e, 2*e^3 + 3*e, 15*e^3 - 45*e, 33*e^2 - 74, -18*e^2 + 34, 5*e^2 - 9, -17*e^2 + 41, -26*e^2 + 63, -e^2 + 22, -3*e, 9*e^3 - 34*e, -11*e^3 + 56*e, -2*e^3 + 25*e, 14*e^3 - 46*e, -17*e^3 + 64*e, 19*e^2 - 41, -e^2 - 14, 12*e^2 - 34, 3*e^2 + 26, -5*e^2 - 7, e^3 - 6*e, -8*e^3 + 25*e, -15*e^3 + 49*e, -7*e^3 + 44*e, -5*e^2 + 16, 16*e^2 - 66, 6*e^3 - 28*e, -2*e^3 + 6*e, -8, -20*e^2 + 77, -26*e^2 + 66, 11*e^2 - 26, 6*e^2 - 13, -8*e^2 + 3, -4*e^3 + 18*e, 4*e^3 - 45*e, 8*e^2 - 45, -28*e^2 + 50, 11*e^3 - 37*e, 20*e^3 - 68*e, 23*e^2 - 28, -18*e^2 + 23, 10*e^3 - 54*e, 9*e^3 - 28*e, 26*e^2 - 67, 17*e^2 - 51, 24*e^2 - 59, -7*e^3 + 24*e, -15*e^3 + 58*e] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal([3, 3, w + 1])] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]