/* 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 + 1]) 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 = [1, e, e - 1, -e - 2, e + 2, -e - 5, -e - 1, -3*e - 1, -2, -e - 1, e - 2, 3*e + 10, -10, 2*e, -7*e - 2, -e + 1, 4*e + 3, -10, -3*e - 8, -5*e - 9, -2*e - 8, 8*e + 11, 6*e - 2, 5*e - 6, -3*e - 4, 4*e - 4, 2*e + 2, 1, -2*e - 5, -6*e + 4, 3*e + 8, e - 17, 13, -5*e + 5, -5*e - 21, -2*e - 10, 6*e + 18, e - 12, 6*e + 24, -4*e - 1, -9*e - 18, -e + 2, -9, 6*e + 12, 5*e + 3, -14*e - 22, -10*e - 12, -5*e - 25, 13*e + 5, -11*e - 7, 10*e + 4, -10*e - 10, 8*e + 20, 4*e + 19, -5*e + 8, -2*e - 16, -5*e - 4, -8*e - 8, -8*e + 3, -5*e - 12, 13*e + 23, 22, 5*e + 4, e + 20, -4*e - 16, -3*e - 8, 3*e - 2, -e + 7, -8*e - 16, 5*e + 13, 4*e - 1, 15*e + 21, 14*e + 12, 7*e - 11, -4*e + 18, 15*e, -9*e + 10, 9*e + 17, 16*e + 4, 17*e + 8, 9*e + 27, e + 4, e + 26, 3*e + 15, 2*e - 18, 13*e + 10, -4*e - 33, 8*e - 12, 8*e - 1, e - 20, -3*e + 11, 2*e + 5, -6*e - 18, 14*e + 6, -4*e - 20, -13*e - 16, -14*e - 6, -12*e - 35, 10*e + 20, -14*e - 15, -9*e + 4, -15*e - 3, 11*e + 12, -e + 11, 17*e + 8, 9*e + 39, 3*e - 19, -14*e - 14, 4*e + 6, 6*e + 26, -3*e + 5, 20*e + 22, -10*e - 15, -34, 8*e + 36, 3*e - 26, 18*e + 31, 12*e + 39, 3*e + 6, -7*e - 8, -15*e - 24, 14*e + 36, -25*e - 22, -8*e - 36, -11*e + 1, -e + 6, -4*e + 10, -14*e + 1, -24*e - 22, -15*e - 34, 15*e - 1, -6*e - 8, 14*e + 13, -e - 23, -17*e - 23, -7*e - 22, -5*e - 2, -8*e + 22, 19*e + 30, 7*e - 6, 6*e - 34, -13*e + 8, 27*e + 21, 20*e + 10, -11*e + 15, -8*e + 22, -5*e - 41, -11*e - 3, 2*e + 26, 19*e + 30, -12*e - 2, 20*e + 1, 4*e - 11, e + 19, 15*e + 33, 8*e, -48, 13*e + 3, -24*e - 10, 10*e + 18, 12, 6*e - 20, 14*e + 38, -21*e - 35, -4*e - 10, 11*e - 17, -2*e - 53, -9*e - 46, -16*e - 35, 4*e + 4, -23*e - 32, 9*e - 8, 14*e - 6, 24*e + 24, 12*e + 18] 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 + 1])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]