Subspaces of modular forms for Hecke triangle groups¶
AUTHORS:
- Jonas Jermann (2013): initial version
-
sage.modular.modform_hecketriangle.subspace.
ModularFormsSubSpace
(*args, **kwargs)¶ Create a modular forms subspace generated by the supplied arguments if possible. Instead of a list of generators also multiple input arguments can be used. If
reduce=True
then the corresponding ambient space is choosen as small as possible. If no subspace is available then the ambient space is returned.EXAMPLES:
sage: from sage.modular.modform_hecketriangle.subspace import ModularFormsSubSpace sage: from sage.modular.modform_hecketriangle.space import ModularForms sage: MF = ModularForms() sage: subspace = ModularFormsSubSpace(MF.E4()^3, MF.E6()^2+MF.Delta(), MF.Delta()) sage: subspace Subspace of dimension 2 of ModularForms(n=3, k=12, ep=1) over Integer Ring sage: subspace.ambient_space() ModularForms(n=3, k=12, ep=1) over Integer Ring sage: subspace.gens() [1 + 720*q + 179280*q^2 + 16954560*q^3 + 396974160*q^4 + O(q^5), 1 - 1007*q + 220728*q^2 + 16519356*q^3 + 399516304*q^4 + O(q^5)] sage: ModularFormsSubSpace(MF.E4()^3-MF.E6()^2, reduce=True).ambient_space() CuspForms(n=3, k=12, ep=1) over Integer Ring sage: ModularFormsSubSpace(MF.E4()^3-MF.E6()^2, MF.J_inv()*MF.E4()^3, reduce=True) WeakModularForms(n=3, k=12, ep=1) over Integer Ring
-
sage.modular.modform_hecketriangle.subspace.
SubSpaceForms
¶ Submodule of (Hecke) forms in the given ambient space for the given basis.
-
sage.modular.modform_hecketriangle.subspace.
canonical_parameters
(ambient_space, basis, check=True)¶ Return a canonical version of the parameters. In particular the list/tuple
basis
is replaced by a tuple of linearly independent elements in the ambient space.If
check=False
(default:True
) thenbasis
is assumed to already be a basis.EXAMPLES:
sage: from sage.modular.modform_hecketriangle.subspace import canonical_parameters sage: from sage.modular.modform_hecketriangle.space import ModularForms sage: MF = ModularForms(n=6, k=12, ep=1) sage: canonical_parameters(MF, [MF.Delta().as_ring_element(), MF.gen(0), 2*MF.gen(0)]) (ModularForms(n=6, k=12, ep=1) over Integer Ring, (q + 30*q^2 + 333*q^3 + 1444*q^4 + O(q^5), 1 + 26208*q^3 + 530712*q^4 + O(q^5)))