""" 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((462, 42*a + 210)) 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 = [-1, -1, -1, 2, 0, 1, 6, -4, -4, -4, 12, -8, 0, -2, 1, 4, -6, 4, -4, 8, -8, 12, -2, 10, 14, -10, 6, -14, -14, -10, -6, 18, 14, -18, 14, -4, 12, 6, 4, 12, 8, -20, -24, 6, 16, -20, -6, 14, -22, -6, 12, 4, 2, -6, 10, 8, -10, -10, 12, -10, -6, -12, 22, -28, -20, -6, 34, 10, 30, 26, -28, 4, -18, 28, 30, 8, -28, 8, 18, 6, 12, -36, 36, 40, -26, -10, 8, 12, 6, 14, 28, 8, -20, -12, -14, 2, -28, -32, -14, -40, -18, 22, 14, -18, 28, -28, -30, -16, 26, -34, -44, -8, -34, -14, 42, -2, -20, -16, 42, -40, -42, -36, -10, -50, -28, 24, -36, 8, -4, 20, -30, 24, 12, 40, 14, 18, -32, -28, -54, 24, 4, -26, -44, -4, -4, -12, -36, 18, -10, -8, -40, -8, -34, 26, 50, -4, 20, -28, -44, -6, -24, -34, -34, -36, 36, 36, -20, -10, 30, -18, 28, 2, -10, -6, 12, -28, 48, 22, 26, 2, 42, 20, -42, -34, -22, -4, -48, 58, -24, -42, 0, 40, -60, 6, -18, 60, 0, 18, 0, 6] 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((a - 1,))] = 1 AL_eigenvalues[ZF.ideal((2,))] = 1 AL_eigenvalues[ZF.ideal((-2*a + 1,))] = -1 AL_eigenvalues[ZF.ideal((7,))] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]