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