""" 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((162, 162*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 = [-1, -1, -4, 0, 0, 0, 0, 0, -1, 9, 9, -1, -1, 8, 8, -6, -6, -4, -4, -12, -12, -16, -16, 12, 12, 11, 11, -15, -15, -16, -16, 9, 9, 9, 9, 8, 8, 8, 8, -25, 12, 12, 12, 12, -13, -13, -3, -3, 8, 8, 21, 21, 12, 12, 12, 12, -10, -10, -27, -27, -25, 21, 21, 20, 20, 2, 2, 12, 12, 0, 0, -22, -10, -10, -28, -28, -6, -6, -3, -3, -13, -13, -12, -12, -12, -12, -18, -18, -1, -1, 8, 8, -4, -4, 0, 0, -40, -40, -1, -1, 44, 44, -3, -3, -15, -15, -16, -16, -36, -36, 38, 38, -3, -3, 8, 8, 45, 45, 18, 18, 12, 12, 11, 11, 36, 36, -51, -51, 47, 47, 20, 20, 12, 12, 20, 20, 38, 38, -39, -39, -15, -15, 44, 44, -48, -48, 24, 24, -25, -25, -4, -4, -16, -16, 24, 24, -16, -16, -12, -12, 9, 9, -46, -4, -4, -18, -18, -52, -52, 11, 11, 36, 36, -12, -12, -13, -13, 8, 8, -27, -27, 32, 32, -13, -13, -48, -48, -61, -61, 26, 26, 24, 24, 8, 8, -12, -12, -1, -1, -34] 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((3,))] = 1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]