""" 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((1800, 24*a + 1584)) 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, 0, 1, 6, 0, -4, -3, -10, 2, 4, -7, -3, 6, -9, -4, 6, 4, 11, -12, -8, -9, -8, 15, 16, 16, -13, -14, 2, -12, -6, -8, 23, 13, -14, -11, -1, 1, -11, -7, 6, 9, -12, -11, -16, -23, -14, -2, -14, 3, -23, -17, 0, -31, 8, 16, -6, -12, -10, 34, 30, -9, 15, 2, 12, -3, -24, 4, 24, 30, 13, 30, 14, -1, -16, 20, 2, 10, -10, -19, -12, 27, -22, 6, 22, -28, 0, -25, 6, 36, -19, -24, 22, 40, -2, -34, -5, 42, 18, 30, -40, -2, -19, -22, 30, -24, -6, -38, -41, -4, -37, -23, -22, 18, -2, 46, 8, -14, -24, -14, -1, 27, 25, -36, -16, -1, 10, 10, 22, -41, -16, -40, -12, -11, -22, -2, 41, -18, -20, -18, 8, -20, 32, 28, 2, 48, 10, -30, -48, 44, 2, -50, 2, 12, -10, 29, 35, -32, -27, 31, 30, 21, 44, -3, 22, 6, -52, 47, 6, 4, -2, 24, 26, 28, 30, -40, 19, 28, -39, -30, -13, 0, -62, 29, -55, -27, -40, -53, -45, -34, -12, 43, -9, -6, -4, -32, 52, -38, 3] 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 AL_eigenvalues[ZF.ideal((-a - 1,))] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]