/* 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([2, 4, -4, -2, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([6, 6, -w + 2]) primes_array = [ [2, 2, w],\ [3, 3, w + 1],\ [5, 5, -w^2 + w + 1],\ [11, 11, w^2 - 3],\ [17, 17, -w^2 + w + 3],\ [19, 19, -w^3 + 2*w^2 + 3*w - 1],\ [27, 3, w^3 - 3*w^2 - w + 5],\ [41, 41, -w^3 + 2*w^2 + w - 1],\ [41, 41, -w^3 + w^2 + 2*w - 1],\ [43, 43, w^3 - w^2 - 5*w + 1],\ [47, 47, w^2 - 2*w - 5],\ [47, 47, -2*w^3 + 6*w^2 + w - 5],\ [61, 61, -2*w^3 + 5*w^2 + 4*w - 7],\ [67, 67, -2*w^2 + 2*w + 9],\ [67, 67, -w^3 + 2*w^2 + 4*w - 1],\ [71, 71, w^3 - w^2 - 6*w + 3],\ [83, 83, -w^3 + 2*w^2 + 5*w + 1],\ [89, 89, -w - 3],\ [89, 89, -w^2 - 2*w + 1],\ [97, 97, w^3 - w^2 - 6*w + 1],\ [101, 101, 2*w^3 - 3*w^2 - 9*w + 3],\ [101, 101, -2*w^3 + 4*w^2 + 6*w - 7],\ [103, 103, -w^3 + 4*w^2 - w - 7],\ [107, 107, -2*w^3 + 5*w^2 + 7*w - 13],\ [107, 107, -w^3 + w^2 + 4*w - 3],\ [125, 5, 3*w^3 - 7*w^2 - 8*w + 13],\ [127, 127, -w^3 + 3*w^2 + 2*w - 3],\ [127, 127, 2*w^3 - 2*w^2 - 8*w + 1],\ [131, 131, w^2 - 3*w - 3],\ [131, 131, w^2 - 5],\ [149, 149, -w^3 + 2*w^2 + 5*w - 3],\ [151, 151, -2*w^3 + 6*w^2 + 4*w - 15],\ [157, 157, w^3 - 4*w^2 + w + 5],\ [157, 157, 3*w^3 - 8*w^2 - 8*w + 17],\ [163, 163, -4*w^3 + 8*w^2 + 14*w - 15],\ [163, 163, 3*w^3 - 6*w^2 - 11*w + 9],\ [167, 167, w^3 - 6*w - 1],\ [181, 181, 2*w^2 - 3*w - 3],\ [191, 191, 3*w^3 - 8*w^2 - 9*w + 21],\ [191, 191, -w^3 + w^2 + 3*w + 3],\ [197, 197, -2*w^3 + 4*w^2 + 9*w - 11],\ [197, 197, 2*w^2 - 2*w - 3],\ [199, 199, -w^3 + 4*w^2 - 2*w - 5],\ [199, 199, -w^3 + 3*w^2 + w - 7],\ [211, 211, 2*w^3 - 5*w^2 - 5*w + 7],\ [211, 211, 4*w^3 - 9*w^2 - 12*w + 15],\ [229, 229, 3*w - 1],\ [229, 229, 4*w^3 - 9*w^2 - 12*w + 17],\ [229, 229, 5*w^3 - 12*w^2 - 16*w + 29],\ [233, 233, w^2 - w - 7],\ [251, 251, -2*w^3 + 2*w^2 + 6*w - 5],\ [251, 251, w^3 - w^2 - 3*w - 5],\ [257, 257, -w^3 + 2*w^2 + 5*w - 9],\ [257, 257, -w^3 + 2*w^2 + 3*w - 7],\ [269, 269, -2*w^3 + 2*w^2 + 11*w - 1],\ [269, 269, w^3 - 5*w - 9],\ [271, 271, -4*w^3 + 11*w^2 + 10*w - 27],\ [277, 277, w^3 - 3*w^2 - 3*w + 11],\ [281, 281, -2*w^3 + 2*w^2 + 7*w + 1],\ [281, 281, -5*w^3 + 13*w^2 + 13*w - 27],\ [283, 283, -w^3 + 3*w^2 + 3*w - 3],\ [283, 283, -2*w^3 + 3*w^2 + 8*w - 5],\ [293, 293, -3*w^3 + 9*w^2 + 4*w - 15],\ [307, 307, w^2 - 4*w - 3],\ [311, 311, w^2 + w - 5],\ [313, 313, -3*w^3 + 5*w^2 + 11*w - 5],\ [313, 313, 2*w^3 - 5*w^2 - 2*w + 3],\ [317, 317, -2*w^3 + 4*w^2 + 5*w - 3],\ [317, 317, 2*w^2 - 2*w - 5],\ [337, 337, -4*w^3 + 9*w^2 + 14*w - 19],\ [349, 349, -w^3 + 4*w^2 - 7],\ [349, 349, 2*w^3 - 2*w^2 - 6*w - 1],\ [353, 353, 2*w^3 - 3*w^2 - 5*w + 5],\ [353, 353, -4*w^3 + 11*w^2 + 10*w - 25],\ [367, 367, -3*w^3 + 6*w^2 + 11*w - 15],\ [373, 373, -3*w^3 + 6*w^2 + 12*w - 13],\ [389, 389, -w^3 + 5*w^2 + 3*w - 11],\ [389, 389, -3*w^3 + 5*w^2 + 13*w - 5],\ [397, 397, -3*w^3 + 6*w^2 + 9*w - 11],\ [401, 401, -2*w^3 + 4*w^2 + 5*w - 5],\ [409, 409, w^3 - 4*w^2 - w + 9],\ [421, 421, 6*w^3 - 13*w^2 - 21*w + 27],\ [431, 431, w^3 - 5*w + 1],\ [433, 433, -4*w^3 + 10*w^2 + 12*w - 25],\ [457, 457, -2*w^3 + 7*w^2 + w - 13],\ [463, 463, 2*w^3 - 7*w^2 - 2*w + 17],\ [467, 467, w^3 - 8*w - 5],\ [479, 479, -2*w^3 + 6*w^2 + 3*w - 7],\ [479, 479, -3*w^3 + 8*w^2 + 6*w - 15],\ [491, 491, w^3 - 4*w^2 + 13],\ [503, 503, 3*w - 7],\ [503, 503, -3*w^3 + 4*w^2 + 9*w - 9],\ [503, 503, -3*w^3 + 6*w^2 + 10*w - 7],\ [503, 503, 2*w^2 - 7],\ [521, 521, 5*w^3 - 10*w^2 - 17*w + 17],\ [521, 521, -2*w^3 + 3*w^2 + 6*w - 3],\ [547, 547, -2*w^3 + 5*w^2 + 4*w - 11],\ [547, 547, -6*w^3 + 16*w^2 + 17*w - 39],\ [557, 557, -2*w^3 + 2*w^2 + 5*w - 7],\ [563, 563, 3*w^3 - 7*w^2 - 7*w + 7],\ [563, 563, 2*w^3 - 6*w^2 - 6*w + 19],\ [569, 569, w^3 - w^2 - 5*w - 5],\ [571, 571, -2*w^3 + 5*w^2 + 8*w - 7],\ [571, 571, 5*w^3 - 13*w^2 - 15*w + 31],\ [587, 587, -2*w^3 + 6*w^2 + 3*w - 13],\ [613, 613, 3*w^2 - 3*w - 11],\ [613, 613, -3*w^2 + w + 5],\ [617, 617, w^2 + 2*w + 3],\ [617, 617, -w^3 + 2*w^2 + 6*w - 5],\ [617, 617, -4*w^3 + 10*w^2 + 8*w - 13],\ [617, 617, w^3 + w^2 - 6*w - 5],\ [619, 619, 2*w^3 - w^2 - 9*w - 1],\ [619, 619, -w^3 + 7*w - 1],\ [619, 619, -w^3 + 3*w^2 + 4*w - 1],\ [619, 619, -3*w^3 + 10*w^2 + 5*w - 27],\ [631, 631, 4*w^3 - 8*w^2 - 12*w + 7],\ [641, 641, 2*w^3 - 4*w^2 - 4*w + 3],\ [647, 647, 3*w^3 - 7*w^2 - 9*w + 11],\ [647, 647, -w^3 + 4*w^2 + 5*w - 5],\ [653, 653, -w^3 + 5*w^2 - 3*w - 5],\ [653, 653, -w^2 + w - 3],\ [659, 659, -2*w^3 + 3*w^2 + 9*w - 7],\ [659, 659, -5*w^3 + 11*w^2 + 16*w - 19],\ [661, 661, -3*w^3 + 5*w^2 + 9*w - 9],\ [673, 673, -2*w^3 + 3*w^2 + 10*w - 5],\ [683, 683, 3*w^3 - 7*w^2 - 12*w + 21],\ [701, 701, w^3 - 2*w^2 - 4*w - 3],\ [727, 727, 2*w^3 - 6*w^2 - 7*w + 15],\ [727, 727, 2*w^3 - 4*w^2 - 8*w + 3],\ [733, 733, -w^3 + 4*w^2 - 15],\ [739, 739, -8*w^3 + 18*w^2 + 26*w - 35],\ [739, 739, w^3 - 2*w^2 - 5],\ [743, 743, -3*w^3 + 8*w^2 + 3*w - 3],\ [751, 751, -2*w^3 + 3*w^2 + 10*w - 9],\ [757, 757, -w - 5],\ [769, 769, 3*w^3 - 7*w^2 - 10*w + 19],\ [787, 787, -3*w^3 + 7*w^2 + 8*w - 9],\ [821, 821, -2*w^3 + 11*w + 7],\ [827, 827, 2*w^3 - 5*w^2 - 4*w + 1],\ [827, 827, 3*w^3 - 5*w^2 - 12*w + 9],\ [829, 829, -w^2 - 3],\ [829, 829, -8*w^3 + 18*w^2 + 25*w - 35],\ [853, 853, w^3 - 9*w - 1],\ [853, 853, -2*w^2 + 7*w - 1],\ [859, 859, -w^3 + 2*w^2 - 5],\ [863, 863, -2*w^3 + 6*w^2 - 7],\ [877, 877, -4*w^3 + 12*w^2 + 5*w - 19],\ [877, 877, -3*w^3 + 9*w^2 + 5*w - 17],\ [883, 883, 8*w^3 - 17*w^2 - 28*w + 35],\ [911, 911, 2*w^3 - 3*w^2 - 10*w + 11],\ [919, 919, -w^3 + 6*w - 3],\ [929, 929, -4*w^3 + 9*w^2 + 11*w - 15],\ [929, 929, 3*w^3 - 5*w^2 - 10*w + 3],\ [937, 937, 4*w^3 - 11*w^2 - 11*w + 23],\ [937, 937, -2*w^2 + 7*w + 1],\ [941, 941, -w^3 + 5*w^2 - 19],\ [947, 947, -2*w^3 + 4*w^2 + 7*w - 1],\ [947, 947, 3*w^3 - 6*w^2 - 7*w + 13],\ [953, 953, 3*w^2 - 2*w - 9],\ [971, 971, 2*w^3 - 4*w^2 - 10*w + 1],\ [991, 991, -2*w^3 + 3*w^2 + 9*w - 9],\ [997, 997, w^3 - 4*w^2 - w + 15]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [1, 1, -1, 5, -3, -1, 0, 0, 0, 9, 6, -1, 13, -2, 5, 2, 0, -8, 6, -14, -3, 11, 6, -4, -11, -7, 2, -5, -15, 20, -4, -2, -10, 4, -4, 17, 7, -14, -4, 10, -5, -26, 4, -24, -12, 23, 6, 6, 13, -4, 0, 7, -1, -15, -3, 4, 13, -2, -12, -12, 11, -17, -21, 7, 18, -29, 27, 10, -18, -5, -28, -14, -3, 25, 18, 3, -30, 12, -8, 3, -3, 30, 33, 0, 3, 9, 20, 25, -10, 30, -7, 14, 0, 0, -17, -24, -40, -12, -37, -24, -24, 24, 12, -30, -28, -16, 26, -12, -12, 2, 44, -10, 4, 46, -38, 16, -2, -10, 11, -18, 3, -26, 44, -10, 44, 47, -12, 28, 0, -8, -2, 40, -12, -32, 9, -28, -38, -18, -19, 16, 4, 11, 21, -14, -36, -18, -11, 10, 44, -12, -39, -8, -29, 42, 14, -3, 38, -18, -12, -36, 47, 32] 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])] = -1 AL_eigenvalues[ZF.ideal([3, 3, w + 1])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]