""" 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((61009, a + 653)) primes_array = [ (a+1,),(2,),(-a-2,),(a-3,),(a+3,),(a-4,),(-2*a+5,),(2*a+3,),(5,),(a+5,),(a-6,),(-3*a+7,),(3*a+4,),(a+6,),(a-7,),(-4*a+9,),(4*a+5,),(-2*a+9,),(2*a+7,),(a+8,),(a-9,),(-3*a+10,),(3*a+7,),(-3*a-8,),(3*a-11,),(-2*a+11,),(2*a+9,),(5*a+7,),(5*a-12,),(11,),(-6*a+13,),(6*a+7,),(-3*a+13,),(3*a+10,),(-5*a-9,),(5*a-14,),(a+12,),(a-13,),(-3*a-11,),(3*a-14,),(-4*a-11,),(4*a-15,),(7*a+9,),(7*a-16,),(-2*a+15,),(2*a+13,),(a+14,),(a-15,),(-6*a-11,),(6*a-17,),(5*a+12,),(5*a-17,),(a+15,),(a-16,),(-9*a+19,),(9*a+10,),(7*a-19,),(7*a+12,),(-6*a+19,),(6*a+13,),(17,),(a+17,),(a-18,),(-3*a+19,),(3*a+16,),(-10*a+21,),(10*a+11,),(-8*a-13,),(-8*a+21,),(-3*a-17,),(3*a-20,),(9*a+13,),(9*a-22,),(-4*a+21,),(4*a+17,),(-7*a+22,),(7*a+15,),(-11*a+23,),(11*a+12,),(-8*a-15,),(8*a-23,),(a+20,),(a-21,),(11*a+13,),(11*a-24,),(-5*a+23,),(-5*a-18,),(7*a+17,),(7*a-24,),(a+21,),(a-22,),(-2*a+23,),(2*a+21,),(-7*a+25,),(-7*a-18,),(-9*a-17,),(9*a-26,),(23,),(-4*a+25,),(4*a+21,),(-13*a+27,),(13*a+14,),(-5*a+26,),(5*a+21,),(-8*a+27,),(-8*a-19,),(a+24,),(a-25,),(-3*a-23,),(3*a-26,),(-9*a+28,),(9*a+19,),(5*a+22,),(5*a-27,),(-14*a+29,),(14*a+15,),(-11*a-18,),(-11*a+29,),(9*a+20,),(9*a-29,),(-8*a-21,),(-8*a+29,),(-11*a-19,),(-11*a+30,),(-3*a+28,),(3*a+25,),(-13*a-18,),(13*a-31,),(12*a+19,),(-12*a+31,),(7*a+23,),(7*a-30,),(-10*a+31,),(10*a+21,),(a+27,),(a-28,),(15*a+17,),(15*a-32,),(-2*a+29,),(2*a+27,),(-6*a+31,),(6*a+25,),(-14*a+33,),(-14*a-19,),(-13*a+33,),(-13*a-20,),(29,),(-4*a-27,),(4*a-31,),(10*a+23,),(10*a-33,),(-3*a+31,),(3*a+28,),(13*a-34,),(-13*a-21,),(7*a-33,),(7*a+26,),(-17*a+35,),(17*a+18,),(-3*a-29,),(3*a-32,),(-7*a-27,),(7*a-34,),(-9*a-26,),(9*a-35,),(13*a-36,),(13*a+23,),(-8*a+35,),(-8*a-27,),(-11*a+36,),(-11*a-25,),(16*a+21,),(16*a-37,),(15*a+22,),(15*a-37,),(-6*a-29,),(6*a-35,),(-3*a+34,),(3*a+31,),(-12*a+37,),(12*a+25,),(17*a+21,),(17*a-38,),(-7*a+36,),(7*a+29,),(-9*a+37,),(9*a+28,),(a+33,),(a-34,),(-3*a-32,),(3*a-35,),(-16*a+39,),(16*a+23,),(-14*a-25,),(-14*a+39,),(19*a+21,),(19*a-40,),(-11*a+39,),(-11*a-28,),(-10*a-29,),(10*a-39,),(-4*a+37,),(4*a+33,),(-13*a+40,),(13*a+27,),(-5*a+38,),(-5*a-33,),(-15*a-26,),(-15*a+41,),(-7*a+39,),(-7*a-32,),(-14*a-27,),(14*a-41,),(9*a+31,),(9*a-40,),(-19*a+42,),(-19*a-23,),(-4*a-35,),(4*a-39,),(-18*a-25,),(18*a-43,),(11*a-42,),(11*a+31,),(15*a-43,),(15*a+28,),(-2*a+39,),(2*a+37,),(21*a+23,),(21*a-44,),(13*a+30,),(13*a-43,),(-6*a-35,),(6*a-41,),(a+38,),(a-39,),(-3*a+40,),(3*a+37,),(19*a+26,),(-19*a+45,),(9*a-43,),(9*a+34,),(-17*a-28,),(-17*a+45,),(-3*a-38,),(3*a-41,),(5*a+37,),(5*a-42,),(-7*a+43,),(7*a+36,),(13*a+32,),(13*a-45,),(-9*a-35,),(9*a-44,),(-6*a+43,),(6*a+37,),(-23*a+47,),(23*a+24,),(21*a+26,),(21*a-47,),(-20*a+47,),(-20*a-27,),(41,),(-4*a-39,),(4*a-43,),(17*a-47,),(17*a+30,),(a+41,),(a-42,),(-5*a-39,),(5*a-44,),(-14*a+47,),(-14*a-33,),(-19*a+48,),(-19*a-29,),(7*a+38,),(7*a-45,),(-17*a-31,),(-17*a+48,),(-9*a+46,),(9*a+37,),(-12*a-35,),(12*a-47,),(-24*a+49,),(24*a+25,),(19*a-49,),(-19*a-30,),(-4*a+45,),(4*a+41,),(9*a+38,),(9*a-47,),(-16*a+49,),(16*a+33,),(-23*a+50,),(-23*a-27,),(13*a-49,),(13*a+36,),(-25*a+51,),(25*a+26,),(-3*a+46,),(3*a+43,),(19*a-51,),(19*a+32,),(5*a+42,),(5*a-47,),(-10*a-39,),(10*a-49,),(-7*a-41,),(7*a-48,),(25*a+27,),(25*a-52,),(21*a+31,),(21*a-52,),(-14*a-37,),(-14*a+51,),(-5*a+48,),(-5*a-43,),(-24*a+53,),(-24*a-29,),(-9*a+50,),(-9*a-41,),(-21*a+53,),(-21*a-32,),(-6*a+49,),(6*a+43,),(-11*a-40,),(-11*a+51,),(-18*a-35,),(18*a-53,),(-23*a+54,),(-23*a-31,),(47,),(-4*a+49,),(4*a+45,),(-15*a+53,),(-15*a-38,),(19*a-54,),(19*a+35,),(-27*a+55,),(27*a+28,),(-24*a+55,),(24*a+31,),(-17*a+54,),(-17*a-37,),(7*a+44,),(7*a-51,),(21*a+34,),(-21*a+55,),(19*a-55,),(19*a+36,),(11*a-53,),(11*a+42,),(-5*a+51,),(5*a+46,),(-23*a+56,),(23*a+33,),(13*a+41,),(13*a-54,),(7*a+45,),(7*a-52,),(-28*a+57,),(28*a+29,),(23*a+34,),(23*a-57,),(-17*a+56,),(17*a+39,),(-2*a+51,),(-2*a-49,),(-15*a-41,),(-15*a+56,),(25*a+33,),(25*a-58,),(a+50,),(a-51,),(-3*a+52,),(3*a+49,),(16*a+41,),(-16*a+57,),(-27*a+59,),(27*a+32,),(-14*a+57,),(14*a+43,),(-3*a-50,),(3*a-53,),(-5*a-49,),(5*a-54,),(-13*a-44,),(13*a-57,),(21*a-59,),(21*a+38,),(-7*a-48,),(7*a-55,),(-2*a+53,),(-2*a-51,),(9*a+47,),(9*a-56,),(15*a-58,),(15*a+43,),(-6*a+55,),(6*a+49,),(23*a-60,),(-23*a-37,),(17*a+42,),(17*a-59,),(-30*a+61,),(30*a+31,),(-28*a-33,),(28*a-61,),(-27*a+61,),(-27*a-34,),(53,),(24*a+37,),(-24*a+61,),(-14*a+59,),(-14*a-45,),(-8*a+57,),(8*a+49,),(29*a+33,),(29*a-62,),(-12*a-47,),(12*a-59,),(-11*a+59,),(-11*a-48,),(a+54,),(a-55,),(16*a-61,),(16*a+45,),(-25*a+63,),(-25*a-38,),(-4*a+57,),(4*a+53,),(-23*a-40,),(-23*a+63,),(11*a+49,),(11*a-60,),(22*a-63,),(22*a+41,),(-17*a-45,),(-17*a+62,),(-20*a+63,),(-20*a-43,),(25*a-64,),(-25*a-39,),(-6*a-53,),(6*a-59,),(-32*a+65,),(32*a+33,),(29*a+36,),(29*a-65,),(-17*a-46,),(17*a-63,),(-16*a-47,),(16*a-63,),(-7*a+60,),(-7*a-53,),(9*a-61,),(9*a+52,),(-23*a-42,),(-23*a+65,),(-31*a+66,),(-31*a-35,),(21*a+44,),(21*a-65,),(a+57,),(a-58,),(-3*a-56,),(3*a-59,),(13*a-63,),(13*a+50,),(25*a-66,),(-25*a-41,),(7*a-61,),(7*a+54,),(-15*a+64,),(-15*a-49,),(31*a+36,),(31*a-67,),(-6*a+61,),(6*a+55,),(-13*a-51,),(13*a-64,),(-24*a-43,),(-24*a+67,),(19*a+47,),(19*a-66,),(33*a+35,),(33*a-68,),(59,),(-22*a+67,),(22*a+45,),(-14*a-51,),(-14*a+65,),(-27*a+68,),(-27*a-41,),(-8*a-55,),(8*a-63,),(a+59,),(a-60,),(-3*a+61,),(3*a+58,),(5*a+57,)] primes = [ZF.ideal(I) for I in primes_array] heckePol = x K = QQ e = 1 hecke_eigenvalues_array = [-2, -2, -1, -1, 0, -5, 0, -3, -5, -1, 9, -4, -5, -2, 3, 4, -8, -1, 14, -7, -2, -13, -11, 0, -5, -2, -18, -7, -12, -19, -19, -6, -13, 7, 6, -4, -20, 9, 10, 3, -21, -17, -8, -12, 3, 9, 6, -8, -5, -3, 1, 9, -1, 9, 21, 27, -9, 15, 3, 17, 19, 11, -16, -7, 0, -19, -17, -20, -11, -9, -7, 5, 5, -25, -2, -22, -1, 35, -25, -17, 13, -33, 24, 18, -20, 21, 23, -21, 4, 2, -22, 19, -25, 27, -32, 5, 40, 11, 21, -13, -25, 9, 23, 43, -44, -16, 21, -16, -6, -5, -47, -25, 17, -17, 4, -34, 27, 33, 4, -1, 8, -7, 1, 22, 12, -32, 51, -21, 13, 7, 13, -19, -26, 11, 9, 21, -23, 28, 51, 5, 18, 41, -12, -10, -17, 32, -23, 35, 47, 22, 7, -40, -45, -35, -27, -24, -34, -6, 23, -16, 1, -11, -30, -39, -11, 1, 19, -4, 47, 7, -8, -25, -43, 22, -37, -49, -26, 50, -43, -52, -32, 49, 35, -52, 25, -44, -59, 18, -45, 52, 7, -35, 43, 1, -11, -3, 6, 17, 27, 31, -23, 69, 41, -49, -67, -33, 68, 38, 19, 1, 35, -2, 65, 31, 18, -14, -21, -3, -47, -3, 37, -13, 23, 64, 23, 20, 35, -47, 68, 1, -16, 59, 57, -13, -53, -33, -31, -1, 27, -17, -13, 33, -47, 25, 29, 31, 51, 56, 41, 8, 17, 49, -23, -26, -15, 29, 35, -78, -55, -32, 17, 44, 32, -28, -13, 8, 45, -77, -68, -12, 11, -29, -68, 62, -29, -63, 44, 70, -13, -5, 8, 53, 13, 11, 51, 9, 27, -1, 15, 79, -8, -68, 17, 53, -13, 23, 7, -69, 1, -14, -27, -32, -31, 54, 11, -49, -56, 6, 33, 12, -73, -13, -3, -30, -72, -73, 32, 32, 49, -14, -71, 25, 37, -38, -61, -39, 6, 17, 73, -58, -73, -73, 41, -17, -67, 6, 59, 47, -4, -16, -69, -25, -5, 17, -35, 54, 71, -78, -61, -14, 10, -59, -7, -41, -5, -83, 82, -8, 24, 9, -29, 65, -11, 35, 7, 50, -5, -74, 67, -46, 67, -83, -91, 26, 79, -43, 65, 55, -25, 11, 51, -87, 49, 86, 49, -66, 5, -58, -35, 97, -28, 66, 91, -67, 93, 11, -93, -33, -14, 3, -17, -35, -34, -49, -29, 16, -1, -18, -67, -37, 17, 37, -18, 99, -49, -46, 61, -71, 71, -30, 72, -97, -48, 91, 91, -49, -23, -49, -24, 85, -44, -62, -34, -59, 26, -26, 47, -67, 72, -39, -109, 61, -77, 55, -53, 83, -52, 49, -75, -69, 40, 96, -23, 57, -68, -53, -37, -103, 33, 86, -47, 79, 71, -11, 67, -80, -91, 87, 97, 37, -13, -100, -51, 36, 80, 68, -46, 41, -52, 43, -19, 19, -82, -107, -83, 89, -37, -97, 9, 94, -17, -79, 71, 8, 33, -9, 59, 79, 34, -13] 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 + 3,))] = 1 AL_eigenvalues[ZF.ideal((-2*a + 5,))] = -1 # EXAMPLE: # pp = ZF.ideal(2).factor()[0][0] # hecke_eigenvalues[pp]