/* 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([3, 3, -4, -2, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([7, 7, w^2 - w - 2]) primes_array = [ [3, 3, w],\ [7, 7, w^2 - w - 2],\ [9, 3, w^2 - 2*w - 1],\ [13, 13, w^3 - 3*w^2 - w + 5],\ [13, 13, w^3 - 3*w^2 - w + 2],\ [16, 2, 2],\ [17, 17, -w^3 + 2*w^2 + 2*w - 2],\ [19, 19, -w^3 + 2*w^2 + 2*w - 1],\ [29, 29, -2*w^3 + 5*w^2 + 4*w - 7],\ [31, 31, w^3 - 2*w^2 - 4*w + 2],\ [47, 47, -w^3 + 4*w^2 - w - 5],\ [53, 53, -w^3 + 4*w^2 - w - 7],\ [67, 67, 2*w^3 - 3*w^2 - 8*w + 1],\ [67, 67, 2*w^3 - 5*w^2 - 4*w + 4],\ [71, 71, w^3 - 3*w^2 - 2*w + 2],\ [79, 79, w^2 - 3*w - 4],\ [83, 83, 2*w^2 - 3*w - 4],\ [89, 89, -3*w^3 + 7*w^2 + 8*w - 11],\ [101, 101, w^3 - 2*w^2 - 3*w - 2],\ [103, 103, -2*w^3 + 4*w^2 + 5*w - 1],\ [107, 107, w^3 - 2*w^2 - w - 1],\ [107, 107, 2*w^2 - 3*w - 5],\ [109, 109, w^3 - 4*w^2 + 7],\ [109, 109, -w^3 + w^2 + 4*w - 1],\ [113, 113, -w^3 + 3*w^2 - 5],\ [113, 113, 2*w^2 - 2*w - 5],\ [127, 127, -2*w^3 + 5*w^2 + 3*w - 5],\ [137, 137, w^3 - 2*w^2 - 5*w + 5],\ [137, 137, -w^3 + w^2 + 5*w - 1],\ [151, 151, 3*w^3 - 6*w^2 - 9*w + 5],\ [151, 151, -2*w^3 + 4*w^2 + 5*w - 4],\ [157, 157, -w^3 + 4*w^2 - w - 8],\ [163, 163, 2*w^3 - 5*w^2 - 5*w + 5],\ [163, 163, w^3 - 4*w^2 - w + 11],\ [167, 167, 2*w^3 - 3*w^2 - 6*w - 1],\ [167, 167, w^3 - 2*w^2 - w - 4],\ [169, 13, 3*w^3 - 8*w^2 - 6*w + 10],\ [173, 173, -2*w^3 + 7*w^2 - 8],\ [181, 181, -w^3 + w^2 + 4*w - 2],\ [181, 181, w^2 - 5],\ [197, 197, w^3 - 2*w^2 - w - 2],\ [211, 211, 2*w^3 - 3*w^2 - 9*w + 1],\ [211, 211, w^3 - 7*w - 2],\ [227, 227, -w^2 + w + 7],\ [229, 229, w^3 - 2*w^2 - 5*w + 4],\ [229, 229, w^3 - w^2 - 5*w - 5],\ [229, 229, -2*w^3 + 6*w^2 + 5*w - 8],\ [229, 229, -w^3 + 3*w^2 + 4*w - 8],\ [233, 233, -w^3 + 5*w^2 - 3*w - 7],\ [239, 239, w^2 - 4*w - 1],\ [241, 241, -w^3 + 3*w^2 - 2*w - 4],\ [251, 251, -w^3 + 2*w^2 + 5*w - 2],\ [263, 263, -w^3 + 4*w^2 - w - 10],\ [263, 263, 3*w^3 - 7*w^2 - 7*w + 5],\ [271, 271, -w^2 + 7],\ [283, 283, 3*w - 1],\ [293, 293, w - 5],\ [311, 311, -w - 4],\ [311, 311, w^3 - 5*w - 1],\ [313, 313, 2*w^3 - 6*w^2 - 2*w + 11],\ [313, 313, 2*w^3 - 5*w^2 - 5*w + 4],\ [317, 317, 2*w^2 - 3*w - 10],\ [317, 317, -w^3 + 3*w^2 - w - 5],\ [317, 317, -2*w^3 + 4*w^2 + 3*w - 2],\ [317, 317, -3*w^3 + 8*w^2 + 4*w - 4],\ [337, 337, -w^3 + 4*w^2 - 4*w - 1],\ [343, 7, 2*w^3 - 7*w^2 - w + 11],\ [347, 347, -w^3 + w^2 + 5*w - 4],\ [353, 353, 5*w^3 - 13*w^2 - 10*w + 19],\ [353, 353, -2*w^3 + 6*w^2 + 4*w - 7],\ [379, 379, 2*w^3 - 6*w^2 - 5*w + 13],\ [379, 379, -w^3 + 5*w^2 - 2*w - 10],\ [383, 383, w^3 - w^2 - 6*w + 4],\ [383, 383, w^2 + w - 5],\ [389, 389, 3*w^2 - 5*w - 8],\ [389, 389, -2*w^3 + 7*w^2 + w - 10],\ [397, 397, -2*w^3 + 7*w^2 + 2*w - 10],\ [401, 401, 2*w^2 - w - 7],\ [401, 401, -3*w^3 + 6*w^2 + 9*w - 8],\ [409, 409, 3*w^2 - 5*w - 7],\ [421, 421, 3*w^3 - 9*w^2 - 4*w + 17],\ [449, 449, 2*w^3 - 2*w^2 - 11*w - 2],\ [449, 449, 3*w^3 - 7*w^2 - 6*w + 5],\ [457, 457, w^3 - 2*w^2 - 2],\ [457, 457, -2*w^3 + 6*w^2 + 3*w - 5],\ [461, 461, 4*w^3 - 8*w^2 - 12*w + 7],\ [461, 461, -4*w^3 + 10*w^2 + 7*w - 14],\ [461, 461, 4*w^3 - 10*w^2 - 8*w + 11],\ [461, 461, 2*w^3 - 7*w^2 - 2*w + 7],\ [467, 467, -w^3 + 5*w^2 - 7],\ [479, 479, w^3 - 6*w - 1],\ [479, 479, -w^3 + 2*w^2 + 2*w + 4],\ [487, 487, 2*w^3 - 7*w^2 - 2*w + 11],\ [491, 491, 3*w^2 - 6*w - 10],\ [499, 499, -2*w^3 + 6*w^2 + 5*w - 14],\ [509, 509, w^3 + w^2 - 9*w - 4],\ [521, 521, 3*w^2 - 7*w - 8],\ [521, 521, 2*w^3 - 7*w^2 - 3*w + 16],\ [523, 523, -2*w^3 + 4*w^2 + 8*w - 5],\ [541, 541, w^3 + w^2 - 8*w - 4],\ [547, 547, -2*w^3 + 3*w^2 + 6*w - 5],\ [563, 563, 2*w^3 - 8*w^2 + w + 8],\ [569, 569, -3*w^3 + 9*w^2 + w - 10],\ [569, 569, -w^3 + w^2 + 7*w - 2],\ [569, 569, -3*w^3 + 8*w^2 + 7*w - 17],\ [569, 569, -4*w^3 + 11*w^2 + 6*w - 11],\ [571, 571, 5*w^3 - 12*w^2 - 12*w + 16],\ [577, 577, -w^3 + 5*w^2 - w - 7],\ [577, 577, -2*w^3 + 5*w^2 + 5*w - 2],\ [593, 593, 3*w^3 - 7*w^2 - 6*w + 8],\ [593, 593, -3*w^2 + 3*w + 11],\ [601, 601, -2*w^3 + 5*w^2 + 7*w - 8],\ [601, 601, w^3 - 3*w^2 - 3*w + 11],\ [607, 607, -w^3 + 3*w^2 + 4*w - 10],\ [613, 613, 3*w^2 - 8*w - 4],\ [613, 613, -3*w^3 + 5*w^2 + 12*w - 5],\ [619, 619, 2*w^3 - 7*w^2 - 3*w + 17],\ [625, 5, -5],\ [643, 643, 2*w^3 - 8*w^2 + 2*w + 11],\ [643, 643, -w^3 + 4*w^2 - 2*w - 8],\ [643, 643, -3*w^3 + 6*w^2 + 8*w - 5],\ [643, 643, -w^2 + w + 8],\ [653, 653, 3*w^3 - 6*w^2 - 8*w + 4],\ [653, 653, -3*w^3 + 7*w^2 + 6*w - 7],\ [653, 653, 3*w^3 - 9*w^2 - 3*w + 14],\ [653, 653, 2*w^3 - w^2 - 13*w - 5],\ [677, 677, -3*w^3 + 6*w^2 + 11*w - 7],\ [683, 683, w^3 - w^2 - 7*w + 1],\ [683, 683, -w^3 + 2*w^2 + 6*w - 1],\ [701, 701, -w^3 + 5*w^2 - w - 8],\ [727, 727, w^3 - w^2 - 2*w - 4],\ [739, 739, -2*w^3 + 3*w^2 + 10*w - 4],\ [757, 757, 3*w^3 - 7*w^2 - 5*w + 8],\ [757, 757, w^3 + 2*w^2 - 9*w - 8],\ [773, 773, -3*w^3 + 7*w^2 + 5*w - 4],\ [787, 787, -w^3 + 4*w^2 + 2*w - 11],\ [787, 787, -w^3 + 2*w^2 + 2*w - 7],\ [787, 787, -3*w^3 + 8*w^2 + 6*w - 8],\ [787, 787, w^3 - 3*w^2 - 5*w + 5],\ [821, 821, 5*w^3 - 14*w^2 - 7*w + 20],\ [821, 821, -w^3 + 5*w^2 - 14],\ [823, 823, -2*w^3 + 3*w^2 + 8*w - 4],\ [827, 827, w^3 - 3*w^2 - w - 2],\ [839, 839, 2*w^3 - 4*w^2 - 3*w - 2],\ [859, 859, w^3 - 2*w^2 - 3*w - 4],\ [877, 877, -w^3 + 2*w^2 + 6*w - 2],\ [881, 881, w^3 + 2*w^2 - 8*w - 5],\ [883, 883, -3*w^3 + 5*w^2 + 10*w - 5],\ [887, 887, 4*w^3 - 8*w^2 - 13*w + 10],\ [887, 887, -w^3 + 4*w^2 - 3*w - 7],\ [911, 911, -3*w^3 + 6*w^2 + 7*w - 2],\ [929, 929, 2*w^3 - 3*w^2 - 5*w + 8],\ [937, 937, w^3 - 2*w^2 - 4*w - 4],\ [941, 941, -w^3 + 6*w^2 - 4*w - 17],\ [941, 941, 3*w^3 - 10*w^2 - 3*w + 17],\ [947, 947, -2*w^3 + 7*w^2 - 13],\ [947, 947, -w^3 + 4*w^2 + 3*w - 10],\ [953, 953, -3*w^3 + 5*w^2 + 9*w - 1],\ [953, 953, 4*w^3 - 12*w^2 - 5*w + 20],\ [967, 967, 4*w^3 - 11*w^2 - 4*w + 10],\ [971, 971, w^3 - 2*w^2 - 4],\ [983, 983, 5*w^3 - 15*w^2 - 8*w + 25],\ [991, 991, -w^2 + 2*w - 4],\ [997, 997, -w^3 + 4*w^2 - 2*w - 10]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [0, 1, 1, -5, 1, -5, -3, -2, -9, -2, -12, -3, 4, -4, 0, 8, 6, 6, -3, -14, -6, 6, 10, -5, 6, 15, -22, -6, -9, 2, 10, -17, -2, -16, -6, -12, -1, -15, 14, 11, 9, 26, 4, 0, -1, -23, -5, 11, 21, 24, -13, 6, 24, 12, -20, 14, 9, 30, -18, 1, -7, -9, 18, 6, 9, 31, 2, 12, -3, 21, 28, -2, -6, -6, -30, -3, -2, 15, -6, 1, 7, 9, -21, -25, 37, 3, -30, -3, 15, 12, 12, 30, 26, 6, -16, 9, -33, -30, 10, -25, 26, 0, -15, 6, -30, -39, -26, 1, -29, -18, -39, 10, -23, -14, 19, -13, 26, -14, -4, -44, -22, -26, 30, -21, 9, 27, -3, -24, -42, 6, -26, -16, 23, -13, -54, 44, -34, 40, -32, -18, -6, 28, -48, -24, 38, -5, -3, 44, -36, 30, -24, -3, -13, 9, 3, 36, 24, -21, -33, 22, 42, -48, -52, -25] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal([7, 7, w^2 - w - 2])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]