/* 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([-27, -1, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([9,9,2*w - 11]) primes_array = [ [3, 3, -w + 6],\ [3, 3, w + 5],\ [4, 2, 2],\ [5, 5, -3*w + 17],\ [5, 5, -3*w - 14],\ [7, 7, w - 5],\ [7, 7, w + 4],\ [29, 29, -w - 7],\ [29, 29, -w + 8],\ [31, 31, -5*w + 28],\ [31, 31, -5*w - 23],\ [43, 43, 6*w + 29],\ [43, 43, -6*w + 35],\ [61, 61, 3*w - 19],\ [61, 61, -3*w - 16],\ [71, 71, -7*w - 34],\ [71, 71, 7*w - 41],\ [73, 73, 2*w - 7],\ [73, 73, -2*w - 5],\ [83, 83, -w - 10],\ [83, 83, w - 11],\ [89, 89, 3*w - 14],\ [89, 89, 3*w + 11],\ [97, 97, 3*w + 17],\ [97, 97, 3*w - 20],\ [109, 109, 2*w - 1],\ [113, 113, -3*w - 10],\ [113, 113, 3*w - 13],\ [121, 11, -11],\ [131, 131, 5*w - 31],\ [131, 131, -5*w - 26],\ [137, 137, -9*w - 41],\ [137, 137, 9*w - 50],\ [157, 157, -14*w + 79],\ [157, 157, 14*w + 65],\ [169, 13, -13],\ [173, 173, -3*w - 7],\ [173, 173, 3*w - 10],\ [191, 191, -10*w - 49],\ [191, 191, 10*w - 59],\ [193, 193, 22*w + 103],\ [193, 193, 22*w - 125],\ [197, 197, 6*w + 25],\ [197, 197, -6*w + 31],\ [211, 211, -4*w - 13],\ [211, 211, 4*w - 17],\ [223, 223, 8*w + 35],\ [223, 223, -8*w + 43],\ [227, 227, 9*w - 49],\ [227, 227, 9*w + 40],\ [233, 233, 3*w - 5],\ [233, 233, -3*w - 2],\ [239, 239, -3*w - 1],\ [239, 239, 3*w - 4],\ [263, 263, 33*w - 188],\ [263, 263, 33*w + 155],\ [281, 281, 8*w - 49],\ [281, 281, -8*w - 41],\ [289, 17, -17],\ [293, 293, 4*w - 29],\ [293, 293, 4*w + 25],\ [307, 307, 3*w - 25],\ [307, 307, -3*w - 22],\ [311, 311, -5*w - 29],\ [311, 311, 5*w - 34],\ [331, 331, 19*w + 88],\ [331, 331, -19*w + 107],\ [347, 347, 23*w - 133],\ [347, 347, 36*w - 205],\ [349, 349, 15*w - 88],\ [349, 349, -15*w - 73],\ [353, 353, -w - 19],\ [353, 353, w - 20],\ [361, 19, -19],\ [373, 373, 23*w - 130],\ [373, 373, 23*w + 107],\ [401, 401, -9*w + 47],\ [401, 401, 9*w + 38],\ [409, 409, 5*w - 19],\ [409, 409, -5*w - 14],\ [421, 421, -10*w + 53],\ [421, 421, 10*w + 43],\ [431, 431, -15*w - 68],\ [431, 431, 15*w - 83],\ [433, 433, 43*w - 245],\ [433, 433, 43*w + 202],\ [439, 439, 35*w - 199],\ [439, 439, 35*w + 164],\ [443, 443, 12*w + 53],\ [443, 443, 12*w - 65],\ [457, 457, 3*w - 28],\ [457, 457, -3*w - 25],\ [461, 461, 21*w - 118],\ [461, 461, 21*w + 97],\ [463, 463, -6*w - 35],\ [463, 463, 6*w - 41],\ [467, 467, 2*w - 25],\ [467, 467, -2*w - 23],\ [479, 479, -w - 22],\ [479, 479, w - 23],\ [499, 499, -5*w - 11],\ [499, 499, 5*w - 16],\ [509, 509, -5*w - 32],\ [509, 509, 5*w - 37],\ [523, 523, -7*w - 25],\ [523, 523, 7*w - 32],\ [529, 23, -23],\ [541, 541, 11*w + 47],\ [541, 541, -11*w + 58],\ [557, 557, 7*w - 47],\ [557, 557, -7*w - 40],\ [571, 571, -5*w - 8],\ [571, 571, 5*w - 13],\ [593, 593, -16*w - 79],\ [593, 593, 16*w - 95],\ [619, 619, 6*w - 43],\ [619, 619, 6*w + 37],\ [647, 647, -9*w + 44],\ [647, 647, -9*w - 35],\ [653, 653, -4*w - 31],\ [653, 653, 4*w - 35],\ [659, 659, 45*w + 211],\ [659, 659, 45*w - 256],\ [661, 661, 5*w - 7],\ [661, 661, -5*w - 2],\ [683, 683, 27*w + 125],\ [683, 683, -27*w + 152],\ [727, 727, -27*w - 130],\ [727, 727, 27*w - 157],\ [743, 743, 14*w - 85],\ [743, 743, -14*w - 71],\ [751, 751, 40*w + 187],\ [751, 751, 40*w - 227],\ [797, 797, -13*w - 67],\ [797, 797, 13*w - 80],\ [809, 809, -30*w + 169],\ [809, 809, 30*w + 139],\ [811, 811, 3*w - 34],\ [811, 811, -3*w - 31],\ [823, 823, -13*w + 68],\ [823, 823, 13*w + 55],\ [827, 827, 7*w - 50],\ [827, 827, 7*w + 43],\ [829, 829, -7*w - 19],\ [829, 829, 7*w - 26],\ [857, 857, -8*w - 47],\ [857, 857, 8*w - 55],\ [863, 863, -11*w + 70],\ [863, 863, -11*w - 59],\ [877, 877, -3*w - 32],\ [877, 877, 3*w - 35],\ [881, 881, -6*w - 7],\ [881, 881, 6*w - 13],\ [887, 887, -21*w - 95],\ [887, 887, 21*w - 116],\ [907, 907, 19*w - 104],\ [907, 907, 19*w + 85],\ [947, 947, 9*w - 40],\ [947, 947, -9*w - 31],\ [953, 953, 29*w + 140],\ [953, 953, -29*w + 169],\ [977, 977, 6*w - 5],\ [977, 977, 6*w - 1],\ [997, 997, -26*w - 119],\ [997, 997, 26*w - 145]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 + 2*x - 1 K. = NumberField(heckePol) hecke_eigenvalues_array = [e, 0, e + 2, e - 2, -2, -2*e - 3, 2*e + 4, -4*e - 6, -1, -3*e - 8, -4*e - 4, 2*e - 2, 6, -4*e + 2, 9, -8*e - 10, -6*e - 3, -2*e - 4, -4*e + 4, 4*e + 4, 4*e + 10, -2*e + 6, 2*e - 6, -3*e - 16, 3*e + 6, 6*e + 6, -5*e - 14, 6*e + 10, 3*e - 6, -7*e - 14, 6*e - 5, -8*e + 2, 6*e + 6, 6*e - 2, -6*e, 8*e + 3, -e - 14, 4*e + 2, 14*e + 20, -8*e + 2, -4*e - 16, 4*e - 2, -6*e - 4, -6*e - 17, 1, 4*e + 8, 7*e - 4, -22, -8*e - 15, 3*e + 12, -6*e + 2, 12*e + 20, 11*e + 14, -4*e - 19, 7*e + 14, 6*e + 3, 2*e - 14, 6, 4*e - 8, 4*e - 3, -10*e + 4, -12*e - 1, 4*e + 4, 8*e - 9, 8*e + 14, -4*e - 13, -6*e + 18, -8*e - 22, -6*e - 14, -14*e - 2, 8*e + 2, -20*e - 20, -6*e + 9, -4*e - 26, -10*e + 2, -17*e - 16, 4*e + 32, 12*e + 19, -14*e - 18, 14*e + 8, -2*e - 2, -10, -4*e + 28, 15*e + 20, -10*e - 20, -8*e - 28, 25*e + 28, -10*e - 16, -32, -9*e - 24, 22*e + 30, -6*e + 4, 6*e + 19, 26, -9*e - 18, 12*e - 10, -12*e - 8, -8*e - 4, 8*e + 12, 4*e - 14, -22*e - 28, 21*e + 30, -18*e - 18, 9*e + 8, -10*e + 18, -6*e + 25, 6*e + 14, 3*e - 12, -6*e - 22, -5, 4*e + 12, -5*e - 14, -26*e - 22, -7*e + 20, 6*e - 16, 2*e + 4, 24*e + 31, -11*e - 8, 12*e + 4, 2*e - 2, 24*e + 36, -6*e + 24, 12*e - 2, 6*e + 2, 2*e - 28, -10*e, -12*e - 4, 20*e + 10, -2*e - 17, 16*e + 2, 22*e + 30, 12*e + 6, 12*e + 29, -10*e - 26, 16*e + 2, 2*e + 30, 7*e - 20, -8*e - 16, 12*e + 42, 22*e + 4, 20*e + 35, 16*e + 41, -5*e - 16, -16*e - 36, -14*e + 2, -6*e - 16, -e - 2, -2*e - 32, 22*e + 44, -2*e - 40, 28*e + 24, 22*e + 38, 6*e - 12, -12*e - 39, 8*e - 14, 30*e + 31, 10*e + 42, -10*e - 20, 6*e - 10, -2*e - 58, 30*e + 38, -3*e + 14, -26*e - 36, -25*e - 10, 25*e + 20] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal([3,3,w + 5])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]