/* 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([1, 5, -4, -2, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([5,5,-w + 2]) primes_array = [ [5, 5, w + 1],\ [5, 5, -w + 2],\ [7, 7, -w^2 + 2*w + 1],\ [7, 7, -w^2 + 2],\ [9, 3, w^3 - w^2 - 4*w],\ [16, 2, 2],\ [17, 17, -w^3 + 2*w^2 + 3*w - 2],\ [17, 17, -w^3 + w^2 + 4*w - 2],\ [25, 5, w^2 - w - 3],\ [37, 37, 2*w - 1],\ [43, 43, -w^3 + 2*w^2 + 2*w - 2],\ [43, 43, w^3 - w^2 - 3*w + 1],\ [59, 59, 2*w - 5],\ [59, 59, -2*w - 3],\ [79, 79, -w^3 + 2*w^2 + 5*w - 4],\ [79, 79, -w^3 + w^2 + 6*w - 2],\ [83, 83, -w^3 + 7*w],\ [83, 83, -w^3 + 2*w^2 + 4*w - 2],\ [83, 83, -w^3 + w^2 + 5*w - 3],\ [83, 83, w^2 - 2*w - 6],\ [89, 89, w^2 - 2*w - 4],\ [89, 89, w^2 - 5],\ [101, 101, -2*w^3 + 5*w^2 + 5*w - 11],\ [101, 101, w^2 + w - 4],\ [101, 101, w^2 - 3*w - 2],\ [101, 101, 2*w^3 - w^2 - 9*w - 3],\ [109, 109, w^3 - w^2 - 6*w - 3],\ [109, 109, -w^3 + 2*w^2 + 5*w - 9],\ [121, 11, w^3 - 8*w],\ [121, 11, w^3 - 3*w^2 - 5*w + 7],\ [131, 131, w^3 - 5*w - 6],\ [131, 131, -w^3 + 3*w^2 + 2*w - 10],\ [163, 163, 2*w^2 - 3*w - 6],\ [163, 163, 2*w^2 - w - 7],\ [167, 167, w^3 - w^2 - 3*w - 4],\ [167, 167, -w^3 + 2*w^2 + 2*w - 7],\ [193, 193, 2*w^3 - 3*w^2 - 7*w + 2],\ [193, 193, 2*w^3 - 3*w^2 - 7*w + 6],\ [227, 227, 2*w^3 - 3*w^2 - 8*w + 1],\ [227, 227, -2*w^3 + 3*w^2 + 8*w - 8],\ [251, 251, 2*w^2 - w - 9],\ [251, 251, 2*w^2 - 3*w - 8],\ [257, 257, w^3 + w^2 - 8*w - 7],\ [257, 257, -4*w^3 + 5*w^2 + 17*w - 1],\ [269, 269, 2*w^3 - 2*w^2 - 10*w + 3],\ [269, 269, 2*w^3 - 3*w^2 - 9*w + 2],\ [269, 269, 2*w^3 - 3*w^2 - 9*w + 8],\ [269, 269, -2*w^3 + 4*w^2 + 8*w - 7],\ [277, 277, w^3 - w^2 - 4*w - 4],\ [277, 277, -w^3 + 2*w^2 + 3*w - 8],\ [289, 17, 2*w^2 - 2*w - 3],\ [293, 293, -w^2 - 2*w + 5],\ [293, 293, -w^3 + 3*w^2 + 3*w - 4],\ [293, 293, w^3 - 6*w + 1],\ [293, 293, -2*w^3 + 4*w^2 + 7*w - 6],\ [311, 311, -w^3 + 3*w^2 + w - 7],\ [311, 311, w^3 - 4*w - 4],\ [331, 331, -2*w^3 + 4*w^2 + 9*w - 10],\ [331, 331, 2*w^3 - 2*w^2 - 11*w + 1],\ [337, 337, 2*w^2 - 3*w - 4],\ [337, 337, -w^3 + 2*w^2 + 6*w - 3],\ [337, 337, w^3 - w^2 - 7*w + 4],\ [337, 337, 2*w^2 - w - 5],\ [353, 353, -3*w^3 + 4*w^2 + 13*w - 2],\ [353, 353, 3*w^3 - 5*w^2 - 12*w + 12],\ [373, 373, -2*w^3 + 6*w^2 + 3*w - 11],\ [373, 373, -w^3 - w^2 + 6*w + 7],\ [373, 373, -w^3 + 4*w^2 + w - 11],\ [373, 373, 2*w^3 - 9*w - 4],\ [379, 379, w^3 - w^2 - 7*w + 1],\ [379, 379, 3*w^3 - 7*w^2 - 7*w + 11],\ [379, 379, 3*w^3 - 2*w^2 - 12*w],\ [379, 379, -w^3 + 2*w^2 + 6*w - 6],\ [383, 383, -3*w^3 + 4*w^2 + 12*w - 8],\ [383, 383, 3*w^3 - 5*w^2 - 11*w + 5],\ [421, 421, 2*w^3 - 2*w^2 - 9*w - 4],\ [421, 421, -2*w^3 + 4*w^2 + 7*w - 13],\ [457, 457, -w^3 + 2*w^2 + 6*w - 5],\ [457, 457, w^3 - w^2 - 7*w + 2],\ [461, 461, -w^3 + 3*w^2 + 4*w - 4],\ [461, 461, -w^3 + 7*w - 2],\ [463, 463, -w^3 + 4*w^2 + 3*w - 10],\ [463, 463, w^3 + w^2 - 8*w - 4],\ [467, 467, -w^3 + 6*w - 2],\ [467, 467, -w^3 + 3*w^2 + 3*w - 3],\ [479, 479, -w^3 + w^2 + w - 4],\ [479, 479, w^3 - 2*w^2 - 3],\ [487, 487, -3*w^3 + 4*w^2 + 12*w - 3],\ [487, 487, -3*w^3 + 5*w^2 + 11*w - 10],\ [499, 499, 3*w^3 - 4*w^2 - 11*w + 8],\ [499, 499, 3*w^3 - 5*w^2 - 10*w + 4],\ [503, 503, -w^3 + 2*w^2 + w - 5],\ [503, 503, w^3 - w^2 - 2*w - 3],\ [521, 521, 2*w^3 - 4*w^2 - 6*w + 3],\ [521, 521, -w^3 + 10*w - 8],\ [521, 521, w^3 - 3*w^2 - 7*w + 1],\ [521, 521, -2*w^3 + 2*w^2 + 8*w - 5],\ [541, 541, 2*w - 7],\ [541, 541, 2*w + 5],\ [547, 547, w^3 - 4*w^2 + 7],\ [547, 547, w^3 + w^2 - 5*w - 4],\ [563, 563, -2*w^3 + 4*w^2 + 7*w - 5],\ [563, 563, -2*w^3 + 2*w^2 + 9*w - 4],\ [587, 587, -w^3 - w^2 + 4*w + 6],\ [587, 587, w^3 - 4*w^2 + w + 8],\ [593, 593, w^2 + w - 7],\ [593, 593, 2*w^3 - 5*w^2 - 4*w + 5],\ [593, 593, -2*w^3 + w^2 + 8*w - 2],\ [593, 593, w^2 - 3*w - 5],\ [613, 613, 2*w^3 - 3*w^2 - 11*w + 2],\ [613, 613, w^3 + w^2 - 6*w - 3],\ [613, 613, 3*w^3 - 4*w^2 - 12*w + 4],\ [613, 613, 2*w^3 - 3*w^2 - 11*w + 10],\ [631, 631, -w^3 - w^2 + 7*w + 6],\ [631, 631, -w^3 + 4*w^2 + 2*w - 11],\ [647, 647, w^2 - 4*w - 3],\ [647, 647, w^2 + 2*w - 6],\ [677, 677, w^2 + w - 8],\ [677, 677, -w^3 + 7*w - 3],\ [677, 677, -w^3 + 3*w^2 + 4*w - 3],\ [677, 677, w^2 - 3*w - 6],\ [709, 709, w^3 - 7*w - 8],\ [709, 709, w^3 - 3*w^2 - 4*w + 14],\ [739, 739, w^3 - w^2 - 4*w - 5],\ [739, 739, -3*w^3 + 3*w^2 + 16*w - 3],\ [739, 739, -3*w^3 + 6*w^2 + 13*w - 13],\ [739, 739, -w^3 + 2*w^2 + 3*w - 9],\ [751, 751, -w - 5],\ [751, 751, w^3 + w^2 - 7*w - 4],\ [751, 751, -w^3 + 4*w^2 + 2*w - 9],\ [751, 751, w - 6],\ [757, 757, -w^3 + 4*w^2 + 2*w - 10],\ [757, 757, w^3 + w^2 - 7*w - 5],\ [761, 761, -3*w^3 + 2*w^2 + 17*w - 1],\ [761, 761, -3*w^3 + 6*w^2 + 9*w - 17],\ [761, 761, 2*w^3 - 5*w^2 - 9*w + 9],\ [761, 761, 2*w^3 - 2*w^2 - 7*w - 6],\ [773, 773, -3*w^3 + 8*w^2 + 6*w - 12],\ [773, 773, w^3 - 4*w - 6],\ [773, 773, -w^3 + 3*w^2 + w - 9],\ [773, 773, -3*w^3 + w^2 + 13*w + 1],\ [797, 797, 3*w^3 - 2*w^2 - 13*w + 1],\ [797, 797, 3*w^3 - 7*w^2 - 8*w + 11],\ [823, 823, 2*w^3 - 3*w^2 - 6*w - 4],\ [823, 823, -2*w^3 + 3*w^2 + 7*w + 3],\ [823, 823, w^3 - 2*w^2 - 7*w - 3],\ [823, 823, -3*w^3 + 5*w^2 + 9*w - 2],\ [857, 857, 2*w^3 - w^2 - 10*w + 1],\ [857, 857, -2*w^3 + 5*w^2 + 6*w - 8],\ [883, 883, 3*w^3 - 3*w^2 - 12*w + 1],\ [883, 883, 3*w^3 - 6*w^2 - 9*w + 11],\ [887, 887, -2*w^3 + 5*w^2 + 7*w - 9],\ [887, 887, -4*w^3 + 6*w^2 + 17*w - 7],\ [887, 887, -2*w^3 + 5*w^2 + 9*w - 16],\ [887, 887, 2*w^3 - w^2 - 11*w + 1],\ [907, 907, -3*w^3 + 3*w^2 + 16*w - 2],\ [907, 907, -3*w^3 + 6*w^2 + 13*w - 14],\ [919, 919, 2*w^3 - 2*w^2 - 7*w + 9],\ [919, 919, -2*w^3 + 2*w^2 + 12*w - 5],\ [929, 929, -2*w^3 + 4*w^2 + 8*w - 5],\ [929, 929, 3*w^3 - 4*w^2 - 11*w + 12],\ [929, 929, 3*w^3 - 5*w^2 - 10*w],\ [929, 929, -2*w^3 + 2*w^2 + 10*w - 5],\ [967, 967, 3*w^3 - 5*w^2 - 9*w + 11],\ [967, 967, -3*w^3 + 7*w^2 + 6*w - 10],\ [971, 971, 2*w^3 - 2*w^2 - 7*w - 5],\ [971, 971, -2*w^3 + w^2 + 8*w - 3],\ [971, 971, 2*w^3 - 5*w^2 - 4*w + 4],\ [971, 971, -2*w^3 + 4*w^2 + 5*w - 12],\ [983, 983, 4*w - 7],\ [983, 983, 2*w^2 - 4*w - 7],\ [983, 983, 2*w^2 - 9],\ [983, 983, 4*w + 3],\ [991, 991, 2*w^3 - 6*w^2 - 5*w + 14],\ [991, 991, -2*w^3 + 11*w + 5]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 - 2*x - 2 K. = NumberField(heckePol) hecke_eigenvalues_array = [e, -1, e - 2, -e - 1, -e + 2, e - 5, -3*e + 1, -e + 1, -2, e - 1, -3*e + 10, -e - 2, 2*e, 10, e + 1, 7*e - 2, -5*e + 9, -3*e + 8, 10, 4*e - 3, 8*e - 11, -2*e + 8, 4*e + 4, -3*e + 4, 5*e + 6, 6*e + 2, 1, -2*e + 2, 6*e + 4, 2*e - 5, e + 17, 3*e - 8, 5*e + 5, 13, -2*e + 10, -5*e + 21, -e - 12, -6*e + 18, -4*e + 1, 6*e - 24, -e - 2, -9*e + 18, 6*e - 12, 9, -5*e + 25, -10*e + 12, -14*e + 22, 5*e - 3, 11*e - 7, -13*e + 5, -10*e + 4, -5*e - 8, 4*e - 19, 8*e - 20, -10*e + 10, -5*e + 4, -2*e + 16, 8*e + 3, 8*e - 8, -5*e + 4, 22, -13*e + 23, 5*e - 12, -4*e + 16, e - 20, 8*e - 16, e + 7, -3*e - 2, 3*e - 8, -14*e + 12, -15*e + 21, -4*e - 1, -5*e + 13, -4*e - 18, 7*e + 11, 9*e + 10, -15*e, -16*e + 4, -9*e + 17, 9*e - 27, 17*e - 8, -e + 26, -e + 4, 2*e + 18, 3*e - 15, -4*e + 33, 13*e - 10, -8*e - 1, -8*e - 12, 3*e + 11, -e - 20, -6*e + 18, 2*e - 5, -14*e + 6, -13*e + 16, -4*e + 20, 14*e - 6, -10*e + 20, 12*e - 35, 9*e + 4, 14*e - 15, 11*e - 12, -15*e + 3, 17*e - 8, -e - 11, 4*e - 6, -14*e + 14, 3*e + 19, 9*e - 39, 10*e - 15, -20*e + 22, 3*e + 5, -6*e + 26, -8*e + 36, -34, 18*e - 31, 3*e + 26, -15*e + 24, -7*e + 8, 3*e - 6, 12*e - 39, 25*e - 22, -14*e + 36, 4*e + 10, e + 6, 11*e + 1, 8*e - 36, -15*e - 1, 15*e - 34, 24*e - 22, 14*e + 1, -14*e + 13, 6*e - 8, -5*e + 2, -7*e + 22, -17*e + 23, -e + 23, 6*e + 34, 7*e + 6, 19*e - 30, -8*e - 22, 27*e - 21, -13*e - 8, 5*e - 41, 8*e + 22, 11*e + 15, -20*e + 10, 2*e - 26, -11*e + 3, 12*e - 2, -19*e + 30, 15*e - 33, e - 19, 4*e + 11, 20*e - 1, -48, -8*e, 24*e - 10, -13*e + 3, 14*e - 38, 6*e + 20, -12, 10*e - 18, 4*e - 10, 21*e - 35, -16*e + 35, -9*e + 46, -2*e + 53, 11*e + 17, 14*e + 6, 9*e + 8, -23*e + 32, 4*e - 4, -12*e + 18, -24*e + 24] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal([5,5,-w + 2])] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]