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