""" 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([24, -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+2),(11,a+4),(11,a+6),(13,a+1),(13,a+11),(19,a+9),(37,a+16),(37,a+20),(7,),(53,a+22),(53,a+30),(61,a+18),(61,a+42),(67,a+10),(67,a+56),(97,a+41),(97,a+55),(101,a+19),(101,a+81),(103,a+13),(103,a+89),(107,a+35),(107,a+71),(113,a+36),(113,a+76),(127,a+31),(127,a+95),(-2*a+7,),(2*a+5,),(139,a+52),(139,a+86),(149,a+29),(149,a+119),(167,a+44),(167,a+122),(173,a+61),(173,a+111),(191,a+33),(191,a+157),(193,a+85),(193,a+107),(199,a+84),(199,a+114),(223,a+51),(223,a+171),(227,a+70),(227,a+156),(229,a+67),(229,a+161),(-2*a+13,),(2*a+11,),(251,a+38),(251,a+212),(257,a+115),(257,a+141),(271,a+80),(271,a+190),(17,),(293,a+132),(293,a+160),(307,a+60),(307,a+246),(311,a+129),(311,a+181),(317,a+112),(317,a+204),(337,a+25),(337,a+311),(349,a+45),(349,a+303),(359,a+151),(359,a+207),(373,a+170),(373,a+202),(383,a+135),(383,a+247),(-4*a+5,),(4*a+1,),(-2*a+19,),(2*a+17,),(433,a+176),(433,a+256),(-4*a-7,),(4*a-11,),(479,a+43),(479,a+435),(487,a+93),(487,a+393),(491,a+88),(491,a+402),(499,a+54),(499,a+444),(523,a+64),(523,a+458),(23,),(541,a+118)] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [0, 0, -1, -1, -2, 4, 4, -2, -2, -4, 6, 6, -14, -2, -2, -2, -2, -4, -4, 2, 2, -18, -18, 16, 16, -12, -12, 18, 18, -8, -8, -4, -4, -12, -12, 14, 14, 24, 24, 6, 6, 0, 0, 2, 2, 16, 16, -8, -8, 12, 12, 22, 22, -16, -16, 20, 20, 2, 2, 8, 8, -30, -18, -18, 12, 12, -24, -24, 6, 6, 18, 18, 30, 30, -24, -24, -10, -10, 0, 0, -2, -2, 12, 12, -14, -14, -26, -26, -16, -16, -32, -32, -12, -12, 12, 12, 4, 4, 18, -18] 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]