/* 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, -1, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([22, 22, 2*w^2 - w - 10]) primes_array = [ [2, 2, -w],\ [2, 2, w - 1],\ [11, 11, w^2 - w - 1],\ [17, 17, -w^2 - w + 3],\ [19, 19, w^2 - w + 1],\ [23, 23, 2*w - 3],\ [27, 3, 3],\ [29, 29, 2*w + 1],\ [31, 31, 2*w^2 - 2*w - 9],\ [37, 37, 2*w^2 - 2*w - 5],\ [41, 41, 2*w^2 - 9],\ [43, 43, w^2 + w - 5],\ [43, 43, -3*w^2 + w + 15],\ [43, 43, -2*w^2 + 2*w + 11],\ [53, 53, w^2 - w - 7],\ [61, 61, 4*w^2 - 2*w - 15],\ [67, 67, -5*w^2 + 3*w + 23],\ [73, 73, 2*w^2 - 3],\ [73, 73, -3*w^2 - w + 7],\ [73, 73, -6*w^2 + 4*w + 25],\ [79, 79, w^2 - 5*w + 1],\ [79, 79, 3*w^2 - 3*w - 11],\ [83, 83, 2*w^2 - 2*w - 3],\ [109, 109, w^2 - 3*w - 3],\ [113, 113, 3*w^2 - 3*w - 13],\ [121, 11, 3*w^2 - w - 9],\ [125, 5, -5],\ [131, 131, -6*w^2 + 2*w + 25],\ [137, 137, -w^2 + w - 3],\ [149, 149, 2*w - 7],\ [151, 151, w^2 - 3*w - 5],\ [157, 157, 3*w^2 - 3*w - 7],\ [163, 163, 2*w^2 - 13],\ [167, 167, -4*w + 5],\ [173, 173, -7*w^2 + 3*w + 27],\ [179, 179, 4*w^2 - 4*w - 11],\ [181, 181, 4*w^2 - 15],\ [181, 181, w^2 - 3*w + 5],\ [181, 181, w^2 + 3*w - 5],\ [193, 193, 2*w^2 - 4*w - 5],\ [197, 197, 2*w^2 + 2*w - 7],\ [211, 211, 4*w^2 - 2*w - 13],\ [211, 211, -7*w^2 + 5*w + 29],\ [211, 211, w^2 - w - 9],\ [223, 223, 5*w^2 - w - 23],\ [227, 227, -3*w^2 + 3*w + 17],\ [227, 227, 3*w^2 - w - 7],\ [227, 227, 3*w^2 + w - 11],\ [229, 229, 5*w^2 - w - 21],\ [233, 233, 3*w^2 - 5*w - 7],\ [239, 239, -w^2 + 7*w - 5],\ [257, 257, -4*w - 3],\ [257, 257, w^2 - 5*w - 1],\ [257, 257, -3*w^2 + w + 17],\ [263, 263, 3*w^2 - 3*w - 5],\ [271, 271, 4*w^2 - 4*w - 17],\ [271, 271, 3*w^2 - w - 3],\ [271, 271, w^2 + 3*w - 7],\ [283, 283, 6*w - 1],\ [289, 17, w^2 + 3*w - 9],\ [293, 293, 3*w^2 - w - 5],\ [307, 307, 2*w^2 + 2*w - 9],\ [307, 307, -2*w^2 + 2*w - 3],\ [307, 307, 4*w^2 - 17],\ [311, 311, w^2 + w - 11],\ [311, 311, 2*w^2 - 4*w - 7],\ [311, 311, -2*w^2 - 2*w + 13],\ [313, 313, -2*w - 7],\ [313, 313, 4*w^2 - 19],\ [313, 313, -5*w^2 - w + 13],\ [331, 331, 2*w^2 - 4*w - 11],\ [331, 331, 6*w^2 - 4*w - 21],\ [331, 331, -4*w^2 + 2*w + 21],\ [343, 7, -7],\ [347, 347, -2*w^2 + 8*w - 1],\ [349, 349, w^2 - 7*w + 1],\ [353, 353, -6*w^2 + 2*w + 21],\ [361, 19, -5*w^2 + 3*w + 25],\ [367, 367, 3*w^2 + w - 15],\ [373, 373, 2*w^2 - 4*w - 9],\ [383, 383, -9*w^2 + 3*w + 37],\ [401, 401, 4*w^2 - 2*w - 11],\ [409, 409, 4*w^2 - 4*w - 9],\ [431, 431, -5*w^2 + 5*w + 19],\ [439, 439, 2*w - 9],\ [443, 443, w^2 - 5*w - 3],\ [443, 443, 5*w^2 - 5*w - 23],\ [443, 443, 3*w^2 - 5*w - 17],\ [449, 449, -4*w^2 + 4*w + 1],\ [461, 461, 5*w^2 - 7*w - 9],\ [467, 467, 5*w^2 + w - 17],\ [479, 479, 2*w^2 + 4*w - 7],\ [487, 487, 5*w^2 - 5*w - 13],\ [499, 499, -w^2 + 3*w - 7],\ [509, 509, -7*w^2 + w + 27],\ [521, 521, w^2 - w - 11],\ [523, 523, 4*w^2 - 6*w - 11],\ [529, 23, 4*w^2 + 2*w - 13],\ [547, 547, -11*w^2 + 5*w + 43],\ [563, 563, 4*w^2 - 7],\ [569, 569, -6*w - 1],\ [569, 569, 4*w^2 - 5],\ [569, 569, w^2 - 5*w - 9],\ [571, 571, 5*w^2 - 3*w - 15],\ [577, 577, w^2 + 5*w - 7],\ [599, 599, 4*w^2 - 4*w - 7],\ [601, 601, -12*w^2 + 8*w + 51],\ [613, 613, 4*w^2 + 1],\ [643, 643, 6*w^2 - 2*w - 31],\ [647, 647, 2*w^2 - 2*w - 15],\ [647, 647, 4*w^2 - 4*w - 23],\ [647, 647, w^2 - 5*w - 7],\ [661, 661, -8*w^2 + 6*w + 39],\ [673, 673, 3*w^2 - 5*w - 15],\ [683, 683, -w^2 + 9*w - 7],\ [701, 701, 4*w^2 - 4*w - 5],\ [709, 709, 4*w^2 - 2*w - 7],\ [719, 719, 3*w^2 - 5*w - 13],\ [727, 727, w^2 - 7*w - 1],\ [733, 733, 2*w^2 + 4*w - 9],\ [733, 733, 3*w^2 + 3*w - 11],\ [733, 733, w^2 + w - 13],\ [743, 743, 2*w^2 - 6*w - 5],\ [751, 751, 6*w^2 - 2*w - 19],\ [761, 761, -12*w^2 + 6*w + 47],\ [761, 761, 3*w^2 - 5*w - 21],\ [761, 761, 2*w^2 + 6*w - 7],\ [769, 769, -6*w^2 + 6*w + 23],\ [773, 773, -2*w^2 + 2*w - 5],\ [773, 773, -13*w^2 + 5*w + 57],\ [773, 773, -11*w^2 + 7*w + 51],\ [787, 787, 5*w^2 - w - 13],\ [797, 797, -2*w^2 + 8*w - 11],\ [811, 811, -5*w^2 + 5*w + 1],\ [821, 821, -7*w^2 + 3*w + 35],\ [821, 821, -4*w^2 + 2*w + 23],\ [821, 821, 5*w^2 + w - 19],\ [823, 823, w^2 + 5*w - 13],\ [823, 823, -12*w^2 + 4*w + 49],\ [823, 823, -7*w^2 + w + 29],\ [829, 829, -w^2 + w - 7],\ [839, 839, 4*w^2 + 2*w - 15],\ [841, 29, 4*w^2 - 6*w - 13],\ [853, 853, 7*w^2 - 7*w - 25],\ [863, 863, 7*w^2 - 5*w - 35],\ [877, 877, -6*w - 5],\ [877, 877, w^2 + 5*w - 11],\ [877, 877, 5*w^2 - 3*w - 13],\ [881, 881, w^2 - 3*w - 13],\ [887, 887, -9*w^2 + 5*w + 33],\ [907, 907, w^2 - 9*w + 1],\ [911, 911, -6*w^2 + 6*w + 25],\ [919, 919, 5*w^2 - 3*w - 27],\ [929, 929, 2*w - 11],\ [937, 937, -7*w^2 + w + 31],\ [941, 941, -6*w^2 + 4*w + 31],\ [941, 941, -8*w^2 + 2*w + 27],\ [941, 941, 3*w^2 + 5*w - 9],\ [947, 947, -10*w + 7],\ [947, 947, 2*w^2 + 8*w - 7],\ [947, 947, 2*w^2 + 4*w - 11],\ [961, 31, -14*w^2 + 8*w + 55],\ [967, 967, -w^2 - w - 7],\ [971, 971, -10*w^2 + 8*w + 39],\ [977, 977, -10*w^2 + 6*w + 37],\ [983, 983, 3*w^2 + 3*w - 13],\ [983, 983, -4*w - 11],\ [983, 983, -10*w^2 + 4*w + 37],\ [997, 997, w^2 + 9*w - 7],\ [997, 997, 5*w^2 - 7*w - 27],\ [997, 997, 6*w^2 - 8*w - 11]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [1, -1, -1, 2, -4, 0, 4, -2, 8, 6, -6, 4, 12, -4, 6, -2, -12, 10, 10, 10, -8, 0, -12, 14, -14, -6, 14, -20, 10, -10, 0, -18, 4, -16, 14, 12, -10, 6, -10, 2, 22, -20, -20, -20, 8, -4, -12, 4, -26, -22, 8, 18, -14, 2, 24, 0, -24, 8, -20, 2, -26, -4, 20, 4, 0, 0, 24, -6, 26, -22, -4, -36, 20, -24, -12, -2, 34, -22, 8, 38, -24, 18, 26, 16, -8, 12, -12, -20, 2, 14, 36, 8, -8, 4, -34, 10, 4, -30, 28, 4, -38, 10, 10, -20, 34, 24, -22, 6, -20, 48, -8, 0, 22, -30, 20, -18, 6, 40, 8, -50, -34, -18, -24, 0, -6, 26, -38, -30, 38, 6, 6, -44, -2, -28, -42, -10, -42, -16, 40, 32, -2, 24, -6, -26, 40, -18, -50, -18, 18, 16, -28, -8, -16, -30, 10, 30, -18, -2, 52, -36, -28, 34, -24, 20, 18, -16, -48, -24, 6, 54, -58] 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([11, 11, w^2 - w - 1])] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]