/* 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([17, 17, -w^2 - w + 3]) 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^3 - 4*x + 1 K. = NumberField(heckePol) hecke_eigenvalues_array = [e, e, e^2 + 2*e - 3, 1, e^2 - e - 2, -e^2 + 1, -2*e^2 - 3*e + 7, -e^2 - 3*e, e^2 + e + 4, -e^2 + 4*e + 3, -e - 3, -4*e^2 - 3*e + 9, 3*e^2 + e - 2, -3*e^2 + 7, -4*e^2 - 6*e + 12, 5*e^2 - 15, e^2 + e + 8, -2*e^2 + e + 9, -e^2 - 4*e - 1, -e^2 + 6*e + 1, -e^2 + e + 6, -e^2 + e + 6, -2*e^2 - 4*e + 18, 3*e^2 - 13, 3*e^2 + 7*e - 14, 3*e^2 - 6*e - 15, 7*e^2 - e - 14, -4*e^2 - 5*e + 7, e^2 - 5*e, -7*e^2 - e + 8, 5*e^2 + e - 8, -6*e^2 - 7*e + 25, 5*e^2 + 2*e - 15, 4*e - 4, -9*e^2 - 3*e + 24, -e^2 + 6*e + 11, 4*e^2 + e - 1, -7*e^2 - 3*e + 14, 6*e^2 - 3*e - 7, e^2 - 2*e - 1, -e^2 - e + 2, -e^2 - 6*e + 15, 5*e^2 - 5*e - 26, -e^2 + 6*e + 11, e^2 - e + 10, -11*e^2 - 6*e + 25, -4*e^2 - 2*e + 14, e^2 + 7*e - 10, -e^2 + e - 4, 2*e^2 + 8*e, 9*e^2 + 4*e - 13, -e^2 - 4*e - 9, 9*e^2 + 6*e - 33, 9*e^2 + 9*e - 26, 5*e^2 - 8*e - 13, -4*e^2 + 4*e + 8, 8*e^2 + 10*e - 22, 7*e^2 - 3*e - 22, -9*e + 7, e^2 + 3*e, -3*e^2 + 4*e + 21, -7*e - 7, -12*e^2 - 3*e + 25, e^2 - 10*e + 9, 3*e^2 + 9*e - 14, e^2 - 6*e + 1, -5*e^2 - e + 24, -2*e^2 + 3*e + 19, 3*e^2 - 4*e + 11, -8*e^2 - 7*e + 7, 5*e^2 - 11*e - 16, -4*e^2 - e + 3, 3*e^2 + 10*e - 13, -e^2 - 3*e + 26, 10*e^2 + 8*e - 22, -4*e^2 - 7*e + 7, 7*e^2 + 15*e - 26, -2*e^2 - 10*e - 6, -9*e^2 + 10*e + 35, 6*e^2 - 9*e - 21, 10*e^2 + 9*e - 37, 8*e^2 + 2*e - 28, -e^2 + 13*e + 12, 4*e^2 + 3*e - 13, -2*e^2 - 8*e + 2, 6*e^2 + 3*e - 19, -13*e^2 + e + 30, 2*e^2 - 8*e + 2, -2*e^2 + 20, -7*e^2 + e + 26, -8*e^2 + 3*e + 35, 15*e^2 + 7*e - 44, 15*e^2 + 7*e - 36, 2*e^2 + 4*e - 10, -7*e^2 + 7*e + 24, -13*e^2 - 3*e + 24, -6*e^2 - 12*e + 38, -2*e^2 + 12*e, -5*e^2 - 8*e + 41, -9*e^2 - 22*e + 39, -2*e^2 + 8*e - 12, 2*e^2 + 5*e + 9, 6*e^2 + 12*e - 32, -e^2 - 2*e - 21, -7*e^2 + 7*e + 28, 6*e^2 - 19*e - 21, 2*e^2 - 6*e - 6, 10*e^2 + 10*e - 50, 12*e^2 + 7*e - 45, -6*e^2 - 2*e + 4, 4*e^2 - 3*e - 35, -13*e^2 - 9*e + 40, 3*e^2 - 7*e - 32, -2*e^2 - 9*e + 31, 6*e^2 + 16*e - 26, -9*e^2 - 3*e + 40, -6*e^2 - 6*e - 18, -12*e^2 + 7*e + 23, -7*e^2 - e + 10, 11*e^2 - 37, 6*e^2 - 17*e - 21, -14*e^2 + 9*e + 49, 9*e^2 + 7*e - 14, 15*e^2 - 9*e - 44, -12*e^2 + 10*e + 40, 13*e^2 - 7*e - 22, -5*e^2 - 7*e + 12, 5*e^2 + 7*e - 16, 13*e^2 + 11*e - 32, -11*e^2 + 9, -2*e^2 + 2*e - 14, -21*e^2 - 3*e + 42, -8*e^2 + e + 19, 13*e^2 + e - 28, -3*e^2 + 4*e - 27, -5*e^2 - 17*e + 6, 5*e^2 - 5*e + 8, -20*e^2 - 15*e + 41, 6*e^2 + 5*e - 29, -2*e^2 - 14*e + 20, 6*e^2 + 2*e - 30, -2*e^2 + 3*e - 31, -e^2 + 16*e + 3, 7*e^2 + e - 28, 10*e^2 + 10*e - 24, 25*e^2 + 12*e - 55, 3*e^2 - 14*e - 3, -5*e^2 + 4*e + 47, 9*e^2 - 3*e - 6, 9*e^2 + e - 12, 14*e^2 - 14*e - 40, -5*e^2 + 11*e + 44, 13*e^2 + 23*e - 50, 16*e^2 + 24*e - 54, -7*e^2 - 17*e + 12, 8*e^2 - 14*e - 16, e^2 - 7*e + 10, -12*e^2 - 18*e + 48, -9*e^2 - 4*e + 17, 6*e^2 - 34, 17*e^2 + 3*e - 30, -11*e^2 - 6*e + 55, -7*e^2 + 2*e + 33, 3*e^2 + 3*e + 24, 9*e - 25, 22*e^2 + 12*e - 50, 17*e^2 + 10*e - 63, -8*e^2 + 18*e + 42, -11*e^2 - 10*e + 39, e + 19, -15*e^2 - 7*e + 18] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal([17, 17, -w^2 - w + 3])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]