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