""" 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((6, 2*a + 2)) 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,),(-2*a+5,),(2*a+3,),(131,a+42),(131,a+88),(139,a+40),(139,a+98),(151,a+38),(151,a+112),(157,a+24),(157,a+132),(167,a+17),(167,a+149),(13,),(179,a+75),(179,a+103),(181,a+73),(181,a+107),(191,a+67),(191,a+123),(-2*a+11,),(2*a+9,),(223,a+59),(223,a+163),(227,a+97),(227,a+129),(229,a+102),(229,a+126),(239,a+37),(239,a+201),(251,a+44),(251,a+206),(257,a+71),(257,a+185),(271,a+32),(271,a+238),(281,a+62),(281,a+218),(-2*a+15,),(2*a+13,),(311,a+136),(311,a+174),(337,a+153),(337,a+183),(347,a+69),(347,a+277),(349,a+64),(349,a+284),(353,a+140),(353,a+212),(19,),(-2*a+17,),(2*a+15,),(373,a+161),(373,a+211),(379,a+106),(379,a+272),(383,a+151),(383,a+231),(389,a+147),(389,a+241),(397,a+39),(397,a+357),(401,a+141),(401,a+259),(431,a+77),(431,a+353),(433,a+131),(433,a+301),(449,a+29),(449,a+419),(461,a+60),(461,a+400),(467,a+96),(467,a+370),(479,a+30)] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [1, -1, 1, 2, -2, -3, -3, -3, 3, -1, 1, -6, 6, -12, -6, 6, -8, -8, 1, 1, -9, 9, -14, 14, -13, -7, -7, -10, 10, 0, 0, -13, -13, -8, -8, -17, 17, 25, 24, -24, -2, -2, 15, -15, 22, 22, 4, 4, -8, 8, -20, -20, -16, 16, 0, 0, 3, -3, 28, 28, 15, -15, -12, -12, 20, -20, 3, 3, -18, 18, -30, -30, 34, -34, 37, -17, -17, -4, -4, 30, 30, 11, -11, 4, -4, 32, 32, 15, -15, 15, -15, 1, 1, 34, -34, -40, 40, 8, -8, 21] 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]