""" 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((160, 160*i)) 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, 1, 6, 2, -2, -2, -2, -2, 2, 6, -6, -6, -6, 2, 6, -6, -2, 2, 6, 6, 6, 6, 14, 14, -6, 6, 14, -14, 18, 18, 6, 10, 10, -10, 10, 2, -2, 14, -14, -10, 10, 14, 14, 22, -22, -26, 26, 6, 6, -2, -2, -30, -30, -14, 14, 10, -10, -10, -10, 26, -26, 26, 26, 18, -18, -14, -14, -30, 30, 2, 2, 22, -22, 22, -6, 6, -2, 2, -18, -18, 10, 10, -6, 6, -2, -2, -18, -18, 10, 10, -18, 18, 2, -2, 10, 10, -30, -2, 2, 14, -14, -22, -22, 2, 2, 18, 18, -10, -10, -42, 42, 6, 6, -18, -18, -34, 34, -42, 42, -18, -18, -22, 22, 34, -34, -38, 38, -30, 30, 10, -10, -6, -6, -34, -34, 42, -42, -18, 18, 42, 42, -22, 22, 2, -2, -38, 38, -6, -6, 46, -46, -30, -30, 14, 14, 38, 38, -46, 46, -6, -6, 2, -2, -2, 42, -42, 46, 46, -38, 38, -2, 2, -26, -26, 6, 6, 38, -38, -46, 46, 10, -10, -58, -58, 10, -10, 62, -62, 26, 26, 2, 2, -34, 34, -26, -26, -30, -30, -18] 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((2*i + 1,))] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]