/* 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, -8, -1, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([8, 2, 2]) primes_array = [ [3, 3, -w - 2],\ [5, 5, w + 1],\ [7, 7, w - 3],\ [8, 2, 2],\ [9, 3, w^2 - 3*w - 2],\ [13, 13, w + 3],\ [13, 13, -w + 2],\ [19, 19, -w^2 + 2*w + 4],\ [23, 23, w^2 - 4*w + 1],\ [25, 5, w^2 - 2*w - 1],\ [31, 31, w^2 - 2*w - 9],\ [37, 37, -w^2 + 3*w + 3],\ [41, 41, w^2 - w - 1],\ [41, 41, w^2 - w - 5],\ [41, 41, w^2 - w - 10],\ [43, 43, -2*w - 3],\ [47, 47, -w^2 - w + 4],\ [49, 7, -w^2 + 5*w - 5],\ [59, 59, w^2 - w - 4],\ [59, 59, w^2 - 3],\ [59, 59, w - 5],\ [67, 67, 2*w^2 - 4*w - 9],\ [73, 73, 2*w^2 - 3*w - 12],\ [79, 79, -3*w^2 + 9*w + 5],\ [97, 97, 2*w^2 - w - 14],\ [97, 97, 2*w^2 - 2*w - 13],\ [97, 97, -2*w^2 + 5*w + 5],\ [101, 101, w^2 - w - 11],\ [131, 131, w - 6],\ [139, 139, -2*w^2 + 5*w + 4],\ [149, 149, -3*w + 11],\ [149, 149, -3*w - 4],\ [157, 157, w^2 - 3*w - 6],\ [173, 173, w^2 - 5*w + 3],\ [173, 173, -2*w^2 + 5*w + 8],\ [173, 173, 3*w^2 - 5*w - 17],\ [179, 179, 2*w^2 - w - 11],\ [179, 179, -3*w^2 + 7*w + 12],\ [179, 179, w^2 - 2*w - 12],\ [181, 181, w^2 + w - 16],\ [199, 199, 2*w^2 - 9],\ [211, 211, -w^2 + w - 2],\ [229, 229, -w^2 + 3*w - 3],\ [233, 233, w^2 + w - 7],\ [257, 257, 3*w^2 - 3*w - 20],\ [271, 271, w^2 - 4*w - 13],\ [271, 271, 3*w^2 - 4*w - 19],\ [271, 271, 2*w - 9],\ [277, 277, 3*w^2 - 5*w - 20],\ [281, 281, -w^2 - w + 13],\ [283, 283, -3*w + 8],\ [293, 293, -4*w - 7],\ [307, 307, w^2 + 2*w - 5],\ [311, 311, 2*w^2 - 4*w - 5],\ [313, 313, -w^2 - w - 3],\ [317, 317, -3*w^2 + 8*w + 5],\ [331, 331, -w^2 + 2*w - 3],\ [337, 337, -w - 7],\ [337, 337, w^2 + w - 9],\ [337, 337, 3*w - 5],\ [359, 359, 2*w^2 - 4*w - 15],\ [361, 19, 2*w^2 + w - 5],\ [367, 367, -w^2 - 3],\ [367, 367, 3*w^2 - 11*w + 4],\ [367, 367, -2*w^2 + 9*w - 6],\ [373, 373, 2*w^2 - w - 9],\ [379, 379, 3*w^2 - 5*w - 21],\ [383, 383, w - 8],\ [389, 389, -4*w^2 + 9*w + 15],\ [397, 397, 2*w^2 + w - 4],\ [397, 397, -4*w^2 + 13*w + 5],\ [397, 397, -w^2 - 2*w - 4],\ [401, 401, w^2 - 5*w - 4],\ [421, 421, 3*w^2 - 4*w - 18],\ [431, 431, w^2 - 4*w - 16],\ [433, 433, w^2 - 4*w - 7],\ [439, 439, w^2 + 2*w - 17],\ [457, 457, 2*w^2 - 3],\ [457, 457, 4*w - 3],\ [457, 457, 2*w^2 - 3*w - 6],\ [463, 463, 3*w^2 - 12*w + 7],\ [479, 479, w^2 - 6*w + 6],\ [479, 479, -w^2 + 15],\ [479, 479, -6*w^2 + 19*w + 1],\ [487, 487, 2*w^2 - 7*w - 5],\ [487, 487, w^2 + 5*w + 8],\ [487, 487, 3*w^2 - 6*w - 17],\ [491, 491, -4*w + 15],\ [503, 503, 8*w^2 - 25*w - 5],\ [509, 509, 3*w^2 - 12*w + 4],\ [509, 509, -3*w^2 - 5*w + 6],\ [509, 509, w^2 - w - 14],\ [521, 521, -4*w^2 + 10*w + 11],\ [523, 523, 2*w^2 - 7*w + 4],\ [523, 523, 2*w^2 - 2*w - 7],\ [523, 523, -7*w^2 + 22*w + 8],\ [529, 23, 4*w^2 - 14*w + 3],\ [541, 541, w^2 + 4*w - 3],\ [541, 541, -5*w - 9],\ [541, 541, -5*w^2 + 11*w + 20],\ [557, 557, -w^2 + 5*w - 8],\ [563, 563, 2*w^2 - 15],\ [563, 563, -w^2 - 2*w + 20],\ [563, 563, w^2 - 3*w - 15],\ [569, 569, 2*w^2 - w - 5],\ [577, 577, 2*w^2 - 3*w - 21],\ [587, 587, -4*w^2 + 11*w + 6],\ [599, 599, 2*w^2 + 2*w - 9],\ [607, 607, -3*w - 10],\ [613, 613, 4*w^2 - 7*w - 25],\ [631, 631, -3*w^2 + 7*w + 7],\ [641, 641, 3*w^2 - 2*w - 17],\ [641, 641, -3*w^2 + 14*w - 12],\ [641, 641, -5*w^2 + 15*w + 9],\ [643, 643, -5*w - 8],\ [647, 647, 3*w^2 - w - 21],\ [653, 653, w^2 + 7*w + 9],\ [673, 673, -3*w^2 - 2*w + 9],\ [683, 683, 5*w^2 - 17*w + 2],\ [683, 683, 3*w^2 - 6*w - 11],\ [683, 683, 2*w^2 - 7*w - 6],\ [691, 691, w^2 + 3*w + 6],\ [701, 701, 2*w^2 - 5*w - 19],\ [709, 709, -3*w^2 + 9*w + 8],\ [727, 727, 3*w - 13],\ [739, 739, -w - 9],\ [743, 743, 5*w - 3],\ [743, 743, 2*w^2 - 5*w - 13],\ [743, 743, 3*w^2 - 3*w - 17],\ [757, 757, 3*w^2 - 4*w - 16],\ [761, 761, w^2 + 4*w - 4],\ [769, 769, 3*w^2 - w - 15],\ [773, 773, -w^2 + 2*w - 5],\ [787, 787, -2*w^2 + 10*w - 9],\ [797, 797, w^2 - 4*w - 17],\ [811, 811, 6*w^2 - 20*w + 1],\ [811, 811, -w^2 + 4*w - 7],\ [811, 811, 4*w - 9],\ [821, 821, 2*w^2 - 5*w - 14],\ [823, 823, -5*w^2 + 14*w + 8],\ [827, 827, 3*w^2 - w - 22],\ [829, 829, -3*w^2 + 6*w + 10],\ [859, 859, -9*w^2 + 29*w + 2],\ [859, 859, 4*w^2 - 13*w + 2],\ [859, 859, -w^2 + w - 5],\ [863, 863, 2*w^2 + w - 13],\ [877, 877, w^2 + 2*w - 11],\ [881, 881, 2*w^2 - 8*w + 7],\ [883, 883, 3*w^2 + 3*w - 4],\ [907, 907, w^2 + 2*w - 13],\ [929, 929, -3*w - 11],\ [937, 937, w^2 - 5*w - 12],\ [941, 941, 5*w - 4],\ [947, 947, 4*w^2 - 7*w - 20],\ [953, 953, 2*w^2 + 6*w - 3],\ [961, 31, 5*w^2 - 8*w - 29],\ [967, 967, -5*w^2 + 14*w + 7],\ [971, 971, w^2 - 5*w - 10],\ [977, 977, 2*w^2 - 4*w - 23],\ [977, 977, w^2 - 8*w + 17],\ [977, 977, 3*w^2 - 19],\ [991, 991, 3*w^2 - 4*w - 3]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 + x - 1 K. = NumberField(heckePol) hecke_eigenvalues_array = [e, -e + 2, -2*e - 1, -1, e + 2, -2*e - 5, 2*e + 3, 4*e + 4, 6*e + 4, -e, -7, -2*e - 7, -3*e - 6, 5*e + 5, 5*e - 2, -5*e - 7, -8*e - 2, -5, e - 3, 6*e + 1, 6*e - 1, -13, -5*e - 3, -5*e + 5, 6*e, -7, -10*e - 7, -7*e - 15, -9*e - 2, -6*e + 7, 8*e - 9, 18*e + 11, -3*e + 19, -8*e + 11, 5*e - 11, -6*e + 15, -15*e - 7, -7*e + 5, 13*e + 13, 7*e + 14, -7*e + 4, -4*e - 17, -4*e + 13, -2*e - 22, -6*e - 17, -11*e - 11, -8*e - 8, -16*e - 13, 12*e + 3, 2*e - 16, 10*e - 6, 15*e + 3, 11, 18*e + 2, -13*e - 20, 15*e + 14, e + 16, -12*e - 9, 6*e - 15, 5*e + 16, 15*e - 11, 3*e + 3, 10*e + 5, -12*e + 7, -10*e - 11, 18*e + 24, 14*e + 23, -6*e + 3, 15*e + 21, -16*e - 11, -10*e + 8, -e - 32, -10*e + 2, -3*e, 10*e + 25, 2*e - 25, 21*e - 1, -12*e + 13, -14*e - 13, 15*e + 17, -e - 24, 31*e + 11, 13*e + 2, -17*e, -7*e - 25, 5*e - 19, -18*e - 8, -16*e - 16, -27*e - 4, 18*e + 10, 7*e + 10, -e, 9*e - 12, 8*e + 10, -2*e - 37, 14*e + 9, -14*e + 20, 36*e + 16, -10*e - 5, 31, -19*e + 15, -9*e - 17, 22*e + 28, 27*e + 20, -23*e - 19, -20*e - 11, -26*e - 9, 9*e - 24, 14*e + 21, 12*e + 12, -10*e - 15, 9*e + 29, 5*e - 22, 16*e + 19, 19*e + 26, 12*e - 1, -4*e + 26, -10*e - 11, -21*e - 13, -3*e + 1, 11*e + 21, -11*e - 18, -6*e + 31, -27*e - 6, -2*e + 6, -7*e - 2, 19, -12*e - 39, 23*e + 33, 35*e + 14, 2*e + 47, -12*e - 1, -28*e - 38, -16*e - 25, -34*e - 15, 6*e + 15, -8*e - 32, -16*e + 16, -24*e - 11, 20*e, -9*e - 45, 18*e + 29, -6*e - 2, 22*e + 3, -9*e - 28, -13*e + 15, -3*e - 51, 12*e - 7, 14*e - 27, -15*e + 3, -13*e - 32, -30*e + 7, 30*e + 17, -14*e + 19, -18*e - 23, -5*e + 44, 22*e + 44, 9*e - 9, -26*e + 3, -5*e - 54, 38*e + 27, 17*e + 34] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal([8, 2, 2])] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]