/* 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([-114, 0, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([4, 2, 2]) primes_array = [ [2, 2, -3*w - 32],\ [3, 3, w],\ [5, 5, w + 2],\ [5, 5, w + 3],\ [7, 7, -w + 11],\ [7, 7, w + 11],\ [11, 11, w + 2],\ [11, 11, w + 9],\ [13, 13, w + 6],\ [13, 13, w + 7],\ [19, 19, w],\ [37, 37, w + 15],\ [37, 37, w + 22],\ [41, 41, 37*w + 395],\ [41, 41, 5*w + 53],\ [67, 67, w + 28],\ [67, 67, w + 39],\ [71, 71, 40*w + 427],\ [71, 71, 8*w + 85],\ [73, 73, -2*w + 23],\ [73, 73, 2*w + 23],\ [83, 83, w + 23],\ [83, 83, w + 60],\ [89, 89, -w - 5],\ [89, 89, w - 5],\ [101, 101, w + 35],\ [101, 101, w + 66],\ [109, 109, w + 21],\ [109, 109, w + 88],\ [113, 113, -w - 1],\ [113, 113, w - 1],\ [131, 131, w + 30],\ [131, 131, w + 101],\ [149, 149, w + 73],\ [149, 149, w + 76],\ [167, 167, 2*w - 17],\ [167, 167, -2*w - 17],\ [181, 181, w + 64],\ [181, 181, w + 117],\ [197, 197, w + 36],\ [197, 197, w + 161],\ [199, 199, -3*w - 35],\ [199, 199, 3*w - 35],\ [211, 211, w + 89],\ [211, 211, w + 122],\ [251, 251, w + 37],\ [251, 251, w + 214],\ [257, 257, 7*w - 73],\ [257, 257, -7*w - 73],\ [271, 271, -15*w - 161],\ [271, 271, 81*w + 865],\ [281, 281, 55*w + 587],\ [281, 281, 23*w + 245],\ [289, 17, -17],\ [307, 307, w + 81],\ [307, 307, w + 226],\ [313, 313, 78*w + 833],\ [313, 313, -18*w - 193],\ [331, 331, w + 86],\ [331, 331, w + 245],\ [347, 347, w + 43],\ [347, 347, w + 304],\ [367, 367, 11*w - 119],\ [367, 367, 11*w + 119],\ [373, 373, w + 62],\ [373, 373, w + 311],\ [379, 379, w + 71],\ [379, 379, w + 308],\ [383, 383, 6*w + 61],\ [383, 383, 6*w - 61],\ [389, 389, w + 170],\ [389, 389, w + 219],\ [401, 401, -3*w - 25],\ [401, 401, 3*w - 25],\ [419, 419, w + 47],\ [419, 419, w + 372],\ [421, 421, w + 172],\ [421, 421, w + 249],\ [431, 431, 2*w - 5],\ [431, 431, -2*w - 5],\ [443, 443, w + 185],\ [443, 443, w + 258],\ [449, 449, 5*w - 49],\ [449, 449, 5*w + 49],\ [457, 457, -14*w - 151],\ [457, 457, 14*w - 151],\ [461, 461, w + 110],\ [461, 461, w + 351],\ [463, 463, -33*w - 353],\ [463, 463, 63*w + 673],\ [467, 467, w + 54],\ [467, 467, w + 413],\ [491, 491, w + 144],\ [491, 491, w + 347],\ [521, 521, 67*w + 715],\ [521, 521, 35*w + 373],\ [523, 523, w + 239],\ [523, 523, w + 284],\ [529, 23, -23],\ [547, 547, w + 85],\ [547, 547, w + 462],\ [557, 557, w + 79],\ [557, 557, w + 478],\ [569, 569, 11*w - 115],\ [569, 569, -11*w - 115],\ [577, 577, 4*w - 49],\ [577, 577, -4*w - 49],\ [587, 587, w + 124],\ [587, 587, w + 463],\ [599, 599, 4*w - 35],\ [599, 599, -4*w - 35],\ [631, 631, -5*w - 59],\ [631, 631, 5*w - 59],\ [641, 641, 5*w - 47],\ [641, 641, -5*w - 47],\ [653, 653, w + 296],\ [653, 653, w + 357],\ [661, 661, w + 82],\ [661, 661, w + 579],\ [701, 701, w + 157],\ [701, 701, w + 544],\ [727, 727, -w - 29],\ [727, 727, w - 29],\ [743, 743, 76*w + 811],\ [743, 743, 44*w + 469],\ [769, 769, 2*w - 35],\ [769, 769, -2*w - 35],\ [787, 787, w + 129],\ [787, 787, w + 658],\ [811, 811, w + 134],\ [811, 811, w + 677],\ [821, 821, w + 186],\ [821, 821, w + 635],\ [823, 823, 3*w - 43],\ [823, 823, -3*w - 43],\ [829, 829, w + 51],\ [829, 829, w + 778],\ [839, 839, 126*w + 1345],\ [839, 839, 30*w + 319],\ [841, 29, -29],\ [857, 857, -3*w - 13],\ [857, 857, 3*w - 13],\ [863, 863, 4*w - 31],\ [863, 863, -4*w - 31],\ [877, 877, w + 248],\ [877, 877, w + 629],\ [887, 887, -22*w + 233],\ [887, 887, 22*w + 233],\ [907, 907, w + 387],\ [907, 907, w + 520],\ [911, 911, 82*w + 875],\ [911, 911, 50*w + 533],\ [919, 919, -15*w + 163],\ [919, 919, -15*w - 163],\ [937, 937, -6*w - 71],\ [937, 937, 6*w - 71],\ [947, 947, w + 190],\ [947, 947, w + 757],\ [953, 953, 9*w + 91],\ [953, 953, 9*w - 91],\ [961, 31, -31],\ [967, 967, -9*w - 101],\ [967, 967, 9*w - 101],\ [977, 977, -3*w - 7],\ [977, 977, 3*w - 7],\ [983, 983, -4*w - 29],\ [983, 983, 4*w - 29]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 + 3 K. = NumberField(heckePol) hecke_eigenvalues_array = [0, e, 0, 0, 1, -5, 0, 0, e, 3*e, 2*e, 4*e, 4*e, 0, 0, 7*e, -9*e, 0, 0, 17, -7, 0, 0, 0, 0, 0, 0, 5*e, 7*e, 0, 0, 0, 0, 0, 0, 0, 0, 4*e, 4*e, 0, 0, 11, 17, 15*e, -e, 0, 0, 0, 0, 29, -1, 0, 0, -17, -18*e, -18*e, -35, 13, -11*e, 21*e, 0, 0, -4, -4, 17*e, -21*e, -7*e, -15*e, 0, 0, 0, 0, 0, 0, 0, 0, -21*e, e, 0, 0, 0, 0, 0, 0, -31, 41, 0, 0, 20, 20, 0, 0, 0, 0, 0, 0, -9*e, -17*e, -23, 14*e, 14*e, 0, 0, 0, 0, -35, -11, 0, 0, 0, 0, -44, -44, 0, 0, 0, 0, -29*e, 9*e, 0, 0, -49, 5, 0, 0, -47, 49, 27*e, -29*e, -31*e, 25*e, 0, 0, -5, -47, -13*e, 33*e, 0, 0, 29, 0, 0, 0, 0, 31*e, -3*e, 0, 0, -33*e, 7*e, 0, 0, -53, 1, -61, 35, 0, 0, 0, 0, -46, -20, -20, 0, 0, 0, 0] 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, -3*w - 32])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]