/* 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([44, 0, -14, 0, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([25, 5, 1/2*w^2 - 1]) primes_array = [ [4, 2, -1/2*w^3 + w^2 + 4*w - 8],\ [11, 11, 1/2*w^3 - 3/2*w^2 - 4*w + 11],\ [11, 11, -1/2*w^2 - w + 2],\ [11, 11, -1/2*w^2 + w + 2],\ [19, 19, 1/2*w^3 - 1/2*w^2 - 4*w + 5],\ [19, 19, 1/2*w^3 + w^2 - 4*w - 9],\ [19, 19, 1/2*w^3 - w^2 - 4*w + 9],\ [19, 19, 1/2*w^3 + 1/2*w^2 - 4*w - 5],\ [25, 5, 1/2*w^2 - 1],\ [29, 29, 1/2*w^3 - 4*w - 1],\ [29, 29, -1/2*w^3 + 4*w - 1],\ [31, 31, -w - 1],\ [31, 31, w - 1],\ [41, 41, 1/2*w^3 + 1/2*w^2 - 4*w - 2],\ [41, 41, -1/2*w^3 + 1/2*w^2 + 4*w - 2],\ [49, 7, -1/2*w^3 + 1/2*w^2 + 5*w - 7],\ [49, 7, 3/2*w^3 - 7/2*w^2 - 13*w + 29],\ [59, 59, -1/2*w^3 - 3/2*w^2 + 3*w + 10],\ [59, 59, 1/2*w^3 - 3/2*w^2 - 3*w + 10],\ [61, 61, 1/2*w^2 + w - 6],\ [61, 61, 1/2*w^2 - w - 6],\ [71, 71, w^3 - 5/2*w^2 - 8*w + 20],\ [71, 71, -w^3 + 5/2*w^2 + 10*w - 24],\ [81, 3, -3],\ [101, 101, -1/2*w^3 + 1/2*w^2 + 4*w - 1],\ [101, 101, 1/2*w^3 + 1/2*w^2 - 4*w - 1],\ [109, 109, 3/2*w^2 + w - 12],\ [109, 109, 3/2*w^2 - w - 12],\ [149, 149, 1/2*w^3 + 2*w^2 - 4*w - 15],\ [149, 149, -1/2*w^3 + 2*w^2 + 4*w - 15],\ [151, 151, 1/2*w^3 - 1/2*w^2 - 4*w + 8],\ [151, 151, -w^3 + 5/2*w^2 + 8*w - 18],\ [151, 151, -w^3 + 3/2*w^2 + 10*w - 18],\ [151, 151, -1/2*w^3 - 1/2*w^2 + 4*w + 8],\ [179, 179, 1/2*w^3 + w^2 - 4*w - 5],\ [179, 179, -1/2*w^3 + w^2 + 4*w - 5],\ [181, 181, 1/2*w^3 - 5*w - 3],\ [181, 181, w^3 - 1/2*w^2 - 7*w - 1],\ [181, 181, -1/2*w^3 - 5/2*w^2 + 4*w + 15],\ [181, 181, 1/2*w^3 - 5*w + 3],\ [191, 191, w^3 - 2*w^2 - 7*w + 13],\ [191, 191, -w^3 - 2*w^2 + 7*w + 13],\ [199, 199, -5/2*w^2 - 2*w + 18],\ [199, 199, -5/2*w^2 + 2*w + 18],\ [241, 241, -3/2*w^3 + 7/2*w^2 + 14*w - 30],\ [241, 241, -3/2*w^3 + 5/2*w^2 + 16*w - 30],\ [251, 251, 3/2*w^2 - w - 13],\ [251, 251, 3/2*w^2 + w - 13],\ [269, 269, 1/2*w^3 + 1/2*w^2 - 3*w - 10],\ [269, 269, -w^3 + 1/2*w^2 + 7*w - 8],\ [269, 269, w^3 + 1/2*w^2 - 7*w - 8],\ [269, 269, -1/2*w^3 + 1/2*w^2 + 3*w - 10],\ [271, 271, -w^3 + 8*w + 5],\ [271, 271, -2*w^2 + 2*w + 15],\ [271, 271, 2*w^2 + 2*w - 15],\ [271, 271, w^3 - 8*w + 5],\ [281, 281, -2*w + 3],\ [281, 281, w^3 - 2*w^2 - 12*w + 25],\ [311, 311, 1/2*w^3 + 5/2*w^2 - 3*w - 17],\ [311, 311, -1/2*w^3 + 5/2*w^2 + 3*w - 17],\ [331, 331, -1/2*w^3 + 3/2*w^2 + 5*w - 10],\ [331, 331, 1/2*w^3 + 3/2*w^2 - 5*w - 10],\ [349, 349, -1/2*w^2 + 3*w - 3],\ [349, 349, -w^3 + 5/2*w^2 + 11*w - 25],\ [379, 379, 5/2*w^2 - w - 21],\ [379, 379, 5/2*w^2 + w - 21],\ [389, 389, 3/2*w^2 - w - 14],\ [389, 389, 1/2*w^3 - 5/2*w^2 - 3*w + 16],\ [389, 389, -1/2*w^3 - 5/2*w^2 + 3*w + 16],\ [389, 389, 3/2*w^2 + w - 14],\ [409, 409, w^3 + w^2 - 8*w - 7],\ [409, 409, -w^3 + w^2 + 8*w - 7],\ [419, 419, 3/2*w^3 - 5/2*w^2 - 15*w + 28],\ [419, 419, 3/2*w^3 - 7/2*w^2 - 13*w + 28],\ [439, 439, 1/2*w^2 + 2*w - 9],\ [439, 439, -3/2*w^2 + 2*w + 6],\ [439, 439, -3/2*w^2 - 2*w + 6],\ [439, 439, 1/2*w^2 - 2*w - 9],\ [449, 449, -w^3 + 1/2*w^2 + 6*w - 1],\ [449, 449, 1/2*w^2 + 2*w - 5],\ [449, 449, 1/2*w^2 - 2*w - 5],\ [449, 449, w^3 + 1/2*w^2 - 6*w - 1],\ [461, 461, w^3 + 3/2*w^2 - 7*w - 9],\ [461, 461, -w^3 + 3/2*w^2 + 7*w - 9],\ [491, 491, -1/2*w^3 - 1/2*w^2 + 6*w + 7],\ [491, 491, -5/2*w^2 + w + 16],\ [491, 491, 5/2*w^2 + w - 16],\ [491, 491, 1/2*w^3 - 1/2*w^2 - 6*w + 7],\ [499, 499, -1/2*w^3 + 5/2*w^2 + 4*w - 19],\ [499, 499, 1/2*w^3 + 5/2*w^2 - 4*w - 19],\ [541, 541, -1/2*w^3 + 3/2*w^2 + 4*w - 7],\ [541, 541, 1/2*w^3 + 3/2*w^2 - 4*w - 7],\ [569, 569, 1/2*w^2 + 2*w - 2],\ [569, 569, 1/2*w^2 - 2*w - 2],\ [571, 571, -2*w^3 + 9/2*w^2 + 17*w - 39],\ [571, 571, 1/2*w^3 - 1/2*w^2 - 5*w - 2],\ [571, 571, -1/2*w^3 - 1/2*w^2 + 5*w - 2],\ [571, 571, w^3 - 5/2*w^2 - 11*w + 27],\ [599, 599, -w^3 + 2*w^2 + 8*w - 13],\ [599, 599, w^3 + 2*w^2 - 8*w - 13],\ [601, 601, 1/2*w^2 + 2*w - 4],\ [601, 601, 1/2*w^2 - 2*w - 4],\ [619, 619, -1/2*w^3 + 2*w^2 + 6*w - 13],\ [619, 619, 1/2*w^3 + 2*w^2 - 6*w - 13],\ [631, 631, -w^3 - 1/2*w^2 + 6*w - 2],\ [631, 631, w^3 - 1/2*w^2 - 6*w - 2],\ [641, 641, w^3 - 8*w - 1],\ [641, 641, -1/2*w^3 - 1/2*w^2 + 5*w - 1],\ [641, 641, 1/2*w^3 - 1/2*w^2 - 5*w - 1],\ [641, 641, w^3 - 8*w + 1],\ [661, 661, -1/2*w^3 + 7/2*w^2 + 2*w - 25],\ [661, 661, 3/2*w^3 - 9/2*w^2 - 11*w + 32],\ [661, 661, -5/2*w^3 + 13/2*w^2 + 23*w - 56],\ [661, 661, 1/2*w^3 + 7/2*w^2 - 2*w - 25],\ [691, 691, 1/2*w^3 + 7/2*w^2 - 3*w - 28],\ [691, 691, -1/2*w^3 + 7/2*w^2 + 3*w - 28],\ [701, 701, -1/2*w^3 + 1/2*w^2 + 5*w - 10],\ [701, 701, 3/2*w^3 - 5/2*w^2 - 17*w + 34],\ [709, 709, 1/2*w^3 - 5/2*w^2 - 6*w + 17],\ [709, 709, w^3 + 5/2*w^2 - 7*w - 14],\ [709, 709, -w^3 + 5/2*w^2 + 7*w - 14],\ [709, 709, -1/2*w^3 - 5/2*w^2 + 6*w + 17],\ [719, 719, -w^3 + 7/2*w^2 + 8*w - 23],\ [719, 719, w^3 + 7/2*w^2 - 8*w - 23],\ [751, 751, 7/2*w^2 + 2*w - 27],\ [751, 751, 7/2*w^2 - 2*w - 27],\ [761, 761, -1/2*w^3 + 3/2*w^2 + 3*w - 13],\ [761, 761, 1/2*w^3 + 3/2*w^2 - 3*w - 13],\ [769, 769, -w^3 + 7/2*w^2 + 8*w - 25],\ [769, 769, w^3 + 7/2*w^2 - 8*w - 25],\ [809, 809, 2*w^3 - 7/2*w^2 - 20*w + 40],\ [809, 809, -1/2*w^2 + 2*w - 4],\ [811, 811, -1/2*w^2 - 3*w + 8],\ [811, 811, 1/2*w^3 + 3/2*w^2 - 3*w - 18],\ [811, 811, -1/2*w^3 + 3/2*w^2 + 3*w - 18],\ [811, 811, 1/2*w^2 - 3*w - 8],\ [821, 821, 3/2*w^3 - 7/2*w^2 - 16*w + 37],\ [821, 821, -3/2*w^3 + 7/2*w^2 + 12*w - 29],\ [839, 839, 3*w^2 - 2*w - 23],\ [839, 839, 3*w^2 + 2*w - 23],\ [841, 29, -5/2*w^2 + 16],\ [859, 859, 5/2*w^2 + 3*w - 16],\ [859, 859, 5/2*w^2 - 3*w - 16],\ [911, 911, 3*w^2 - 2*w - 17],\ [911, 911, 3*w^2 + 2*w - 17],\ [919, 919, 3*w^2 - w - 23],\ [919, 919, -2*w^2 + 3*w + 15],\ [919, 919, -2*w^2 - 3*w + 15],\ [919, 919, 3*w^2 + w - 23],\ [941, 941, 3/2*w^2 - 3*w - 2],\ [941, 941, 2*w^3 - 11/2*w^2 - 17*w + 42],\ [961, 31, -w^2 + 13],\ [971, 971, 1/2*w^3 + 1/2*w^2 - 6*w - 5],\ [971, 971, -1/2*w^3 + 1/2*w^2 + 6*w - 5],\ [991, 991, w^3 + 3/2*w^2 - 8*w - 8],\ [991, 991, -w^3 + 3/2*w^2 + 8*w - 8]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 - 20 K. = NumberField(heckePol) hecke_eigenvalues_array = [0, -2, 0, 0, 0, 0, 0, 0, 1, -e, e, 2*e, -2*e, 2*e, -2*e, -e, e, 0, 0, -2, -2, -2, -2, -2, -2*e, 2*e, 10, 10, 10, 10, -2, 2*e, -2*e, -2, 4*e, -4*e, -2*e, 2*e, -2*e, 2*e, 2*e, -2*e, -20, -20, -6*e, 6*e, 2, 2, -10, -30, -30, -10, 6*e, 22, 22, -6*e, -4*e, 4*e, -18, -18, 0, 0, e, -e, -20, -20, 30, -10, -10, 30, 5*e, -5*e, 6*e, -6*e, 20, 6*e, -6*e, 20, -e, -5*e, 5*e, e, -4*e, 4*e, 8*e, -2, -2, -8*e, -20, -20, -4*e, 4*e, 7*e, -7*e, -18, 0, 0, -18, 2*e, -2*e, -8*e, 8*e, 6*e, -6*e, -2, -2, -4*e, -2*e, 2*e, 4*e, -22, -18, -18, -22, -2, -2, 2, 2, -7*e, 7*e, -7*e, 7*e, 4*e, -4*e, 42, 42, 18, 18, 10, 10, -50, -50, 8*e, 38, 38, -8*e, 2, 2, 20, 20, 38, -10*e, 10*e, 10*e, -10*e, -40, 2*e, -2*e, -40, -10*e, 10*e, -58, 4*e, -4*e, 6*e, -6*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([25, 5, 1/2*w^2 - 1])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]