示例#1
0
 def divide(self, f, prec, parallel=False):
     if parallel:
         res_forms = pmap(lambda x: x.divide(f, prec), self.forms)
     else:
         res_forms = [a.divide(f, prec) for a in self.forms]
     res_br = common_base_ring(res_forms)
     return SymWtGenElt(res_forms, prec, base_ring=res_br)
示例#2
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
示例#3
0
def _rankin_cohen_gen(Q, flist):
    forms = _rankin_cohen_bracket_func(Q)(flist)
    prec = common_prec(forms)
    base_ring = common_base_ring(flist)
    a = _inc_weight(Q)
    return SWMFE(forms, sum([f.wt for f in flist]) + a, prec, base_ring)