コード例 #1
0
ファイル: even_structure.py プロジェクト: stakemori/degree2
def det_of_gens(prec):
    d = calculator.forms_dict(prec)
    cs = gen_consts()[:11]
    wt = sum([c.weight() for c in cs]) + (10 * 11) // 2
    mat = [d[c].forms for c in cs]
    f = det_deg2(mat, wt=wt)
    f.save_as_binary(os.path.join(data_dir, "gens_even_det.sobj"))
コード例 #2
0
def det_sym8_odd(prec=sym8_odd_prec):
    fname = fname_sym8_odd("f187", prec)
    if os.path.exists(fname):
        return None
    keys = ["f13", "f15", "g15", "f17", "g17", "f19", "f23", "h15", "h17"]
    lst = [SWMFE.load_from(fname_sym8_odd(key, prec)) for key in keys]
    f187 = det_deg2([f.forms for f in lst], autom=True,
                    wt=sum([f.wt for f in lst]) + 36)
    f187.save_as_binary(fname)
コード例 #3
0
ファイル: test_interpolate.py プロジェクト: stakemori/degree2
 def test_det(self):
     prec = 10
     l = [eisenstein_series_degree2(k, prec) for k in [4, 6, 10, 12]]
     m = [[a.wt * a for a in l],
          [a.differentiate_wrt_tau() for a in l],
          [a.differentiate_wrt_w() for a in l],
          [a.differentiate_wrt_z() for a in l]]
     d = det_deg2(m, wt=35)
     d = d * d[(2, -1, 3)] ** (-1)
     self.assertEqual(d, x35_with_prec(prec))
コード例 #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
コード例 #5
0
def diff_opetator_4(f1, f2, f3, f4):
    l = [f1, f2, f3, f4]
    wt_s = [f.wt for f in l]
    prec_res = common_prec(l)
    base_ring = common_base_ring(l)
    m = [[a.wt * a for a in l],
         pmap(lambda a: a.differentiate_wrt_tau(), l),
         pmap(lambda a: a.differentiate_wrt_w(), l),
         pmap(lambda a: a.differentiate_wrt_z(), l)]
    res = det_deg2(m, wt=sum((f.wt for f in l)) + 1)
    res = ModFormQexpLevel1(
        sum(wt_s) + 3, res.fc_dct, prec_res, base_ring=base_ring)
    return res
コード例 #6
0
ファイル: sym4.py プロジェクト: stakemori/det_vec_vald_SMFs
prec_ev = 7

phi4 = eisenstein_series_degree2(4, prec_ev)
phi6 = eisenstein_series_degree2(6, prec_ev)
x10 = x10_with_prec(prec_ev)
x12 = x12_with_prec(prec_ev)
x35 = x35_with_prec(prec_ev)

f1 = rankin_cohen_pair_sym(4, phi4, phi4)
f2 = rankin_cohen_pair_sym(4, phi4, phi6)
f3 = rankin_cohen_pair_det2_sym(4, phi4, phi6)
f4 = rankin_cohen_pair_sym(4, phi4, x10)
f5 = rankin_cohen_pair_sym(4, phi6, x10)

x70 = det_deg2([f.forms for f in [f1, f2, f3, f4, f5]],
               wt=sum([f.wt for f in [f1, f2, f3, f4, f5]]) + 10)
y70 = x70 * QQ(-19945421021123916595200000)**(-1)
assert y70 == x35**2


prec_od = 10

e4 = eisenstein_series_degree2(4, prec_od)
e6 = eisenstein_series_degree2(6, prec_od)
x10 = x10_with_prec(prec_od)
x12 = x12_with_prec(prec_od)
x35 = x35_with_prec(prec_od)

g0 = rankin_cohen_triple_det_sym4(e4, e4, e6)
g1 = rankin_cohen_triple_det_sym4(e4, e6, e6)
g2 = rankin_cohen_triple_det_sym4(e4, e4, x10)