""" 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([3, -1, 1]) F = NumberField(g, "a") a = F.gen() ZF = F.ring_of_integers() NN = ZF.ideal((1800, 8*a + 1128)) primes_array = [ (-a,),(a-1,),(2,),(-a-1,),(a-2,),(-2*a+1,),(a+4,),(a-5,),(-3*a+4,),(3*a+1,),(-3*a-2,),(3*a-5,),(-2*a+7,),(2*a+5,),(7,),(-4*a+5,),(4*a+1,),(a+7,),(a-8,),(-3*a-5,),(3*a-8,),(-5*a+1,),(5*a-4,),(5*a+2,),(5*a-7,),(-3*a+10,),(3*a+7,),(-6*a+1,),(6*a-5,),(a+10,),(a-11,),(7*a-5,),(7*a-2,),(-3*a+13,),(3*a+10,),(-6*a-5,),(6*a-11,),(13,),(-5*a+13,),(-5*a-8,),(-3*a-11,),(3*a-14,),(-7*a+11,),(-7*a-4,),(-6*a+13,),(6*a+7,),(9*a-5,),(9*a-4,),(9*a-7,),(9*a-2,),(-5*a+16,),(5*a+11,),(-8*a-5,),(-8*a+13,),(-4*a+17,),(4*a+13,),(17,),(-10*a+11,),(10*a+1,),(-9*a+14,),(-9*a-5,),(7*a+10,),(7*a-17,),(-3*a+19,),(3*a+16,),(-11*a+1,),(11*a-10,),(19,),(-3*a-17,),(3*a-20,),(-9*a-8,),(9*a-17,),(a+19,),(a-20,),(11*a+2,),(11*a-13,),(-12*a+5,),(12*a-7,),(-8*a+19,),(-8*a-11,),(10*a-17,),(10*a+7,),(-12*a+1,),(12*a-11,),(-9*a+19,),(9*a+10,),(11*a+5,),(11*a-16,),(5*a+17,),(5*a-22,),(9*a+11,),(9*a-20,),(-13*a+8,),(13*a-5,),(-3*a-20,),(3*a-23,),(-6*a-17,),(6*a-23,),(a+22,),(a-23,),(-13*a+14,),(13*a+1,),(-3*a+25,),(3*a+22,),(-2*a+25,),(2*a+23,),(10*a+13,),(10*a-23,),(-8*a+25,),(8*a+17,),(15*a-8,),(15*a-7,),(-15*a+4,),(-15*a+11,),(7*a-26,),(7*a+19,),(9*a-25,),(9*a+16,),(-13*a+20,),(-13*a-7,),(a+25,),(a-26,),(-15*a+1,),(15*a-14,),(-14*a+19,),(-14*a-5,),(-15*a+16,),(15*a+1,),(15*a+2,),(15*a-17,),(-5*a+28,),(-5*a-23,),(-3*a+28,),(3*a+25,),(-15*a+19,),(-15*a-4,),(-12*a+25,),(12*a+13,),(-4*a+29,),(4*a+25,),(-17*a+7,),(17*a-10,),(9*a+20,),(9*a-29,),(15*a+7,),(15*a-22,),(-11*a+28,),(-11*a-17,),(29,),(-15*a+23,),(-15*a-8,),(-14*a-11,),(-14*a+25,),(-5*a+31,),(5*a+26,),(-6*a+31,),(6*a+25,),(-18*a+13,),(18*a-5,),(-2*a+31,),(2*a+29,),(-16*a+23,),(16*a+7,),(-7*a+32,),(-7*a-25,),(13*a+16,),(13*a-29,),(-17*a+22,),(17*a+5,),(11*a-31,),(11*a+20,),(-18*a+19,),(18*a+1,),(-19*a+5,),(-19*a+14,),(12*a+19,),(-12*a+31,),(15*a-28,),(15*a+13,),(19*a-17,),(19*a-2,),(-5*a-29,),(5*a-34,),(-18*a-5,),(18*a-23,),(9*a-34,),(9*a+25,),(-19*a+20,),(19*a+1,),(-20*a+7,),(-20*a+13,),(-6*a-29,),(6*a-35,),(-9*a-26,),(9*a-35,),(-15*a+31,),(15*a+16,),(-20*a+1,),(20*a-19,),(a+34,)] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [0, 2, 0, 0, 2, 6, 6, -4, -6, -2, 2, 2, 8, -6, -6, 6, -2, 12, 4, -2, 12, 4, 0, 14, 18, 2, -14, -14, -8, 2, 6, 18, 10, 2, 14, 16, 14, -2, -10, 2, -2, -18, -6, 18, -20, -4, -8, 14, -26, -26, 24, 4, 2, -18, 14, -10, -22, -12, 0, 10, 22, 6, -6, 18, -2, -18, -6, -6, -8, -30, 0, -8, 6, -28, 38, 14, 10, 2, -22, 22, -2, -30, 6, -2, -30, 10, 20, -6, -14, 6, 6, 32, 24, 26, 14, 16, 20, -20, -6, 30, 18, 22, -10, 38, -38, -24, -18, 18, 38, -26, -14, 34, -44, 8, 30, 26, 4, -14, 2, 36, -14, 34, -42, 10, 6, -4, -4, -8, 26, -22, 14, -14, 8, 18, 52, -40, -34, 38, 42, -38, 18, 22, -32, -14, 26, -38, -36, -20, 6, -6, -38, -26, -20, 26, 18, 58, -16, -28, 26, 30, -34, 30, -18, 32, 30, -58, -18, -46, -38, -54, -56, 2, 6, 50, -58, 42, -38, -10, 14, 42, 30, -10, -54, 14, 20, 22, -6, 44, 2, 18, -50, -6, -32, -18, -18, -52, -8, -62, -62, -30] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal((-a,))] = -1 AL_eigenvalues[ZF.ideal((2,))] = 1 AL_eigenvalues[ZF.ideal((-a - 1,))] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]