def test_hecke_operator(self): es4, es6, _, _, _ = degree2_modular_forms_ring_level1_gens(10) self.assertEqual(es4.hecke_operator_acted(2, 5), 45 * es4._down_prec(5)) f10 = rankin_cohen_pair_sym(2, es4, es6) self.assertEqual(f10.hecke_operator_acted(2, 5), -6168 * f10._down_prec(5))
def test_divide_vector_valued(self): prec = 6 x10 = x10_with_prec(prec + 1) es4 = eisenstein_series_degree2(4, prec + 1) es6 = eisenstein_series_degree2(6, prec + 1) f = rankin_cohen_pair_sym(2, es4, es6) g = f * x10 self.assertEqual(f._down_prec(prec), g.divide(x10, prec, parallel=True))
def rankin_cohen_quadruple_det_sym_1(j, f1, f2, f3, f4): """ Returns a modular form of wt sym(j) det^(sum + 1). """ F = rankin_cohen_pair_sym(j, f1, f2) * f3 return vector_valued_rankin_cohen(f4, F)