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))