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