/* 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([-39, -1, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([9, 3, 3]) primes_array = [ [3, 3, w + 6],\ [3, 3, -w + 7],\ [4, 2, 2],\ [11, 11, -3*w - 17],\ [11, 11, 3*w - 20],\ [13, 13, 2*w - 13],\ [13, 13, 2*w + 11],\ [17, 17, w + 7],\ [17, 17, -w + 8],\ [19, 19, -w - 4],\ [19, 19, -w + 5],\ [25, 5, 5],\ [31, 31, -6*w - 35],\ [31, 31, -6*w + 41],\ [37, 37, -w - 1],\ [37, 37, w - 2],\ [47, 47, 3*w + 16],\ [47, 47, -3*w + 19],\ [49, 7, -7],\ [67, 67, 3*w - 22],\ [67, 67, -3*w - 19],\ [71, 71, -w - 10],\ [71, 71, w - 11],\ [89, 89, -8*w - 47],\ [89, 89, 8*w - 55],\ [101, 101, 4*w - 29],\ [101, 101, -4*w - 25],\ [109, 109, -3*w - 20],\ [109, 109, 3*w - 23],\ [113, 113, 3*w - 17],\ [113, 113, -3*w - 14],\ [127, 127, -9*w - 53],\ [127, 127, 9*w - 62],\ [157, 157, 2*w - 1],\ [167, 167, 2*w - 19],\ [167, 167, -2*w - 17],\ [173, 173, 13*w - 89],\ [173, 173, -13*w - 76],\ [193, 193, 11*w - 73],\ [193, 193, -11*w - 62],\ [197, 197, 3*w - 14],\ [197, 197, -3*w - 11],\ [199, 199, 3*w - 25],\ [199, 199, -3*w - 22],\ [233, 233, -w - 16],\ [233, 233, w - 17],\ [239, 239, 7*w - 50],\ [239, 239, -7*w - 43],\ [257, 257, 6*w + 31],\ [257, 257, -6*w + 37],\ [263, 263, 3*w - 11],\ [263, 263, -3*w - 8],\ [277, 277, -12*w - 71],\ [277, 277, 12*w - 83],\ [281, 281, -3*w - 7],\ [281, 281, 3*w - 10],\ [283, 283, -7*w + 44],\ [283, 283, 7*w + 37],\ [311, 311, 3*w - 8],\ [311, 311, -3*w - 5],\ [313, 313, -13*w - 73],\ [313, 313, 13*w - 86],\ [317, 317, -9*w + 58],\ [317, 317, 9*w + 49],\ [331, 331, -5*w - 23],\ [331, 331, 5*w - 28],\ [347, 347, -3*w - 1],\ [347, 347, 3*w - 4],\ [349, 349, 3*w - 28],\ [349, 349, -3*w - 25],\ [353, 353, 3*w - 2],\ [353, 353, 3*w - 1],\ [389, 389, 6*w - 35],\ [389, 389, 6*w + 29],\ [419, 419, 2*w - 25],\ [419, 419, -2*w - 23],\ [431, 431, 10*w - 71],\ [431, 431, -10*w - 61],\ [457, 457, 27*w + 157],\ [457, 457, 27*w - 184],\ [461, 461, -4*w - 31],\ [461, 461, 4*w - 35],\ [467, 467, -w - 22],\ [467, 467, w - 23],\ [487, 487, 8*w + 41],\ [487, 487, -8*w + 49],\ [523, 523, -6*w - 41],\ [523, 523, 6*w - 47],\ [529, 23, -23],\ [547, 547, 4*w - 11],\ [547, 547, -4*w - 7],\ [557, 557, 28*w - 191],\ [557, 557, -28*w - 163],\ [571, 571, 20*w - 133],\ [571, 571, -20*w - 113],\ [577, 577, -3*w - 29],\ [577, 577, 3*w - 32],\ [593, 593, 19*w - 131],\ [593, 593, -19*w - 112],\ [601, 601, 5*w - 22],\ [601, 601, -5*w - 17],\ [617, 617, -18*w - 101],\ [617, 617, 18*w - 119],\ [619, 619, -4*w - 1],\ [619, 619, 4*w - 5],\ [631, 631, 17*w - 112],\ [631, 631, -17*w - 95],\ [641, 641, 15*w + 83],\ [641, 641, 15*w - 98],\ [647, 647, -17*w - 101],\ [647, 647, 17*w - 118],\ [653, 653, -11*w - 68],\ [653, 653, 11*w - 79],\ [659, 659, 5*w - 43],\ [659, 659, -5*w - 38],\ [661, 661, -25*w - 142],\ [661, 661, 25*w - 167],\ [677, 677, 13*w - 92],\ [677, 677, -13*w - 79],\ [709, 709, 5*w - 19],\ [709, 709, -5*w - 14],\ [727, 727, -9*w - 58],\ [727, 727, 9*w - 67],\ [733, 733, 7*w - 38],\ [733, 733, -7*w - 31],\ [739, 739, -18*w - 107],\ [739, 739, 18*w - 125],\ [743, 743, 2*w - 31],\ [743, 743, -2*w - 29],\ [769, 769, -3*w - 32],\ [769, 769, 3*w - 35],\ [773, 773, -w - 28],\ [773, 773, w - 29],\ [797, 797, 21*w - 139],\ [797, 797, -21*w - 118],\ [821, 821, -15*w + 97],\ [821, 821, 15*w + 82],\ [827, 827, 9*w - 53],\ [827, 827, -9*w - 44],\ [829, 829, -19*w - 106],\ [829, 829, 19*w - 125],\ [841, 29, -29],\ [853, 853, 9*w - 68],\ [853, 853, -9*w - 59],\ [907, 907, 3*w - 37],\ [907, 907, -3*w - 34],\ [911, 911, 5*w - 46],\ [911, 911, -5*w - 41],\ [929, 929, -6*w - 19],\ [929, 929, 6*w - 25],\ [941, 941, -20*w - 119],\ [941, 941, 20*w - 139],\ [953, 953, -w - 31],\ [953, 953, w - 32],\ [967, 967, 11*w + 56],\ [967, 967, -11*w + 67],\ [977, 977, 16*w - 113],\ [977, 977, -16*w - 97],\ [991, 991, -8*w - 35],\ [991, 991, 8*w - 43]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x^2 + x - 5 K. = NumberField(heckePol) hecke_eigenvalues_array = [1, -1, e, e - 1, e + 1, -e - 3, -e + 1, -5, -2*e - 1, -2*e - 2, 2*e - 2, -2*e - 3, -e + 5, -e - 7, 2*e + 6, -2*e - 2, e + 8, -e + 2, -7, e + 3, 5*e + 3, -3*e - 1, -3*e - 11, -e + 13, 3*e - 9, -e - 18, 5*e, 3*e + 14, 3*e - 6, 2*e - 1, -4*e - 5, -5*e + 4, -e - 4, 4*e + 12, 5*e, -e - 18, 5*e - 1, 5*e + 1, -4*e - 1, 11, -6*e - 13, -4*e - 13, 10*e + 5, 2*e - 7, -5*e - 18, 5*e, -2*e + 11, -4*e + 11, 6, 4*e - 6, 10*e + 3, -4*e + 7, 17, 4*e + 1, 11*e + 13, -5*e - 13, -10*e + 3, -2*e - 21, 4*e - 5, 6*e + 15, -13*e - 9, 3*e - 1, -2*e + 10, 2*e - 6, -3*e + 10, 5*e + 26, -3*e - 9, -7*e - 7, 8*e + 21, 8*e + 13, e - 10, 3*e - 16, -e + 2, -3*e, -39, 6*e + 9, 21, 2*e - 35, -11*e - 5, 5*e - 17, -7*e - 19, 9*e - 1, 14*e - 2, 2*e - 10, -6*e - 7, 6*e + 1, 4*e + 9, -8*e - 3, -6*e - 7, 5*e + 18, e - 14, -6*e + 7, -17, -6*e - 1, 2*e + 11, 13*e + 5, 9*e + 25, 8*e + 14, 6, 12*e + 2, 4*e + 2, -e + 7, -e - 15, 3*e + 13, -9*e + 9, -4*e + 15, -8*e + 15, -2*e + 1, 8*e - 11, -6*e - 1, -45, -2*e + 23, -4*e - 33, 3*e - 10, 5*e + 36, 4*e + 11, 12*e + 15, -2*e + 5, -15, -4*e + 4, 8*e - 28, -11*e + 12, 5*e + 24, 11*e - 9, 19*e + 11, 9*e - 18, e - 42, -5*e - 3, 3*e - 1, -12*e + 15, 16*e - 5, -4*e - 17, -14*e + 7, -9*e + 22, 9*e + 12, -6*e - 26, 10*e + 18, -16*e - 17, 2*e - 1, e + 23, -11*e - 29, e - 33, 9*e + 31, e + 27, 11*e - 13, 3*e + 35, -10*e + 20, -2*e - 44, 13*e - 17, 5*e + 9, -2*e - 13, -16*e - 9, 18*e + 19, -8*e - 25, 11*e + 1, -9*e + 13, 16*e + 26, -8*e - 18, -e - 40, -21*e - 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([3, 3, w + 6])] = -1 AL_eigenvalues[ZF.ideal([3, 3, -w + 7])] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]