Example #1
0
def test_det_is_divisible_x35_fifth():
    prec = 18
    x35 = x35_with_prec(prec)
    f187 = ModFormQexpLevel1.load_from(os.path.join(data_dir,
                                                    "gens_even_det.sobj"))
    es4 = eisenstein_series_degree2(4, prec)
    es6 = eisenstein_series_degree2(6, prec)
    g = (x35 ** 5) * (es4 ** 3 - es6 ** 2)
    assert f187 * g[(16, 5, 10)] == g * f187[(16, 5, 10)]
Example #2
0
def polynomial_to_form(f, prec):
    es4 = eisenstein_series_degree2(4, prec)
    es6 = eisenstein_series_degree2(6, prec)
    x10 = x10_with_prec(prec)
    x12 = x12_with_prec(prec)
    x35 = x35_with_prec(prec)
    gens = [es4, es6, x10, x12, x35]

    def monom(t):
        return reduce(operator.mul, [f ** a for f, a in zip(gens, t)])
    return sum([a * monom(t) for t, a in f.dict().iteritems()])
Example #3
0
 def test_wt_35_eigenvalues(self):
     x35 = x35_with_prec([(12, 33, 27), (8, 35, 39), (34, -17, 51)])
     d = {2: -25073418240,
          3: -11824551571578840,
          4: 138590166352717152256,
          5: 9470081642319930937500,
          7: -10370198954152041951342796400,
          9: -96268467952179923650803475996239,
          11: -8015071689632034858364818146947656,
          13: -20232136256107650938383898249808243380,
          17: 118646313906984767985086867381297558266980}
     d1 = {m: x35.hecke_eigenvalue(m) for m in d.keys()}
     self.assertTrue(d == d1)
Example #4
0
def check_det_with_prec(prec):
    es4 = eisenstein_series_degree2(4, prec)
    es6 = eisenstein_series_degree2(6, prec)
    x35 = x35_with_prec(prec)
    f = (es4**3 - es6**2) * x35**6
    t = f._none_zero_tpl()
    d = calculator.forms_dict(prec)
    # Constructions of the first 11 generators.
    cs = list(sorted(calculator._const_vecs, key=lambda x: x.weight()))[:11]
    wt = sum(c.weight() for c in cs) + (10 * 11)//2
    mat = [d[c].forms for c in cs]
    det = det_deg2(mat, wt=wt)
    assert f[t] * det == det[t] * f
Example #5
0
ff_qsrx10 = qsrx10.change_ring(ffld)

dzx10 = x10.differentiate_wrt_z()

ff_dzx10 = dzx10.change_ring(ffld)

x12 = x12_with_prec(global_prec)
qsrx12 = QexpLevel1(x12.fc_dct, global_prec, is_cuspidal=True,
                    base_ring=ZZ)
dzx12 = x12.differentiate_wrt_z()

ff_x12 = x12.change_ring(ffld)
ff_qsrx12 = qsrx12.change_ring(ffld)
ff_dzx12 = dzx12.change_ring(ffld)

x35 = x35_with_prec(global_prec)
ff_x35 = x35.change_ring(ffld)

dct_of_forms = {"es4": es4,
                "qsres4": qsres4,
                "es6": es6,
                "qsres6": qsres6,
                "x10": x10,
                "qsrx10": qsrx10,
                "x12": x12,
                "qsrx12": qsrx12,
                "dzx10": dzx10,
                "dzx12": dzx12,
                "x35": x35,
                "2": 2,
                "0": 0,
Example #6
0
 def test_x35(self):
     x35 = x35_with_prec(global_prec)
     self.assertTrue(self.sub_dct(x35) == fc_dct35)