Predicates

IsAmbientSpace(M) : ModFrm -> BoolElt
Returns true if and only if M is an ambient space. Ambient spaces are those space constructed in Section Ambient Spaces.
IsCuspidal(M) : ModFrm -> BoolElt
Returns true if M is contained in the cuspidal subspace of the ambient space.
IsEisenstein(M) : ModFrm -> BoolElt
Returns true if M is contained in the Eisenstein subspace of the ambient space.
IsEisensteinSeries(f) : ModFrmElt -> BoolElt
Returns true if f is an Eisenstein newform or was computed using the intrinsic EisensteinSeries. (See Section Eisenstein Series.)
IsGamma0(M) : ModFrm -> BoolElt
Returns true if M is a space of modular forms for Γ0(N).
IsGamma1(M) : ModFrm -> BoolElt
Returns true if M was created explicitly as a space of modular forms for Γ1(N), or if the AmbientSpace of M is such a space. (Note that IsGamma1 will return false for any space ModularForms(chars,k), even if chars consists of all mod N Dirichlet characters.)
IsNew(M) : ModFrm -> BoolElt
Returns true if M is contained in the new subspace of its AmbientSpace.
IsNewform(f) : ModFrmElt -> BoolElt
Returns true if f was created using Newforms. (Sometimes true in other cases in which f is obviously a newform. In number theory, "newform" means "normalized eigenform that lies in the new subspace".)
IsRingOfAllModularForms(M) : ModFrm -> BoolElt
Returns true if and only if M is the ring of all modular forms over a given ring.

Example ModFrm_Predicates (H141E10)

We illustrate each of the above predicates with some simple computations in M31(11)).
> M := ModularForms(Gamma1(11),3);
> f := Newform(M,1);
> IsAmbientSpace(M);
true
> IsAmbientSpace(CuspidalSubspace(M));
false
> IsCuspidal(M);
false
> IsCuspidal(CuspidalSubspace(M));
true
> IsEisenstein(CuspidalSubspace(M));
false
> IsEisenstein(EisensteinSubspace(M));
true
> IsGamma1(M);
true
> IsNew(M);
true
> IsNewform(M.1);
false
> IsNewform(f);
true
> IsRingOfAllModularForms(M);
false
> Level(f);
11
> Level(M);
11
> Weight(f);
3
> Weight(M);
3
> Weight(M.1);
3
V2.28, 13 July 2023