""" This code can be loaded, or copied and paste using cpaste, into Sage. It will load the data associated to the BMF, including the field, level, and Hecke and Atkin-Lehner eigenvalue data (if known). """ P = PolynomialRing(QQ, "x") x = P.gen() g = P([28, -1, 1]) F = NumberField(g, "a") a = F.gen() ZF = F.ring_of_integers() NN = ZF.ideal((48, 16*a + 16)) primes_array = [ (2,a),(2,a+1),(3,a+1),(5,a+1),(5,a+3),(7,a),(7,a+6),(17,a+2),(17,a+14),(23,a+10),(23,a+12),(29,a+5),(29,a+23),(37,a+18),(59,a+9),(59,a+49),(67,a+15),(67,a+51),(73,a+26),(73,a+46),(89,a+22),(89,a+66),(113,a+25),(113,a+87),(11,)] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [0, 0, -1, -2, 2, 3, 3, 3, -3, -1, 1, 6, -6, -12, -6, 6, 8, 8, 1, 1, 9, -9, 14, -14, -13] 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, a))] = 1 AL_eigenvalues[ZF.ideal((2, a + 1))] = 1 AL_eigenvalues[ZF.ideal((3, a + 1))] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]