Exemple #1
0
def _find_const_of_e4_e6_of_same_wt(k):
    '''Returns an instance of ScalarModFormConst so that this corresponds to
    a polynomial of es4 and es6 of weight k.
    '''
    a, b = [(a, b) for a, b, c, d in tuples_even_wt_modular_forms(k)
            if c == d == 0][0]
    return ScalarModFormConst([4] * a + [6] * b)
 def _basis_const_base(self, ignored_dct):
     '''This method is used for implmentation of _basis_const.
     ignored_dct is a dictionary whose key is an element of self._gen_consts
     and its value is a sub lift of [4, 6, 10, 12].
     For exmaple if ignored_dct = {c: [4]} and F is a vector valued modular
     form that corresponds to c, then
     we do not use F * (a monomial including es4) when constructing a basis.
     '''
     wt_to_idx = {4: 0, 6: 1, 10: 2, 12: 3}
     for c in self._gen_consts:
         k = c.weight()
         if c in ignored_dct:
             idcs = [wt_to_idx[w] for w in ignored_dct[c]]
             ts = [t for t in tuples_even_wt_modular_forms(self.wt - k)
                   if all(t[i] == 0 for i in idcs)]
         else:
             ts = tuples_even_wt_modular_forms(self.wt - k)
         for t in _from_ts_wts(ts):
             yield ConstMul(c, SMFC(t))