/* 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([7, 0, -6, 0, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([32, 4, 2*w + 2]) primes_array = [ [2, 2, w + 1],\ [7, 7, w],\ [9, 3, w^2 + w - 1],\ [9, 3, w^2 - w - 1],\ [17, 17, -w^3 + 3*w - 1],\ [17, 17, w^3 - 3*w - 1],\ [23, 23, -w^3 - w^2 + 3*w + 4],\ [23, 23, w^3 - w^2 - 3*w + 4],\ [41, 41, w^3 - w^2 - 2*w + 3],\ [41, 41, -w^3 - w^2 + 2*w + 3],\ [49, 7, w^2 - 6],\ [71, 71, w^3 + 3*w^2 - 3*w - 6],\ [71, 71, -2*w^2 - 2*w + 1],\ [73, 73, w^2 - 2*w - 2],\ [73, 73, w^2 + 2*w - 2],\ [79, 79, w^3 - w^2 - 5*w + 2],\ [79, 79, -w^3 - w^2 + 5*w + 2],\ [89, 89, 2*w - 1],\ [89, 89, -2*w - 1],\ [97, 97, -w^3 + w^2 + 4*w - 1],\ [97, 97, w^3 + w^2 - 4*w - 1],\ [103, 103, -2*w^3 + w^2 + 8*w - 2],\ [103, 103, w^3 - w^2 - 3*w + 6],\ [103, 103, -w^3 - w^2 + 3*w + 6],\ [103, 103, 2*w^3 + w^2 - 8*w - 2],\ [127, 127, w^3 + 3*w^2 - 4*w - 11],\ [127, 127, -w^3 + 3*w^2 + 4*w - 11],\ [137, 137, -w^3 - 3*w^2 + 2*w + 9],\ [137, 137, -2*w^2 + w + 10],\ [137, 137, -2*w^2 - w + 10],\ [137, 137, w^3 - 3*w^2 - 2*w + 9],\ [151, 151, 3*w^2 - 2*w - 10],\ [151, 151, w^3 + 3*w^2 - 4*w - 9],\ [167, 167, w^3 + 4*w^2 - 2*w - 8],\ [167, 167, 2*w^3 - 8*w - 3],\ [167, 167, 2*w^3 - 8*w + 3],\ [167, 167, 2*w^3 + 5*w^2 - 7*w - 13],\ [191, 191, -w^3 + 6*w - 2],\ [191, 191, w^3 - 6*w - 2],\ [193, 193, -2*w^3 + 2*w^2 + 6*w - 5],\ [193, 193, w^3 + 2*w^2 - 4*w - 4],\ [193, 193, -w^3 + 2*w^2 + 4*w - 4],\ [193, 193, -2*w^3 - 2*w^2 + 6*w + 5],\ [199, 199, 2*w^2 - 3*w - 6],\ [199, 199, w^3 + w^2 + w + 2],\ [199, 199, 2*w^3 + 2*w^2 - 4*w - 5],\ [199, 199, 2*w^2 + 3*w - 6],\ [223, 223, 2*w^3 + w^2 - 6*w - 6],\ [223, 223, w^3 - w^2 - 5*w - 2],\ [223, 223, 2*w^3 + 4*w^2 - 6*w - 9],\ [223, 223, -2*w^3 + w^2 + 6*w - 6],\ [239, 239, -2*w^3 - 5*w^2 + 5*w + 11],\ [239, 239, w^3 + 4*w^2 - 4*w - 10],\ [241, 241, -3*w^3 - 4*w^2 + 9*w + 11],\ [241, 241, -2*w^3 - w^2 + 6*w + 4],\ [257, 257, 2*w^3 + 5*w^2 - 6*w - 12],\ [257, 257, -w^3 - 4*w^2 + 3*w + 9],\ [263, 263, -w^3 - w^2 + 6*w + 3],\ [263, 263, w^3 - w^2 - 6*w + 3],\ [271, 271, -2*w^3 - w^2 + 7*w + 3],\ [271, 271, -w^3 + 2*w^2 + 3*w - 9],\ [271, 271, w^3 + 2*w^2 - 3*w - 9],\ [271, 271, 2*w^3 - w^2 - 7*w + 3],\ [289, 17, 3*w^2 - 8],\ [313, 313, -w^3 + 2*w^2 - 6],\ [313, 313, w^3 + 2*w^2 - 6],\ [353, 353, -w^3 + 3*w - 5],\ [353, 353, w^3 - 3*w - 5],\ [359, 359, w^3 - w + 3],\ [359, 359, 4*w^3 + 5*w^2 - 14*w - 18],\ [361, 19, -w^3 + 2*w^2 + 4*w - 2],\ [361, 19, w^3 + 2*w^2 - 4*w - 2],\ [367, 367, -2*w^3 - 3*w^2 + 6*w + 10],\ [367, 367, -3*w - 2],\ [367, 367, 3*w - 2],\ [367, 367, w^3 + 2*w^2 - 7*w - 11],\ [401, 401, -2*w^3 + 6*w - 1],\ [401, 401, -3*w^3 + 3*w^2 + 11*w - 10],\ [401, 401, 3*w^3 + 3*w^2 - 11*w - 10],\ [401, 401, 2*w^3 - 6*w - 1],\ [409, 409, w^3 - 3*w^2 - 6*w + 13],\ [409, 409, -w^3 - 3*w^2 + 6*w + 13],\ [431, 431, w^3 - 4*w^2 - 2*w + 10],\ [431, 431, -w^3 - 4*w^2 + 2*w + 10],\ [433, 433, w^3 - w^2 - 6*w - 3],\ [433, 433, 2*w^3 + 4*w^2 - 7*w - 10],\ [463, 463, w^2 + 3*w - 3],\ [463, 463, w^2 - 3*w - 3],\ [487, 487, 2*w^2 + 2*w - 9],\ [487, 487, 2*w^2 - 2*w - 9],\ [521, 521, -w^3 - 4*w^2 + 5*w + 13],\ [521, 521, w^3 - 4*w^2 - 5*w + 13],\ [529, 23, -w^2 - 2],\ [577, 577, w^3 + 2*w^2 - 2*w - 8],\ [577, 577, -w^3 + 2*w^2 + 2*w - 8],\ [593, 593, -2*w^3 - 3*w^2 + 5*w + 9],\ [593, 593, w^3 + 2*w^2 - 8*w - 12],\ [599, 599, w^3 + 2*w^2 - 5*w - 3],\ [599, 599, -w^3 + 2*w^2 + 5*w - 3],\ [601, 601, -w^3 + 4*w^2 + 4*w - 8],\ [601, 601, w^3 + 4*w^2 - 4*w - 8],\ [607, 607, -w^3 + 8*w + 6],\ [607, 607, -3*w^3 - 5*w^2 + 7*w + 12],\ [607, 607, 2*w^2 - 4*w - 9],\ [607, 607, -2*w^3 - 3*w^2 + 11*w + 13],\ [617, 617, 3*w^3 + 2*w^2 - 11*w - 9],\ [617, 617, -2*w^3 + w^2 + 9*w - 1],\ [617, 617, 2*w^3 + w^2 - 9*w - 1],\ [617, 617, 3*w^3 - 12*w - 4],\ [625, 5, -5],\ [631, 631, w^3 - w^2 - 7*w - 4],\ [631, 631, 2*w^3 + 4*w^2 - 8*w - 11],\ [641, 641, -2*w^3 + 3*w^2 + 9*w - 9],\ [641, 641, w^3 - 2*w^2 - 7*w + 5],\ [641, 641, w^3 + 2*w^2 - 7*w - 5],\ [641, 641, 2*w^3 + 3*w^2 - 9*w - 9],\ [647, 647, -w^3 + 3*w^2 - 1],\ [647, 647, 2*w^3 - 3*w^2 - 8*w + 8],\ [647, 647, -2*w^3 - 3*w^2 + 8*w + 8],\ [647, 647, w^3 + 3*w^2 - 1],\ [727, 727, -3*w^3 - 2*w^2 + 11*w + 3],\ [727, 727, -2*w^3 + 5*w^2 + 9*w - 17],\ [727, 727, 2*w^3 + 5*w^2 - 9*w - 17],\ [727, 727, 3*w^3 - 2*w^2 - 11*w + 3],\ [743, 743, 3*w^2 - 2*w - 12],\ [743, 743, 3*w^2 + 2*w - 12],\ [751, 751, 2*w^3 - 2*w^2 - 6*w + 9],\ [751, 751, -2*w^3 - 2*w^2 + 6*w + 9],\ [761, 761, -3*w^3 + 5*w^2 + 6*w - 11],\ [761, 761, 3*w^3 + 5*w^2 - 6*w - 11],\ [769, 769, w^3 - 7*w - 3],\ [769, 769, -w^3 + 7*w - 3],\ [823, 823, w^3 + 2*w^2 - 5*w - 1],\ [823, 823, w^3 - 2*w^2 - 5*w + 1],\ [839, 839, 4*w^2 + w - 12],\ [839, 839, -3*w^3 + w^2 + 13*w - 8],\ [839, 839, 3*w^3 + w^2 - 13*w - 8],\ [839, 839, 4*w^2 - w - 12],\ [841, 29, 2*w^3 + 4*w^2 - 7*w - 16],\ [841, 29, -2*w^3 + 4*w^2 + 7*w - 16],\ [857, 857, 3*w^2 - 3*w - 11],\ [857, 857, 3*w^2 + 3*w - 11],\ [863, 863, w^3 + 3*w^2 - 5*w - 6],\ [863, 863, -w^3 + 3*w^2 + 5*w - 6],\ [881, 881, w^3 - w^2 - 5*w - 4],\ [881, 881, 2*w^2 + 4*w + 3],\ [887, 887, w^2 - w - 9],\ [887, 887, 3*w^3 + 4*w^2 - 11*w - 11],\ [887, 887, -3*w^3 + 4*w^2 + 11*w - 11],\ [887, 887, w^2 + w - 9],\ [911, 911, w^2 - 4*w - 8],\ [911, 911, -3*w^3 - 4*w^2 + 9*w + 13],\ [919, 919, 2*w^3 - w^2 - 8*w - 2],\ [919, 919, -2*w^3 - w^2 + 8*w - 2],\ [929, 929, 4*w^3 + w^2 - 16*w - 2],\ [929, 929, 2*w^3 - 11*w - 6],\ [937, 937, 3*w^3 - 3*w^2 - 10*w + 5],\ [937, 937, -3*w^3 - 3*w^2 + 10*w + 5],\ [953, 953, w^3 - 9*w - 11],\ [953, 953, 5*w^2 + 3*w - 17],\ [953, 953, 5*w^2 - 3*w - 17],\ [953, 953, -2*w^3 - w^2 + 8*w + 10],\ [961, 31, 4*w^2 - 11],\ [961, 31, 4*w^2 - 13],\ [967, 967, w^3 - w^2 - 6*w - 5],\ [967, 967, 2*w^2 + 3*w + 2],\ [983, 983, -w^2 + w - 3],\ [983, 983, 2*w^3 - 2*w^2 - 11*w + 10],\ [983, 983, 2*w^3 + 2*w^2 - 11*w - 10],\ [983, 983, -w^2 - w - 3],\ [991, 991, w^3 + 3*w^2 - 10*w - 15],\ [991, 991, -2*w^3 - 4*w^2 + w + 6]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 - 48 K. = NumberField(heckePol) hecke_eigenvalues_array = [0, 0, 0, 0, -4, -4, e, -e, -2, -2, -2, -2*e, 2*e, 0, 0, -2*e, 2*e, -8, -8, -12, -12, 0, e, -e, 0, -2*e, 2*e, 2, 14, 14, 2, -3*e, 3*e, e, -2*e, 2*e, -e, -2*e, 2*e, -20, 4, 4, -20, -2*e, e, -e, 2*e, -2*e, -2*e, 2*e, 2*e, 2*e, -2*e, -12, -12, 14, 14, 0, 0, -4*e, 0, 0, 4*e, 18, 2, 2, -2, -2, e, -e, -8, -8, -4*e, 2*e, -2*e, 4*e, -28, -28, -28, -28, -30, -30, 2*e, -2*e, 28, 28, 2*e, -2*e, -5*e, 5*e, 2, 2, -46, 14, 14, 14, 14, -4*e, 4*e, 40, 40, -6*e, -4*e, 4*e, 6*e, -32, 40, 40, -32, 34, -4*e, 4*e, -4, 20, 20, -4, -e, 2*e, -2*e, e, 4*e, 5*e, -5*e, -4*e, e, -e, 2*e, -2*e, 34, 34, -28, -28, 2*e, -2*e, e, -6*e, 6*e, -e, -18, -18, -2, -2, 0, 0, -46, -46, -7*e, 4*e, -4*e, 7*e, -8*e, 8*e, 4*e, -4*e, 44, 44, -32, -32, -46, -34, -34, -46, -14, -50, e, -e, 3*e, -2*e, 2*e, -3*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([2,2,w+1])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]