""" 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((96, 96*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, 0, 0, 6, 6, -4, -4, 2, 6, 6, -4, -4, -2, 12, 12, 4, 4, -2, -2, 0, 0, -6, -6, -2, -2, 12, 12, -6, -6, 12, 12, 6, 6, -20, -20, 20, 20, -26, -12, -12, 2, 2, 4, 4, 24, 24, 18, 18, -22, -22, 0, 0, 18, 18, -30, -30, 4, 4, 4, 4, 26, 26, -20, -20, 22, 22, -24, -24, -6, -6, 20, 20, 6, 6, 22, 22, -24, -24, -2, -2, -24, -24, 6, 6, 22, 22, 24, 24, 36, 36, 28, 28, -18, -18, 20, 20, 2, -28, -28, -24, -24, 6, 6, 4, 4, -2, -2, -12, -12, -6, -6, -26, -26, 18, 18, 4, 4, -18, -18, -28, -28, 12, 12, -2, -2, 0, 0, -28, -28, 28, 28, -18, -18, -46, -46, -4, -4, 54, 54, 20, 20, 12, 12, -46, -42, -42, -4, -4, -30, -30, 20, 20, -52, -52, 6, 6, 26, 26, 36, 36, 30, 30, -50, 48, 48, 54, 54, -2, -2, 36, 36, 26, 26, 18, 18, -44, -44, 48, 48, 18, 18, 28, 28, 50, 50, 50, 50, 12, 12, -20, -20, 12, 12, 18, 18, 46, 46, 42] 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 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]