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