""" 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((448, 64*a + 192)) 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, -6, 4, 4, 0, 0, -6, -6, -6, 2, 2, 4, 4, -6, -6, 4, 4, -8, -8, 16, 16, 12, 12, 10, 10, 2, 2, -8, -8, -6, -6, -6, -6, 0, 0, 12, 12, -22, 4, 4, -16, -16, -14, -14, -6, -6, -12, -12, -22, -22, 8, 8, 24, 24, -22, -22, -6, -6, 2, -30, -30, 4, 4, 2, 2, -12, -12, 0, 0, 26, 26, 26, 4, 4, 2, 2, 18, 18, 26, 26, -8, -8, -36, -36, 34, 34, -38, -38, -16, -16, -16, -16, 12, 12, 4, 4, -14, -14, -36, -36, -14, -14, 26, 26, -28, -28, -24, -24, 18, 18, -38, -38, 24, 24, -30, -30, 26, 26, 12, 12, -14, -14, -36, -36, 42, 42, -30, -30, -52, -52, 32, 32, -8, -8, 2, 2, 26, 26, 10, 10, 24, 24, 28, 28, 16, 16, -6, -6, 20, 20, 28, 28, 24, 24, -40, -40, -52, -52, -6, -6, 2, -16, -16, 2, 2, -16, -16, 2, 2, 60, 60, 24, 24, -22, -22, -4, -4, -46, -46, -56, -56, -14, -14, -40, -40, 18, 18, -38, -38, -4, -4, 20, 20, 36, 36, 2, 2, -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*a + 1,))] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]