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))
def test_interpolate(self): prec = 15 es4 = eisenstein_series_degree2(4, prec) x35 = x35_with_prec(prec) f = es4.differentiate_wrt_tau() self.assertEqual(calc_forms(lambda fs: fs[0] ** 2, [es4], prec, wt=8), es4 ** 2) self.assertEqual(calc_forms(lambda fs: fs[0] * fs[1], [es4, x35], prec, wt=39), es4 * x35) self.assertEqual(calc_forms(lambda fs: fs[0] ** 2, [f], prec, autom=False), f ** 2)
from degree2.all import ( rankin_cohen_pair_sym, eisenstein_series_degree2, x10_with_prec, x12_with_prec, x35_with_prec, rankin_cohen_pair_det2_sym, rankin_cohen_triple_det_sym4) from degree2.interpolate import det_deg2 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