/* 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, -7, -1, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([12, 6, w^2 - 2*w - 3]) primes_array = [ [2, 2, -w^2 + 3*w],\ [3, 3, -w^2 - w + 3],\ [3, 3, w + 2],\ [7, 7, 2*w^2 - 6*w - 1],\ [11, 11, -w^2 + 2*w + 4],\ [17, 17, -w^2 + 4*w - 2],\ [19, 19, w^2 - 6],\ [19, 19, -w^2 - 3*w - 1],\ [19, 19, 3*w^2 - 9*w - 1],\ [41, 41, w^2 - 8],\ [43, 43, -2*w^2 - 3*w + 4],\ [47, 47, -2*w - 3],\ [49, 7, -9*w^2 + 29*w - 3],\ [67, 67, 2*w - 3],\ [71, 71, 4*w^2 - 14*w + 5],\ [79, 79, w^2 - 3*w - 3],\ [79, 79, -w^2 + 5*w - 5],\ [79, 79, 6*w^2 - 3*w - 38],\ [97, 97, 3*w^2 - 10*w],\ [103, 103, 3*w^2 - 4*w - 24],\ [103, 103, 2*w^2 - 2*w - 11],\ [103, 103, 2*w^2 - 5*w - 2],\ [107, 107, 3*w^2 - 16],\ [109, 109, 2*w^2 - 3*w - 16],\ [113, 113, 2*w^2 - 3*w - 12],\ [121, 11, 2*w^2 - 3*w - 18],\ [125, 5, -5],\ [127, 127, 4*w^2 - 21],\ [127, 127, 2*w^2 - 9],\ [131, 131, -7*w^2 + 24*w - 6],\ [139, 139, w - 6],\ [149, 149, -w^2 + 10*w + 28],\ [151, 151, w^2 + 2*w - 4],\ [157, 157, -2*w^2 + 7*w - 4],\ [157, 157, -10*w^2 + 33*w - 6],\ [157, 157, 3*w - 8],\ [167, 167, 2*w^2 - 4*w - 5],\ [167, 167, -3*w - 4],\ [167, 167, w^2 + w - 7],\ [173, 173, 2*w^2 - 6*w - 3],\ [173, 173, w^2 - 3*w - 5],\ [173, 173, -3*w - 8],\ [179, 179, w^2 - 5*w - 1],\ [181, 181, 4*w^2 - 11*w - 4],\ [191, 191, 5*w^2 - 15*w - 1],\ [193, 193, w^2 + 3*w - 3],\ [197, 197, 7*w^2 + 13*w - 7],\ [223, 223, -5*w - 12],\ [227, 227, 3*w^2 - 5*w - 15],\ [229, 229, -2*w^2 + 13],\ [241, 241, w^2 - 3*w - 9],\ [251, 251, 9*w^2 - 28*w],\ [263, 263, -5*w^2 + 15*w + 3],\ [269, 269, 5*w^2 - 17*w + 1],\ [277, 277, 4*w^2 - 12*w - 3],\ [281, 281, -6*w^2 + 21*w - 4],\ [281, 281, -6*w - 13],\ [281, 281, 3*w^2 - 3*w - 17],\ [283, 283, -5*w^2 + 18*w - 8],\ [289, 17, 3*w^2 + 2*w - 12],\ [293, 293, -7*w^2 + 23*w - 5],\ [293, 293, 2*w^2 - 7],\ [293, 293, 4*w^2 - w - 22],\ [307, 307, -2*w^2 + 21],\ [313, 313, w^2 - 4*w - 4],\ [317, 317, 2*w^2 + 3*w - 6],\ [317, 317, 3*w^2 - 8*w - 6],\ [317, 317, 2*w^2 - w - 8],\ [331, 331, 3*w^2 - 7*w - 9],\ [337, 337, -4*w - 3],\ [349, 349, 7*w^2 - 4*w - 46],\ [353, 353, 11*w^2 - 35*w + 1],\ [359, 359, 2*w^2 - 3*w - 4],\ [359, 359, -w^2 + 7*w - 11],\ [359, 359, -2*w^2 - 8*w - 7],\ [373, 373, 5*w^2 + w - 23],\ [379, 379, 2*w^2 - 4*w - 11],\ [383, 383, -w^2 + 6*w - 6],\ [389, 389, 15*w^2 - 48*w + 4],\ [409, 409, w^2 - 6*w - 18],\ [419, 419, -4*w^2 + 15*w - 6],\ [421, 421, 2*w^2 - 4*w - 17],\ [431, 431, w^2 + 3*w - 5],\ [433, 433, 5*w^2 - 7*w - 41],\ [433, 433, 2*w^2 - 2*w - 5],\ [433, 433, -4*w^2 + 15*w - 4],\ [439, 439, 5*w^2 - w - 29],\ [443, 443, -9*w^2 + 3*w + 53],\ [449, 449, 5*w^2 - 3*w - 31],\ [461, 461, w^2 - w - 13],\ [461, 461, 4*w^2 - 7*w - 16],\ [461, 461, -3*w^2 - w + 15],\ [479, 479, 2*w^2 - 5*w - 8],\ [487, 487, -11*w^2 + 34*w + 2],\ [491, 491, 3*w^2 - 6*w - 8],\ [491, 491, -6*w^2 + 21*w - 8],\ [491, 491, -8*w^2 + 26*w - 1],\ [499, 499, 2*w^2 - 8*w - 29],\ [503, 503, 3*w^2 - 7*w - 3],\ [509, 509, -w^2 - 4],\ [521, 521, 2*w^2 - w - 20],\ [541, 541, 8*w^2 - w - 44],\ [547, 547, 12*w^2 - 38*w + 3],\ [557, 557, -17*w^2 + 57*w - 11],\ [563, 563, 5*w^2 - 2*w - 32],\ [563, 563, 6*w^2 - 22*w + 9],\ [563, 563, -2*w^2 + 5*w + 20],\ [569, 569, 3*w^2 - 6*w - 28],\ [571, 571, w^2 - 4*w - 10],\ [587, 587, 6*w^2 - 7*w - 48],\ [601, 601, 7*w^2 - 21*w + 1],\ [613, 613, -6*w^2 + 9*w + 52],\ [619, 619, 4*w^2 - 10*w - 43],\ [631, 631, -2*w - 9],\ [641, 641, 2*w^2 - 6*w - 25],\ [641, 641, 11*w^2 - 6*w - 70],\ [641, 641, -w^2 - 6*w - 10],\ [643, 643, -4*w^2 + 11*w + 46],\ [643, 643, 7*w^2 - 2*w - 40],\ [643, 643, -3*w - 10],\ [653, 653, -2*w^2 - w + 20],\ [677, 677, w^2 - 3*w - 15],\ [683, 683, w^2 + 3*w - 17],\ [683, 683, 4*w^2 - 6*w - 23],\ [683, 683, 4*w^2 + 4*w - 13],\ [691, 691, 5*w^2 - 14*w - 2],\ [709, 709, -w^2 + w - 5],\ [709, 709, 2*w^2 - 6*w + 5],\ [709, 709, 4*w^2 - 5*w - 34],\ [719, 719, 2*w^2 + w - 14],\ [727, 727, -w^2 - 8*w - 14],\ [751, 751, 3*w^2 - 6*w - 14],\ [769, 769, -8*w^2 + 12*w + 69],\ [773, 773, 3*w^2 - 4*w - 12],\ [797, 797, 8*w^2 - 28*w + 7],\ [809, 809, 10*w^2 - 31*w + 2],\ [823, 823, -13*w^2 + 44*w - 8],\ [823, 823, 9*w^2 - 26*w - 6],\ [823, 823, 3*w^2 - 5*w - 9],\ [829, 829, 2*w^2 + 2*w - 11],\ [853, 853, -12*w^2 + 40*w - 9],\ [859, 859, 4*w - 15],\ [877, 877, -w^2 + 4*w - 8],\ [877, 877, 3*w^2 + w - 9],\ [877, 877, 3*w^2 - 3*w - 13],\ [911, 911, w^2 - 5*w - 13],\ [929, 929, 8*w^2 - 24*w - 1],\ [929, 929, -16*w^2 + 50*w + 1],\ [929, 929, -w^2 + 3*w - 7],\ [937, 937, -3*w^2 + 26],\ [941, 941, w^2 - 5*w - 7],\ [947, 947, 4*w^2 - 12*w - 5],\ [947, 947, 10*w^2 - 30*w - 3],\ [947, 947, -5*w^2 + 17*w - 7],\ [953, 953, 2*w^2 - 9*w - 30],\ [967, 967, 5*w - 12],\ [971, 971, 5*w^2 - 8*w - 26],\ [977, 977, 15*w^2 - 48*w + 2],\ [983, 983, -18*w^2 + 59*w - 6],\ [991, 991, 6*w^2 - 23*w + 12],\ [997, 997, 4*w^2 + w - 16]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^4 - 2*x^3 - 7*x^2 + 9*x + 12 K. = NumberField(heckePol) hecke_eigenvalues_array = [0, -1, e, e^3 - e^2 - 4*e, -e^3 + e^2 + 5*e, -e^2 + 2*e + 6, e^3 - e^2 - 5*e, 3*e^2 - 2*e - 12, -e^3 + 6*e + 4, e^3 + 2*e^2 - 9*e - 6, e^3 - 7*e, -e^3 + 5*e + 12, e^3 + 4*e^2 - 10*e - 18, 5*e^2 - 6*e - 20, -e^3 - 3*e^2 + 9*e + 12, -e^3 + 6*e, -e^3 - 3*e^2 + 9*e + 20, -2*e^3 - e^2 + 11*e + 12, -3*e^2 + 3*e + 10, -2*e^3 - 2*e^2 + 12*e + 8, -4*e^3 - 2*e^2 + 22*e + 24, -e^2 - 5*e + 12, -e^3 + 4*e^2 - 12, -3*e^3 + 18*e + 6, -4*e^2 + 18, 3*e^3 - 3*e^2 - 12*e - 2, e^3 - e^2 - 3*e - 6, -2*e^3 + 4*e^2 + 9*e - 12, -e^3 - 2*e^2 + 9*e + 4, e^3 + 3*e^2 - 3*e - 24, e^3 - 3*e^2 + 12, 2*e^3 + 3*e^2 - 12*e - 18, -4*e^3 - e^2 + 21*e + 20, -4*e^3 + e^2 + 23*e + 6, -3*e^3 + 2*e^2 + 18*e + 2, -e^3 - 7*e^2 + 16*e + 30, e^3 - 4*e^2 - 6*e + 24, e^3 - e^2, 2*e^3 - 4*e^2 - 15*e + 12, -e^3 - e^2 + 15*e + 6, 4*e^3 - 3*e^2 - 24*e + 6, -3*e^3 - 3*e^2 + 17*e + 30, -e^3 + 7*e^2 - 4*e - 36, -3*e^3 + 3*e^2 + 15*e + 6, -3*e^2 - 2*e + 24, 3*e^3 + 2*e^2 - 19*e - 18, -2*e^3 - 3*e^2 + 15*e + 18, 3*e^3 - 4*e^2 - 15*e + 12, e^3 - e^2 - 11*e, -4*e^3 - 6*e^2 + 31*e + 30, -2*e^3 + 3*e^2 + 9*e - 18, 2*e^3 - 5*e^2 - 3*e + 24, 10*e^2 - 9*e - 36, -3*e^3 + 3*e^2 + 10*e + 6, -2*e^2 - 2*e + 18, -4*e^2 + 12*e + 18, -2*e^3 + 3*e^2 + 3*e - 6, -4*e^3 + 7*e^2 + 19*e - 6, e^3 - 4*e^2 - 3*e + 16, 3*e^3 - e^2 - 21*e + 2, 2*e^3 - 2*e^2 - 3*e + 6, e^3 - 8*e + 6, 5*e^3 - 9*e^2 - 18*e + 18, e^3 - 2*e^2 - 6*e + 4, 7*e^3 - 3*e^2 - 36*e - 10, 8*e^3 - 7*e^2 - 42*e + 6, -2*e^3 + 7*e^2 + 5*e - 18, -4*e^3 - 8*e^2 + 30*e + 42, 5*e^3 + 2*e^2 - 30*e - 20, -e^3 + 2*e^2 - 2, 6*e^2 - 6*e - 38, -2*e^3 + 5*e^2 + 13*e - 18, e^3 + 3*e^2 - 6*e, 5*e^3 + 2*e^2 - 37*e - 12, 7*e^3 - 3*e^2 - 42*e, -2*e^3 - 4*e^2 + 18*e + 18, -4*e^2 + 15*e + 16, e^3 - 4*e^2, -e^3 - 2*e^2 + 6*e + 6, e^3 - 4*e^2 - 12*e + 6, 4*e^3 - 4*e^2 - 18*e - 12, 5*e^3 + 4*e^2 - 30*e - 38, e^3 - 5*e^2, -2*e^3 + 3*e^2 - 14, 2*e^3 - 10*e^2 - 6*e + 42, -2*e^3 + 4*e^2 + 5*e - 18, 4*e^3 + 2*e^2 - 24*e - 32, 5*e^3 + 2*e^2 - 40*e - 12, -e^3 + e^2 + 6*e + 6, -5*e^3 + 5*e^2 + 18*e - 6, 3*e^3 - 5*e^2 - 18*e - 6, -4*e^3 + 4*e^2 + 19*e - 6, 5*e^3 - 28*e - 24, -8*e^3 + 13*e^2 + 30*e - 32, -e^2 - e + 24, -3*e^3 + e^2 + 22*e + 12, e^3 + e^2 - 2*e + 12, -e^3 - 2*e^2 + 8*e + 12, 4*e^3 - e^2 - 21*e + 12, e^3 - 5*e^2 - 13*e + 18, -5*e^3 + 9*e^2 + 18*e - 18, 6*e^3 - 8*e^2 - 27*e + 10, 3*e^3 - 10*e^2 - 15*e + 24, -2*e^3 + 9*e^2 + 9*e - 30, 6*e^3 - 6*e^2 - 35*e + 24, -2*e^3 - e^2 + 19*e, -6*e^3 - e^2 + 34*e + 36, -5*e^3 - 2*e^2 + 30*e + 30, -8*e^3 - 6*e^2 + 42*e + 68, 3*e^3 + 6*e^2 - 24*e - 12, 4*e^3 - 2*e^2 - 21*e + 10, 5*e^3 - e^2 - 42*e + 2, -e^3 + 13*e^2 - 6*e - 52, 6*e^3 - 3*e^2 - 22*e - 24, e^3 + e^2 - 8*e - 6, 2*e^3 - 2*e^2 - 10*e + 18, 4*e^3 + 9*e^2 - 30*e - 54, -3*e^3 + 7*e^2 + 4*e - 12, 3*e^3 + 4*e^2 - 21*e, -e^3 + 7*e^2 + 3*e - 8, -2*e^3 + 2*e^2 + e + 18, e^3 - 6*e^2 - e + 30, -9*e^3 + 2*e^2 + 42*e + 36, e^3 + e^2 - 12, -6*e^3 + 10*e^2 + 19*e - 24, 4*e^3 + 3*e^2 - 18*e - 12, -5*e^3 + 12*e^2 + 26*e - 30, 10*e^3 - 9*e^2 - 45*e + 10, -4*e^3 + 7*e^2 + 16*e - 30, -6*e^3 - 11*e^2 + 46*e + 48, -6*e^3 + 25*e + 12, -4*e^3 + 2*e^2 + 32*e, -3*e^3 + 13*e^2 + 3*e - 58, e^3 - 2*e^2 - 3*e - 6, 8*e^3 + 3*e^2 - 44*e - 30, -10*e^3 + 16*e^2 + 36*e - 42, 6*e^3 + 2*e^2 - 33*e - 28, 6*e^3 + 6*e^2 - 47*e - 36, 9*e^3 - 11*e^2 - 33*e + 12, 3*e^3 - 4*e^2 - 15*e + 14, 3*e^3 - 2*e^2 - 6*e - 18, e^3 + 15*e^2 - 12*e - 60, 9*e^2 + 10*e - 42, 5*e^2 - 2*e - 30, -3*e^3 - 8*e^2 + 24*e + 74, 14*e^3 - 10*e^2 - 69*e + 12, -e^3 - 2*e^2 + 14*e + 18, 11*e^3 - 6*e^2 - 62*e + 6, -3*e^3 - 7*e^2 + 15*e + 66, -9*e^3 - 5*e^2 + 63*e + 42, e^3 - 19*e^2 + 10*e + 54, 8*e^3 - 39*e - 24, -2*e^3 + 14*e^2 - e - 48, 2*e^3 + 4*e^2 - 18*e - 12, -2*e^3 - 9*e^2 + 15*e + 54, -3*e^3 - 7*e^2 + 15*e + 68, -3*e^2 + 4*e - 12, 2*e^3 - 11*e^2 - 12*e + 30, -e^3 + 2*e^2 - 2*e, 2*e^3 - 14*e^2 - 12*e + 56, 2*e^3 - 13*e^2 + 16*e + 66] 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^2 + 3*w])] = -1 AL_eigenvalues[ZF.ideal([3, 3, -w^2 - w + 3])] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]