/* 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, -3, 0, 1]) F. = NumberField(g) ZF = F.ring_of_integers() NN = ZF.ideal([8, 2, 2]) primes_array = [ [3, 3, -w + 1],\ [8, 2, 2],\ [17, 17, -2*w^2 + w + 3],\ [17, 17, -w^2 - w + 3],\ [17, 17, -w^2 + 2*w + 3],\ [19, 19, -2*w^2 + 2*w + 5],\ [19, 19, -2*w^2 + 3],\ [19, 19, -2*w + 1],\ [37, 37, -w^2 + 3*w + 3],\ [37, 37, 2*w^2 + w - 5],\ [37, 37, 3*w^2 - 2*w - 5],\ [53, 53, -w - 4],\ [53, 53, -w^2 + w - 2],\ [53, 53, w^2 - 6],\ [71, 71, w^2 + w - 7],\ [71, 71, w^2 - 2*w - 7],\ [71, 71, -2*w^2 + w - 1],\ [73, 73, 3*w^2 - 3*w - 8],\ [73, 73, 2*w^2 - 3*w - 7],\ [73, 73, w^2 + 2*w - 5],\ [89, 89, -w^2 + 4*w + 4],\ [89, 89, 3*w^2 + w - 8],\ [89, 89, 2*w^2 - w - 9],\ [107, 107, 2*w^2 - 4*w - 5],\ [107, 107, 4*w^2 - 2*w - 7],\ [107, 107, 2*w^2 + 2*w - 5],\ [109, 109, w^2 - w - 7],\ [109, 109, -w^2 - 3],\ [109, 109, w - 5],\ [125, 5, -5],\ [127, 127, -5*w^2 + 4*w + 8],\ [127, 127, 4*w^2 + w - 10],\ [127, 127, -w^2 + 5*w + 4],\ [163, 163, 5*w^2 - 2*w - 10],\ [163, 163, 5*w^2 - 3*w - 9],\ [163, 163, 3*w^2 + 2*w - 7],\ [179, 179, 3*w^2 - 4*w - 9],\ [179, 179, 4*w^2 - w - 5],\ [179, 179, w^2 + 3*w - 5],\ [181, 181, w^2 + 3*w - 6],\ [181, 181, 4*w^2 - 4*w - 11],\ [181, 181, 3*w^2 - 4*w - 10],\ [197, 197, w^2 - w - 8],\ [197, 197, -w^2 - 4],\ [197, 197, w - 6],\ [199, 199, -w - 6],\ [199, 199, -w^2 + w - 4],\ [199, 199, w^2 - 8],\ [233, 233, 5*w^2 + w - 13],\ [233, 233, -6*w^2 + 5*w + 9],\ [233, 233, -w^2 + 6*w + 5],\ [251, 251, 3*w^2 + 2*w - 9],\ [251, 251, 2*w^2 - 2*w - 11],\ [251, 251, 2*w^2 - 5*w - 7],\ [269, 269, -5*w^2 + 2*w + 8],\ [269, 269, 3*w^2 - 5*w - 8],\ [269, 269, 2*w^2 + 3*w - 6],\ [271, 271, w^2 + w - 9],\ [271, 271, 6*w^2 - 5*w - 15],\ [271, 271, 3*w^2 + 2*w - 10],\ [307, 307, 3*w^2 - 5*w - 9],\ [307, 307, 5*w^2 - 2*w - 7],\ [307, 307, 2*w^2 + 3*w - 7],\ [343, 7, -7],\ [359, 359, -w^2 + 6*w - 3],\ [359, 359, 6*w^2 - 5*w - 17],\ [359, 359, 5*w^2 - 5*w - 16],\ [379, 379, -2*w^2 + 7*w + 6],\ [379, 379, 7*w^2 - 5*w - 12],\ [379, 379, 5*w^2 + 2*w - 12],\ [397, 397, 8*w^2 - 5*w - 16],\ [397, 397, 6*w^2 - 3*w - 10],\ [397, 397, 3*w^2 - 6*w - 8],\ [431, 431, -w^2 + 7*w - 1],\ [431, 431, -6*w^2 + 4*w + 7],\ [431, 431, 4*w^2 + 2*w - 13],\ [433, 433, -4*w^2 - 4*w + 7],\ [433, 433, 7*w^2 - 4*w - 13],\ [433, 433, 8*w^2 - 4*w - 17],\ [449, 449, 7*w^2 - w - 14],\ [449, 449, 6*w^2 - 7*w - 12],\ [449, 449, 2*w^2 - w - 12],\ [467, 467, w^2 + 5*w - 4],\ [467, 467, 6*w^2 - w - 10],\ [467, 467, 5*w^2 - 6*w - 12],\ [487, 487, w^2 - w - 10],\ [487, 487, -w^2 - 6],\ [487, 487, w - 8],\ [503, 503, w^2 + 2*w - 11],\ [503, 503, 2*w^2 - 3*w - 13],\ [503, 503, -3*w^2 + w - 3],\ [521, 521, 5*w^2 - 6*w - 18],\ [521, 521, 3*w^2 - 4*w - 16],\ [521, 521, w^2 + 3*w - 12],\ [523, 523, 7*w^2 - 6*w - 18],\ [523, 523, 3*w^2 + 3*w - 11],\ [523, 523, 2*w^2 + w - 13],\ [541, 541, 2*w^2 + 4*w - 11],\ [541, 541, 6*w^2 - 2*w - 5],\ [541, 541, 4*w^2 - 6*w - 15],\ [557, 557, 8*w^2 - 2*w - 17],\ [557, 557, -6*w^2 + 8*w + 11],\ [557, 557, 3*w^2 - 2*w - 15],\ [577, 577, -6*w^2 + 7*w + 13],\ [577, 577, 7*w^2 - w - 13],\ [577, 577, 3*w^2 - w - 15],\ [593, 593, 8*w^2 - 6*w - 13],\ [593, 593, -2*w^2 + 8*w + 7],\ [593, 593, 6*w^2 + 2*w - 15],\ [613, 613, 2*w^2 - 7*w - 9],\ [613, 613, 5*w^2 + 2*w - 15],\ [613, 613, -7*w^2 + 5*w + 9],\ [631, 631, w^2 + 5*w - 8],\ [631, 631, 6*w^2 - 6*w - 17],\ [631, 631, 5*w^2 - 6*w - 16],\ [647, 647, 6*w^2 + 3*w - 13],\ [647, 647, -3*w^2 + 9*w + 7],\ [647, 647, 9*w^2 - 6*w - 17],\ [683, 683, 5*w^2 + 3*w - 12],\ [683, 683, 8*w^2 - 5*w - 14],\ [683, 683, 8*w^2 - 3*w - 16],\ [701, 701, w^2 - w - 11],\ [701, 701, -w^2 - 7],\ [701, 701, w - 9],\ [719, 719, 9*w^2 - 4*w - 19],\ [719, 719, 8*w^2 - 4*w - 15],\ [719, 719, 9*w^2 - 5*w - 18],\ [739, 739, 7*w^2 + 3*w - 15],\ [739, 739, -3*w^2 + 10*w + 7],\ [739, 739, 10*w^2 - 7*w - 19],\ [757, 757, 3*w^2 - 16],\ [757, 757, -7*w^2 + 4*w + 7],\ [757, 757, 4*w^2 + 3*w - 15],\ [773, 773, 4*w^2 + 3*w - 14],\ [773, 773, 2*w^2 + w - 14],\ [773, 773, 8*w^2 - 7*w - 20],\ [809, 809, 3*w^2 + 4*w - 14],\ [809, 809, 7*w^2 - 3*w - 6],\ [809, 809, 4*w^2 - 7*w - 16],\ [811, 811, 9*w^2 - 3*w - 19],\ [811, 811, -6*w^2 + 9*w + 11],\ [811, 811, 5*w^2 - 3*w - 21],\ [827, 827, -7*w^2 + 8*w + 15],\ [827, 827, 8*w^2 - w - 15],\ [827, 827, 3*w^2 - w - 16],\ [829, 829, 6*w^2 + 3*w - 14],\ [829, 829, -3*w^2 + 9*w + 8],\ [829, 829, 9*w^2 - 6*w - 16],\ [863, 863, 2*w^2 - 4*w - 15],\ [863, 863, -4*w^2 + 2*w - 3],\ [863, 863, 2*w^2 + 2*w - 15],\ [881, 881, 2*w^2 + 5*w - 8],\ [881, 881, 5*w^2 - 7*w - 14],\ [881, 881, 7*w^2 - 2*w - 10],\ [883, 883, -4*w^2 + 3*w - 3],\ [883, 883, 3*w^2 + w - 17],\ [883, 883, 8*w^2 - 7*w - 21],\ [919, 919, 9*w^2 - w - 18],\ [919, 919, -8*w^2 + 9*w + 16],\ [919, 919, w^2 + 8*w - 2],\ [937, 937, 5*w^2 - 7*w - 15],\ [937, 937, 2*w^2 + 5*w - 9],\ [937, 937, 7*w^2 - 2*w - 9],\ [953, 953, 2*w^2 + 5*w - 11],\ [953, 953, 7*w^2 - 7*w - 19],\ [953, 953, 5*w^2 - 7*w - 17],\ [971, 971, -w - 10],\ [971, 971, -w^2 + w - 8],\ [971, 971, w^2 - 12],\ [991, 991, 4*w^2 - w - 19],\ [991, 991, -7*w^2 + 8*w + 16],\ [991, 991, 8*w^2 - w - 14]] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [-3, 1, -3, -3, -3, -1, -1, -1, -4, -4, -4, 12, 12, 12, -12, -12, -12, 11, 11, 11, 6, 6, 6, 3, 3, 3, -16, -16, -16, 0, 2, 2, 2, -4, -4, -4, 12, 12, 12, 14, 14, 14, -12, -12, -12, -10, -10, -10, 3, 3, 3, 21, 21, 21, -24, -24, -24, 20, 20, 20, -7, -7, -7, -34, -18, -18, -18, 23, 23, 23, 20, 20, 20, -30, -30, -30, -7, -7, -7, 9, 9, 9, -15, -15, -15, 26, 26, 26, 0, 0, 0, -3, -3, -3, 20, 20, 20, -4, -4, -4, -30, -30, -30, 11, 11, 11, 6, 6, 6, -16, -16, -16, -40, -40, -40, 18, 18, 18, -9, -9, -9, 30, 30, 30, -36, -36, -36, 47, 47, 47, 2, 2, 2, 18, 18, 18, 33, 33, 33, -7, -7, -7, -12, -12, -12, -10, -10, -10, 24, 24, 24, -42, -42, -42, -19, -19, -19, 38, 38, 38, 14, 14, 14, 9, 9, 9, -36, -36, -36, -16, -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([8, 2, 2])] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]