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