Example #1
0
def save_sym8_odd_form(key, prec=sym8_odd_prec):
    fname = fname_sym8_odd(key, prec)
    if os.path.exists(fname):
        return None
    es4, es6, x10, x12, x35 = degree2_modular_forms_ring_level1_gens(prec)
    if key in sym8_odd_dct:
        wt_dcts = sym8_odd_dct[key]
        gens_dct = {4: es4, 6: es6, 10: x10, 12: x12, 35: x35}
        fs = [mul([gens_dct[k]**i for k, i in d.items()]) for d in wt_dcts]
        f = rankin_cohen_triple_det_sym8(*fs)
    elif key == "h15":
        f10 = rankin_cohen_pair_x5(_rankin_cohen_pair_sym_pol(8, 5, 5), prec)
        f = vector_valued_rankin_cohen(es4, f10)
    elif key == "h17":
        f12 = rankin_cohen_pair_det2_sym(8, es4, es6)
        f = vector_valued_rankin_cohen(es4, f12)
    f.save_as_binary(fname)
Example #2
0
 def monom_mul(tpl, v, flist):
     tpls = group(tpl, 3)
     l = zip(flist, tpls)
     return ((v * mul([QQ(2) ** (-t[1]) for _, t in l])) *
             mul((f._differential_operator_monomial(*t) for f, t in l)))
Example #3
0
 def interpolate_pol(x, d):
     prd = mul([x - a for a in d])
     prd_dff = prd.derivative(x)
     return sum([v * prd_dff.subs({x: k}) ** (-1) * prd // (x - k)
                 for k, v in d.items()])