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