/* 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, -4, -1, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([24, 6, 2*w - 2]) primes_array = [ [3, 3, w + 1],\ [3, 3, w - 1],\ [7, 7, w^2 - 2],\ [8, 2, 2],\ [11, 11, -w^2 + w + 1],\ [23, 23, -w - 3],\ [29, 29, -w^2 + 2*w + 4],\ [31, 31, 2*w - 3],\ [41, 41, -2*w^2 + 3*w + 6],\ [43, 43, w^2 - 3*w + 3],\ [47, 47, w^2 + w - 4],\ [49, 7, 2*w^2 - 3*w - 3],\ [53, 53, w^2 - 3*w - 2],\ [59, 59, 2*w^2 - w - 5],\ [59, 59, w^2 - w - 7],\ [59, 59, -w^2 - w + 7],\ [67, 67, 2*w^2 - 3*w - 7],\ [73, 73, -w^2 + 4*w - 5],\ [79, 79, w^2 - 8],\ [79, 79, w^2 - 5*w + 5],\ [79, 79, w^2 - 3*w - 3],\ [83, 83, -3*w^2 + w + 9],\ [89, 89, 2*w^2 - w - 2],\ [97, 97, w^2 - 3*w - 6],\ [101, 101, 3*w - 4],\ [103, 103, 3*w - 5],\ [107, 107, -3*w^2 + 10],\ [107, 107, w^2 - 3*w - 5],\ [109, 109, w^2 + 2*w - 4],\ [121, 11, 3*w^2 - 2*w - 9],\ [125, 5, -5],\ [127, 127, w^2 + w - 10],\ [137, 137, 3*w^2 - 3*w - 8],\ [139, 139, -5*w^2 + 3*w + 18],\ [149, 149, 3*w^2 - 4*w - 6],\ [157, 157, w - 6],\ [163, 163, -4*w^2 + 2*w + 13],\ [163, 163, -w^2 - 3],\ [163, 163, 2*w^2 - 4*w - 11],\ [181, 181, 3*w^2 - 11],\ [193, 193, 3*w^2 - 3*w - 7],\ [193, 193, -3*w^2 + 3*w + 16],\ [193, 193, w^2 + 2*w - 7],\ [197, 197, 2*w^2 + w - 8],\ [211, 211, 4*w^2 - 5*w - 10],\ [227, 227, -w - 6],\ [229, 229, w^2 - 4*w - 7],\ [233, 233, 3*w^2 - 5],\ [239, 239, 2*w^2 - 3*w - 13],\ [251, 251, 3*w^2 - 4*w - 3],\ [257, 257, 3*w^2 - w - 6],\ [257, 257, 3*w^2 - 5*w - 9],\ [257, 257, w^2 + 3*w - 5],\ [263, 263, 2*w^2 + w - 11],\ [277, 277, 3*w^2 - 2*w - 6],\ [281, 281, 3*w^2 - 3*w - 5],\ [281, 281, -w^2 - 4],\ [281, 281, 4*w^2 - 3*w - 12],\ [293, 293, 2*w^2 - 5*w - 5],\ [307, 307, 3*w^2 - 2*w - 3],\ [317, 317, 3*w^2 - w - 18],\ [317, 317, -w^2 + 2*w - 5],\ [317, 317, -4*w^2 + 7*w + 4],\ [349, 349, -w^2 + 3*w - 6],\ [353, 353, 3*w^2 - 6*w - 7],\ [353, 353, w^2 - w - 10],\ [353, 353, -5*w - 3],\ [367, 367, -4*w^2 - w + 7],\ [379, 379, 4*w^2 - 3*w - 11],\ [383, 383, 4*w^2 - w - 10],\ [389, 389, w^2 - 5*w - 4],\ [389, 389, -5*w^2 + 7*w + 11],\ [389, 389, -7*w^2 + 4*w + 25],\ [397, 397, -w^2 + w - 5],\ [397, 397, 5*w^2 - 6*w - 22],\ [397, 397, -5*w^2 - w + 11],\ [401, 401, 2*w^2 - w - 14],\ [401, 401, 5*w^2 - 3*w - 16],\ [401, 401, w^2 + 3*w - 8],\ [409, 409, w^2 + 3*w - 9],\ [431, 431, 2*w - 9],\ [433, 433, w^2 - 3*w - 11],\ [439, 439, w^2 - 11],\ [439, 439, 5*w - 6],\ [439, 439, 3*w^2 + 2*w - 9],\ [443, 443, -6*w^2 + 3*w + 20],\ [443, 443, -w^2 - w - 5],\ [443, 443, 2*w^2 - 5*w - 11],\ [461, 461, 3*w^2 - 4*w - 18],\ [463, 463, 3*w^2 - 6*w - 17],\ [463, 463, -4*w^2 - 3*w + 9],\ [463, 463, 3*w^2 - 6*w - 8],\ [467, 467, 2*w^2 - 5*w - 8],\ [487, 487, 2*w^2 + 3*w - 7],\ [499, 499, 5*w^2 - 8*w - 8],\ [503, 503, 3*w^2 + w - 12],\ [509, 509, w^2 - 6*w - 11],\ [523, 523, 3*w^2 - 9*w - 2],\ [529, 23, -w^2 + 4*w - 8],\ [541, 541, 2*w^2 + 2*w - 11],\ [569, 569, 4*w^2 - 3*w - 9],\ [587, 587, -w^2 - 4*w + 13],\ [599, 599, 3*w - 11],\ [601, 601, -3*w^2 + 10*w - 9],\ [607, 607, 4*w^2 - 6*w - 15],\ [613, 613, w - 9],\ [619, 619, 5*w^2 - 2*w - 14],\ [631, 631, 4*w^2 - 5*w - 4],\ [647, 647, 4*w^2 - 4*w - 7],\ [647, 647, w^2 - 12],\ [647, 647, 4*w^2 - w - 7],\ [653, 653, 4*w^2 - 6*w - 17],\ [659, 659, 3*w^2 - 6*w - 10],\ [659, 659, 3*w^2 + w - 15],\ [659, 659, 4*w^2 - 17],\ [661, 661, 2*w^2 - 3*w - 15],\ [661, 661, -5*w^2 + 5*w + 26],\ [661, 661, 5*w^2 - 12*w - 4],\ [673, 673, w^2 + w - 13],\ [677, 677, w^2 - 3*w - 12],\ [683, 683, 5*w^2 - 4*w - 14],\ [709, 709, 4*w^2 - 2*w - 7],\ [733, 733, 3*w^2 - 6*w - 11],\ [739, 739, -2*w - 9],\ [743, 743, 6*w - 7],\ [751, 751, w^2 - 6*w - 9],\ [757, 757, 4*w^2 - 3*w - 5],\ [761, 761, -7*w^2 + 8*w + 31],\ [769, 769, w^2 - 6*w - 6],\ [773, 773, -w - 9],\ [773, 773, w^2 - 4*w - 13],\ [773, 773, 5*w^2 - 18],\ [787, 787, 3*w^2 - 6*w - 14],\ [797, 797, w^2 - 6*w - 8],\ [811, 811, 2*w^2 + 3*w - 10],\ [811, 811, -2*w^2 - 3*w + 16],\ [811, 811, -6*w^2 + 11*w + 6],\ [823, 823, w^2 + 5*w - 7],\ [829, 829, -5*w^2 - 2*w + 14],\ [839, 839, 2*w^2 - 6*w - 9],\ [841, 29, 2*w^2 - 7*w - 5],\ [853, 853, 5*w^2 - 28],\ [857, 857, 7*w^2 - 9*w - 23],\ [877, 877, -8*w^2 + 3*w + 31],\ [881, 881, 6*w^2 - 9*w - 11],\ [907, 907, 4*w^2 - 7*w - 13],\ [911, 911, 2*w^2 + 3*w - 15],\ [911, 911, -w^2 - 7],\ [911, 911, 3*w^2 + 3*w - 10],\ [919, 919, w^2 - 7*w - 4],\ [941, 941, 6*w^2 - 11*w - 12],\ [947, 947, 5*w^2 - w - 11],\ [947, 947, 3*w^2 - 8*w - 6],\ [947, 947, 2*w^2 + 3*w - 12],\ [953, 953, -5*w^2 - 4*w + 11],\ [953, 953, 4*w^2 - w - 25],\ [953, 953, 6*w^2 - 7*w - 15],\ [961, 31, 4*w^2 + 2*w - 13],\ [977, 977, -2*w^2 + 3*w - 6],\ [991, 991, 5*w^2 - 5*w - 11]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 - x - 3 K. = NumberField(heckePol) hecke_eigenvalues_array = [e, 1, -e + 3, -1, -2*e + 2, -e + 1, 3*e, 4*e - 2, -2*e - 4, e - 5, -e - 2, -3*e + 8, -3*e - 6, 6, 3*e - 6, 6*e, -2*e + 4, -2*e + 10, -e - 6, 5*e - 3, e + 4, 4*e - 4, -5*e - 7, -e + 12, -2*e + 2, -4, 5*e - 11, 6*e - 6, -2*e - 8, 8*e, e - 13, 6*e - 4, -12*e + 6, -6*e + 2, -2*e + 14, -7*e + 15, -3*e - 13, -e - 3, 2, e - 2, 4*e - 2, -8*e - 8, -8*e - 8, -e - 5, -5*e - 2, 14*e - 8, -e - 18, 4*e - 16, e - 16, -3*e + 21, -e + 1, 6, -14*e + 8, 12, 8, -e + 7, 6*e - 12, 9*e - 15, -2*e + 14, -2*e + 28, -6*e + 18, -4*e + 10, -3*e - 21, 16*e - 2, -7*e + 22, -4*e + 10, -11*e + 11, 17*e - 6, 9*e - 7, 3*e + 3, -e + 16, 18*e - 6, 6*e - 12, 16*e - 8, -13*e + 9, -12*e + 14, -5*e - 1, 24, 11*e - 11, 13*e - 11, e - 13, 7*e - 17, 5*e + 6, -12*e + 2, 10*e + 4, -4*e - 8, -6, 3*e, 4*e + 14, 12*e - 16, -2*e + 22, 12*e - 16, 5*e - 20, -20*e + 10, 13*e - 2, -6*e + 6, -e + 19, 38, 12*e - 4, -10*e + 6, -6*e + 36, -5*e - 22, 2*e - 2, 13*e - 8, 21*e - 16, 7*e + 28, -14*e + 10, 7*e - 35, 8*e + 4, 0, 3*e + 24, -3*e + 9, 30, 22*e - 4, 9*e - 15, 8*e, -6*e - 16, -6*e + 38, e + 31, -6, 2*e + 10, -5*e + 10, -e - 27, 17*e - 12, -8*e - 16, 12*e + 2, -8*e + 16, -4*e + 40, 8*e, 16*e - 10, 3*e + 42, -4*e - 38, -5*e - 20, -10*e + 10, -18*e + 20, 7*e + 10, 9*e - 34, -40, 20, 17*e + 7, 3*e - 34, 10*e - 14, 7*e + 2, -9*e + 23, 3*e + 6, 7*e + 25, 15*e - 12, -8*e - 28, -10*e + 16, -4*e - 18, e + 56, 3*e - 36, -6*e + 36, 24*e - 12, -3*e - 42, -4*e - 2, 9*e, -4*e + 24, -20*e + 32, -5*e + 22] 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 - 1])] = -1 AL_eigenvalues[ZF.ideal([8, 2, 2])] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]