""" 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((121, 121*a)) 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, 0, -5, 0, 0, -9, -9, -1, 0, 0, 7, 7, 0, 0, 6, 6, 13, 13, -3, -3, 0, 0, 0, 0, 0, 0, 21, 21, 0, 0, -3, -3, 0, 0, 0, 0, -16, -16, -26, 21, 21, -15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34, -27, -27, 35, 35, 0, 0, 0, 0, 0, 0, -38, 0, 0, -25, -25, -15, -15, 30, 30, 10, 10, 0, 0, 21, 21, 39, 39, 0, 0, -31, -31, 43, 43, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -36, -36, 0, 0, -42, -42, 7, 7, -45, -45, 51, 51, 0, 0, 0, 0, 24, 24, 0, 0, 19, 19, 0, 0, 0, 0, -23, -23, -38, -38, 0, 0, 0, 0, -49, -49, 0, 0, -36, -36, 0, 0, -56, -56, 8, 8, -60, -60, 0, 0, 57, 57, 0, 0, -37, 0, 0, -27, -27, -20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 63, 28, 28, -59, -59, 21, 21, 0, 0, 0, 0, 0, 0, -47, -47, 0, 0, 0, 0, -1] hecke_eigenvalues = {} for i in range(len(hecke_eigenvalues_array)): hecke_eigenvalues[primes[i]] = hecke_eigenvalues_array[i] AL_eigenvalues = {} AL_eigenvalues[ZF.ideal((-2*a + 3,))] = 1 AL_eigenvalues[ZF.ideal((2*a + 1,))] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]