""" 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((1200, 16*a + 656)) 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 = [3, -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,))] = 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]