/* 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([-40, -1, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([28, 14, 64*w - 438]) primes_array = [ [2, 2, w + 6],\ [2, 2, -w + 7],\ [5, 5, -6*w - 35],\ [5, 5, -6*w + 41],\ [7, 7, 32*w - 219],\ [9, 3, 3],\ [17, 17, 2*w - 13],\ [17, 17, 2*w + 11],\ [19, 19, 4*w + 23],\ [19, 19, 4*w - 27],\ [23, 23, 58*w - 397],\ [29, 29, 20*w - 137],\ [29, 29, -20*w - 117],\ [61, 61, 2*w - 11],\ [61, 61, -2*w - 9],\ [71, 71, -10*w - 59],\ [71, 71, 10*w - 69],\ [83, 83, -44*w + 301],\ [83, 83, 44*w + 257],\ [89, 89, -70*w - 409],\ [89, 89, 70*w - 479],\ [97, 97, 2*w - 9],\ [97, 97, -2*w - 7],\ [103, 103, -16*w - 93],\ [103, 103, 16*w - 109],\ [121, 11, -11],\ [127, 127, 34*w + 199],\ [127, 127, 34*w - 233],\ [151, 151, 6*w - 43],\ [151, 151, -6*w - 37],\ [157, 157, 2*w - 3],\ [157, 157, -2*w - 1],\ [163, 163, 2*w - 19],\ [163, 163, -2*w - 17],\ [169, 13, -13],\ [179, 179, -110*w - 643],\ [179, 179, 110*w - 753],\ [181, 181, 10*w + 57],\ [181, 181, 10*w - 67],\ [193, 193, 72*w - 493],\ [193, 193, -72*w - 421],\ [197, 197, 4*w + 27],\ [197, 197, 4*w - 31],\ [199, 199, 56*w - 383],\ [199, 199, -56*w - 327],\ [211, 211, -14*w - 83],\ [211, 211, 14*w - 97],\ [227, 227, -28*w - 163],\ [227, 227, -28*w + 191],\ [229, 229, -134*w - 783],\ [229, 229, 134*w - 917],\ [233, 233, 8*w - 57],\ [233, 233, -8*w - 49],\ [239, 239, 2*w - 21],\ [239, 239, -2*w - 19],\ [241, 241, -82*w + 561],\ [241, 241, 82*w + 479],\ [251, 251, 108*w + 631],\ [251, 251, 108*w - 739],\ [277, 277, -36*w + 247],\ [277, 277, -36*w - 211],\ [283, 283, -4*w - 17],\ [283, 283, 4*w - 21],\ [293, 293, 6*w + 31],\ [293, 293, -6*w + 37],\ [313, 313, -26*w - 151],\ [313, 313, 26*w - 177],\ [317, 317, 4*w - 33],\ [317, 317, -4*w - 29],\ [331, 331, 10*w - 71],\ [331, 331, -10*w - 61],\ [347, 347, -26*w - 153],\ [347, 347, 26*w - 179],\ [367, 367, 8*w + 43],\ [367, 367, -8*w + 51],\ [383, 383, 24*w - 163],\ [383, 383, -24*w - 139],\ [419, 419, -4*w - 13],\ [419, 419, 4*w - 17],\ [433, 433, 94*w + 549],\ [433, 433, -94*w + 643],\ [443, 443, 38*w - 261],\ [443, 443, 38*w + 223],\ [449, 449, 8*w - 59],\ [449, 449, -8*w - 51],\ [463, 463, -162*w - 947],\ [463, 463, -162*w + 1109],\ [467, 467, -12*w + 79],\ [467, 467, 12*w + 67],\ [479, 479, -120*w + 821],\ [479, 479, 120*w + 701],\ [487, 487, 6*w + 41],\ [487, 487, 6*w - 47],\ [491, 491, 74*w + 433],\ [491, 491, 74*w - 507],\ [499, 499, -50*w + 343],\ [499, 499, -50*w - 293],\ [503, 503, 16*w + 91],\ [503, 503, 16*w - 107],\ [521, 521, 38*w - 259],\ [521, 521, -38*w - 221],\ [523, 523, -4*w - 9],\ [523, 523, 4*w - 13],\ [541, 541, -20*w - 119],\ [541, 541, 20*w - 139],\ [547, 547, 226*w - 1547],\ [547, 547, -354*w + 2423],\ [563, 563, 4*w - 11],\ [563, 563, -4*w - 7],\ [599, 599, -10*w - 63],\ [599, 599, 10*w - 73],\ [619, 619, 4*w - 7],\ [619, 619, -4*w - 3],\ [643, 643, 4*w - 3],\ [643, 643, 4*w - 1],\ [653, 653, -188*w - 1099],\ [653, 653, -188*w + 1287],\ [661, 661, -10*w + 63],\ [661, 661, 10*w + 53],\ [673, 673, -8*w - 53],\ [673, 673, 8*w - 61],\ [677, 677, -378*w + 2587],\ [677, 677, -262*w + 1793],\ [683, 683, -22*w - 131],\ [683, 683, 22*w - 153],\ [727, 727, 8*w - 47],\ [727, 727, 8*w + 39],\ [733, 733, 34*w - 231],\ [733, 733, -34*w - 197],\ [739, 739, 2*w - 31],\ [739, 739, -2*w - 29],\ [769, 769, -50*w - 291],\ [769, 769, 50*w - 341],\ [773, 773, 6*w - 29],\ [773, 773, -6*w - 23],\ [787, 787, -92*w + 629],\ [787, 787, 92*w + 537],\ [797, 797, -158*w + 1081],\ [797, 797, 158*w + 923],\ [809, 809, -32*w - 189],\ [809, 809, 32*w - 221],\ [821, 821, -316*w - 1847],\ [821, 821, 316*w - 2163],\ [823, 823, -42*w - 247],\ [823, 823, 42*w - 289],\ [839, 839, 64*w + 373],\ [839, 839, 64*w - 437],\ [863, 863, 2*w - 33],\ [863, 863, -2*w - 31],\ [877, 877, 4*w - 41],\ [877, 877, -4*w - 37],\ [881, 881, 30*w - 203],\ [881, 881, -30*w - 173],\ [883, 883, 18*w - 127],\ [883, 883, -18*w - 109],\ [937, 937, -118*w - 689],\ [937, 937, 118*w - 807],\ [941, 941, 18*w + 101],\ [941, 941, -18*w + 119],\ [947, 947, 14*w - 101],\ [947, 947, -14*w - 87],\ [961, 31, -31],\ [967, 967, 54*w - 371],\ [967, 967, 54*w + 317],\ [971, 971, -20*w + 133],\ [971, 971, 20*w + 113],\ [983, 983, 24*w - 161],\ [983, 983, 24*w + 137],\ [991, 991, -126*w + 863],\ [991, 991, -126*w - 737]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [-1, -1, 0, 0, 1, -2, 6, 6, 2, 2, 0, -6, -6, 8, 8, 0, 0, -6, -6, -6, -6, -10, -10, -4, -4, -22, -16, -16, 8, 8, -4, -4, -16, -16, -10, -12, -12, 20, 20, 14, 14, -18, -18, 20, 20, -4, -4, 18, 18, -4, -4, -6, -6, 24, 24, -10, -10, -18, -18, -10, -10, -22, -22, 24, 24, -10, -10, 6, 6, 8, 8, -24, -24, 8, 8, 36, 36, 6, 6, -34, -34, -12, -12, 18, 18, 32, 32, -6, -6, -36, -36, -16, -16, -12, -12, -4, -4, 0, 0, 6, 6, 2, 2, 38, 38, 8, 8, 30, 30, -24, -24, 26, 26, 14, 14, 18, 18, -40, -40, 26, 26, -12, -12, -12, -12, 44, 44, -40, -40, -16, -16, 14, 14, 24, 24, -22, -22, -12, -12, 6, 6, 6, 6, -40, -40, 12, 12, -24, -24, -22, -22, -54, -54, 20, 20, 2, 2, -24, -24, 24, 24, -46, 32, 32, -6, -6, -36, -36, -16, -16] 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 + 6])] = 1 AL_eigenvalues[ZF.ideal([2, 2, -w + 7])] = 1 AL_eigenvalues[ZF.ideal([7, 7, 32*w - 219])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]