/* 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([9, 0, -11, 0, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([19, 19, w + 2]) primes_array = [ [4, 2, 1/6*w^3 - 7/3*w - 3/2],\ [4, 2, 1/6*w^3 - 7/3*w + 3/2],\ [9, 3, -1/3*w^3 + 11/3*w],\ [9, 3, w],\ [19, 19, w + 2],\ [19, 19, -1/3*w^3 + 11/3*w - 2],\ [19, 19, -1/3*w^3 + 11/3*w + 2],\ [19, 19, -w + 2],\ [25, 5, 1/3*w^3 - 8/3*w],\ [49, 7, 2/3*w^3 - 19/3*w],\ [49, 7, -1/3*w^3 + 5/3*w],\ [59, 59, 1/6*w^3 + 1/2*w^2 - 11/6*w],\ [59, 59, 1/2*w^2 + 1/2*w - 11/2],\ [59, 59, 1/2*w^2 - 1/2*w - 11/2],\ [59, 59, 1/6*w^3 - 1/2*w^2 - 11/6*w],\ [89, 89, 2/3*w^3 + 1/2*w^2 - 35/6*w - 7/2],\ [89, 89, -5/6*w^3 + 26/3*w - 3/2],\ [89, 89, 1/6*w^3 - 1/2*w^2 + 1/6*w - 2],\ [89, 89, -1/6*w^3 - w^2 + 7/3*w + 5/2],\ [101, 101, 1/6*w^3 + 1/2*w^2 - 17/6*w + 1],\ [101, 101, -1/3*w^3 - 1/2*w^2 + 25/6*w + 13/2],\ [101, 101, -1/3*w^3 + 1/2*w^2 + 25/6*w - 13/2],\ [101, 101, 1/6*w^3 - 1/2*w^2 - 17/6*w - 1],\ [121, 11, 1/2*w^3 - 4*w - 1/2],\ [121, 11, -1/2*w^3 + 4*w - 1/2],\ [149, 149, 1/6*w^3 + 1/2*w^2 - 5/6*w - 5],\ [149, 149, -1/3*w^3 + 1/2*w^2 + 19/6*w - 1/2],\ [149, 149, 1/3*w^3 + 1/2*w^2 - 19/6*w - 1/2],\ [149, 149, -1/6*w^3 + 1/2*w^2 + 5/6*w - 5],\ [151, 151, -5/6*w^3 - 1/2*w^2 + 49/6*w + 3],\ [151, 151, 1/3*w^3 + w^2 - 8/3*w - 7],\ [151, 151, 1/2*w^3 + 1/2*w^2 - 13/2*w - 1],\ [151, 151, 5/6*w^3 - 1/2*w^2 - 49/6*w + 3],\ [169, 13, -1/3*w^3 + 14/3*w + 2],\ [169, 13, -1/3*w^3 + 14/3*w - 2],\ [179, 179, -1/3*w^3 + 17/3*w - 6],\ [179, 179, -2/3*w^3 + 25/3*w + 6],\ [179, 179, -2/3*w^3 + 25/3*w - 6],\ [179, 179, -1/3*w^3 + 17/3*w + 6],\ [191, 191, 1/2*w^3 + 1/2*w^2 - 9/2*w - 1],\ [191, 191, 1/3*w^3 + 1/2*w^2 - 13/6*w - 9/2],\ [191, 191, -1/3*w^3 + 1/2*w^2 + 13/6*w - 9/2],\ [191, 191, -1/2*w^3 + 1/2*w^2 + 9/2*w - 1],\ [229, 229, 5/6*w^3 - 1/2*w^2 - 43/6*w + 2],\ [229, 229, -2/3*w^3 - 1/2*w^2 + 29/6*w + 7/2],\ [229, 229, 2/3*w^3 - 1/2*w^2 - 29/6*w + 7/2],\ [229, 229, 5/6*w^3 + 1/2*w^2 - 43/6*w - 2],\ [239, 239, -1/3*w^3 + w^2 + 11/3*w - 7],\ [239, 239, 1/6*w^3 + w^2 - 7/3*w - 9/2],\ [239, 239, w^2 - w - 4],\ [239, 239, -1/3*w^3 - w^2 + 11/3*w + 7],\ [251, 251, 1/3*w^3 + w^2 - 8/3*w - 5],\ [251, 251, 1/3*w^3 + w^2 - 8/3*w - 6],\ [251, 251, -1/3*w^3 + w^2 + 8/3*w - 6],\ [251, 251, -1/3*w^3 + w^2 + 8/3*w - 5],\ [271, 271, 1/6*w^3 + w^2 - 7/3*w - 19/2],\ [271, 271, 2/3*w^3 - 3/2*w^2 - 29/6*w + 17/2],\ [271, 271, -w^3 + w^2 + 8*w - 4],\ [271, 271, w^3 - 10*w - 2],\ [281, 281, 5/6*w^3 - 1/2*w^2 - 37/6*w + 5],\ [281, 281, -1/6*w^3 - 2/3*w - 5/2],\ [281, 281, 1/3*w^3 + 1/2*w^2 - 25/6*w - 17/2],\ [281, 281, 5/6*w^3 - 26/3*w + 5/2],\ [289, 17, 1/6*w^3 + w^2 - 7/3*w - 11/2],\ [331, 331, -5/6*w^3 + 32/3*w + 17/2],\ [331, 331, -2*w + 5],\ [331, 331, -2*w - 5],\ [331, 331, -2/3*w^3 + 22/3*w + 5],\ [349, 349, 5/6*w^3 - 1/2*w^2 - 43/6*w],\ [349, 349, w^3 - 11*w + 2],\ [349, 349, 1/3*w^3 - w^2 - 2/3*w + 4],\ [349, 349, -5/6*w^3 - 1/2*w^2 + 43/6*w],\ [359, 359, -w - 5],\ [359, 359, -1/3*w^3 + 11/3*w - 5],\ [359, 359, 1/3*w^3 - 11/3*w - 5],\ [359, 359, w - 5],\ [389, 389, -w^3 - 1/2*w^2 + 21/2*w + 5/2],\ [389, 389, -7/6*w^3 + w^2 + 31/3*w - 13/2],\ [389, 389, 7/6*w^3 + w^2 - 31/3*w - 13/2],\ [389, 389, 5/6*w^3 - w^2 - 17/3*w + 9/2],\ [409, 409, -3/2*w^3 - 3/2*w^2 + 27/2*w + 11],\ [409, 409, 1/3*w^3 + w^2 - 8/3*w - 11],\ [409, 409, -2/3*w^3 + 25/3*w + 8],\ [409, 409, -3/2*w^3 + 3/2*w^2 + 27/2*w - 11],\ [421, 421, 1/6*w^3 + 1/2*w^2 + 1/6*w - 4],\ [421, 421, 1/3*w^3 + 1/2*w^2 - 13/6*w - 13/2],\ [421, 421, -1/3*w^3 + 1/2*w^2 + 13/6*w - 13/2],\ [421, 421, 1/2*w^3 + 1/2*w^2 - 9/2*w + 1],\ [461, 461, 2/3*w^3 - 1/2*w^2 - 23/6*w - 1/2],\ [461, 461, 1/6*w^3 - 1/2*w^2 - 11/6*w + 8],\ [461, 461, -1/6*w^3 - 1/2*w^2 + 11/6*w + 8],\ [461, 461, 2/3*w^3 - 13/3*w - 2],\ [491, 491, 7/6*w^3 + 2*w^2 - 28/3*w - 21/2],\ [491, 491, 1/6*w^3 - 10/3*w - 13/2],\ [491, 491, 7/6*w^3 + 2*w^2 - 28/3*w - 23/2],\ [491, 491, -7/6*w^3 + 2*w^2 + 28/3*w - 21/2],\ [509, 509, 1/2*w^3 - w^2 - 5*w + 7/2],\ [509, 509, -2/3*w^3 + w^2 + 25/3*w - 4],\ [509, 509, -5/6*w^3 + 26/3*w - 7/2],\ [509, 509, 1/3*w^3 + w^2 - 17/3*w - 7],\ [529, 23, -2/3*w^3 + 1/2*w^2 + 53/6*w - 19/2],\ [529, 23, 7/6*w^3 - 3/2*w^2 - 59/6*w + 11],\ [569, 569, w^3 - w^2 - 9*w + 5],\ [569, 569, 2/3*w^3 - w^2 - 13/3*w + 6],\ [569, 569, 2/3*w^3 + w^2 - 13/3*w - 6],\ [569, 569, w^3 + w^2 - 9*w - 5],\ [599, 599, 2/3*w^3 - 1/2*w^2 - 23/6*w + 3/2],\ [599, 599, -7/6*w^3 + 1/2*w^2 + 65/6*w - 4],\ [599, 599, -7/6*w^3 - 1/2*w^2 + 65/6*w + 4],\ [599, 599, 2/3*w^3 + 1/2*w^2 - 23/6*w - 3/2],\ [631, 631, 7/6*w^3 + 2*w^2 - 22/3*w - 17/2],\ [631, 631, 7/6*w^3 + w^2 - 31/3*w - 9/2],\ [631, 631, -7/6*w^3 + w^2 + 31/3*w - 9/2],\ [631, 631, -w^3 + 11*w - 1],\ [659, 659, w^3 - 9*w - 1],\ [659, 659, 2/3*w^3 - 13/3*w - 1],\ [659, 659, -2/3*w^3 + 13/3*w - 1],\ [659, 659, 1/3*w^3 + 1/2*w^2 - 19/6*w - 17/2],\ [661, 661, -1/6*w^3 - 1/2*w^2 + 35/6*w - 6],\ [661, 661, w^3 + 3/2*w^2 - 17/2*w - 23/2],\ [661, 661, -5/3*w^3 + w^2 + 52/3*w - 14],\ [661, 661, -1/2*w^3 + 1/2*w^2 + 15/2*w - 8],\ [701, 701, -2/3*w^3 + w^2 + 19/3*w - 4],\ [701, 701, 5/6*w^3 - 26/3*w + 9/2],\ [701, 701, -5/6*w^3 + 26/3*w + 9/2],\ [701, 701, 2/3*w^3 + w^2 - 19/3*w - 4],\ [739, 739, 1/3*w^3 - 17/3*w - 3],\ [739, 739, 2/3*w^3 - 25/3*w + 3],\ [739, 739, 2/3*w^3 - 25/3*w - 3],\ [739, 739, -1/3*w^3 + 17/3*w - 3],\ [761, 761, -1/2*w^3 + w^2 + 3*w - 13/2],\ [761, 761, 5/6*w^3 - w^2 - 23/3*w + 9/2],\ [761, 761, 5/6*w^3 + w^2 - 23/3*w - 9/2],\ [761, 761, 1/2*w^3 + w^2 - 3*w - 13/2],\ [769, 769, 2/3*w^3 + 1/2*w^2 - 35/6*w + 5/2],\ [769, 769, 1/2*w^3 + 1/2*w^2 - 7/2*w - 8],\ [769, 769, -1/2*w^3 + 1/2*w^2 + 7/2*w - 8],\ [769, 769, 2/3*w^3 - 1/2*w^2 - 35/6*w - 5/2],\ [829, 829, w^2 + w - 10],\ [829, 829, 1/3*w^3 + w^2 - 11/3*w - 1],\ [829, 829, -1/3*w^3 + w^2 + 11/3*w - 1],\ [829, 829, w^2 - w - 10],\ [841, 29, 5/6*w^3 - 20/3*w - 3/2],\ [841, 29, 5/6*w^3 - 20/3*w + 3/2],\ [859, 859, 1/6*w^3 + 1/2*w^2 - 23/6*w - 6],\ [859, 859, -2/3*w^3 - 1/2*w^2 + 47/6*w - 1/2],\ [859, 859, -2/3*w^3 + 1/2*w^2 + 47/6*w + 1/2],\ [859, 859, -1/6*w^3 + 1/2*w^2 + 23/6*w - 6],\ [919, 919, 1/2*w^3 + w^2 - 5*w - 5/2],\ [919, 919, 1/6*w^3 + w^2 - 1/3*w - 17/2],\ [919, 919, -1/6*w^3 + w^2 + 1/3*w - 17/2],\ [919, 919, -1/2*w^3 + w^2 + 5*w - 5/2],\ [961, 31, 1/3*w^3 - 8/3*w - 6],\ [961, 31, 5/6*w^3 - 20/3*w - 1/2],\ [971, 971, 1/2*w^3 + 3/2*w^2 - 7/2*w - 8],\ [971, 971, 2/3*w^3 - 3/2*w^2 - 35/6*w + 17/2],\ [971, 971, 1/3*w^3 - 1/2*w^2 - 37/6*w - 3/2],\ [971, 971, 1/2*w^3 - 3/2*w^2 - 7/2*w + 8]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 + 3*x - 1 K. = NumberField(heckePol) hecke_eigenvalues_array = [e, -e - 1, 2*e + 3, -e - 3, 1, e - 2, 2*e + 3, -e - 3, -3*e - 5, -2*e - 6, 2*e + 5, -3, -6*e - 6, 6*e + 9, -e - 8, 2*e + 13, e - 1, -5*e - 4, -5*e - 13, 6*e + 9, -e - 17, 3*e + 3, e - 7, 6*e + 7, -4*e - 7, 6, -4*e - 5, -3*e - 18, 6, 2*e - 7, 4*e + 12, -9*e - 8, 7*e + 9, 5*e + 6, 2*e - 9, 5*e - 5, -e + 10, 8*e + 1, -3*e - 18, -7*e - 20, 5*e + 4, 3*e + 12, -3*e, -6*e + 2, -4*e - 15, -6*e - 16, -4*e - 6, -9, 9*e, 18, -5*e + 2, -4*e + 13, -4*e - 14, -e - 8, -7*e + 7, -12*e - 17, 14*e + 14, -11, 3*e + 4, -8*e - 10, -10*e - 11, 4*e + 23, 12*e + 18, -8*e - 15, -10, -4*e - 30, -6*e - 13, 9*e - 1, -2*e + 9, 6*e - 5, -e - 4, -7*e - 16, 3, 16*e + 20, 8*e + 16, 5*e + 19, -7*e + 10, 4*e + 11, -9, 15*e + 21, -23, -13*e - 34, 2*e + 32, -e - 19, -4*e - 1, e - 30, 2*e - 25, -4*e + 17, 3*e + 15, 7*e - 10, 4*e + 11, -12*e - 24, 5*e - 8, 3, -10*e - 29, -11*e - 16, -7*e - 5, -15, e + 17, -6*e - 27, 13*e + 12, 7*e - 18, -8*e - 1, -5*e - 4, -3*e - 30, -33, -2*e - 1, 10*e + 5, -4*e + 7, -5*e - 25, -5*e + 18, -2*e - 3, -4*e - 4, 14*e + 23, 6*e, -e + 28, -10*e - 35, -3, -3*e - 46, -20*e - 41, -9*e - 22, -4*e + 3, 39, -9*e - 33, -5*e - 40, -4*e + 28, 15*e + 28, -9*e + 16, -9*e - 11, 20*e + 35, 21*e + 36, 4*e + 23, 3*e + 27, 5*e + 19, 5, 14*e + 12, -e - 27, 2*e - 3, e - 38, -8*e - 47, -6*e - 37, 2*e + 48, 6*e + 25, -9*e - 14, 5*e + 3, 17*e + 27, e + 19, -14*e - 38, 4*e + 18, 3*e + 31, -e + 38, 4*e + 27, 3*e + 50, -14*e - 17, -14*e + 2, -2*e + 35, e - 13, 12*e + 42] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal([19,19,w+2])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]