""" 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([18, -1, 1]) F = NumberField(g, "a") a = F.gen() ZF = F.ring_of_integers() NN = ZF.ideal((24, 24*a)) primes_array = [ (2,a),(2,a+1),(3,a),(3,a+2),(5,a+1),(5,a+3),(19,a+4),(19,a+14),(29,a+12),(29,a+16),(37,a+7),(37,a+29),(43,a+15),(43,a+27),(7,),(-2*a+1,),(73,a+20),(73,a+52),(79,a+30),(79,a+48),(83,a+28),(83,a+54),(89,a+37),(89,a+51),(101,a+31),(101,a+69),(103,a+24),(103,a+78),(-2*a+7,),(2*a+5,),(109,a+46),(109,a+62),(11,),(131,a+22),(131,a+108),(151,a+34),(151,a+116),(157,a+68),(157,a+88),(167,a+25),(167,a+141),(13,),(179,a+32),(179,a+146),(191,a+43),(191,a+147),(199,a+19),(199,a+179),(223,a+89),(223,a+133),(229,a+85),(229,a+143),(233,a+83),(233,a+149),(251,a+77),(251,a+173),(263,a+39),(263,a+223),(271,a+73),(271,a+197),(277,a+57),(277,a+219),(17,),(-4*a+5,),(4*a+1,),(311,a+96),(311,a+214),(313,a+122),(313,a+190),(359,a+65),(359,a+293),(367,a+162),(367,a+204),(373,a+136),(373,a+236),(379,a+47),(379,a+331),(409,a+187),(409,a+221),(419,a+158),(419,a+260),(431,a+152),(431,a+278),(463,a+199),(463,a+263),(499,a+189),(499,a+309),(503,a+134),(503,a+368),(-4*a+17,),(4*a+13,),(521,a+216),(521,a+304),(23,),(547,a+114),(547,a+432),(557,a+258),(557,a+298),(569,a+238),(569,a+330)] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [0, 0, -1, -1, -2, -2, -4, -4, 6, 6, 6, 6, 4, 4, -14, 8, 10, 10, -8, -8, -4, -4, -6, -6, -18, -18, 16, 16, -12, -12, -2, -2, -6, -4, -4, -16, -16, -2, -2, 24, 24, -22, 12, 12, 0, 0, 16, 16, -8, -8, 22, 22, 10, 10, 20, 20, -8, -8, 8, 8, -26, -26, -30, -18, -18, -24, -24, -6, -6, -24, -24, -8, -8, -10, -10, 20, 20, -6, -6, 12, 12, 32, 32, 8, 8, 12, 12, 24, 24, 6, 6, 26, 26, 18, 44, 44, -26, -26, 10, 10] 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 AL_eigenvalues[ZF.ideal((3, a + 2))] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]