"Source: Text/Geometry/ModFrm.text";
"Line: 252";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/ModFrm.text, line: 252
// Example: H144E2 ()
print "Example: H144E2";
ei := GetEchoInput();
SetEchoInput(true);
// no-test [Failing for many months; turned off 3 May 16]
M := ModularForms(Gamma0(1),12); M;
Basis(M);  
[PowerSeries(f,10) : f in Basis(M)];
f := Basis(M)[1];
Coefficient(f,2);
assert $1 eq 196560;
NumberOfNewformClasses(M);
assert $1 eq 2;
f := Newform(M,1); f;
Mf<w> := Parent(f); Mf;
f + O(w^12);    
E := Newform(M,2); PowerSeries(E,2);
M := ModularForms(Gamma1(13),2);  
S := CuspidalSubspace(M); S;
NumberOfNewformClasses(S);
assert $1 eq 1;
f := Newform(S, 1); f;
Parent(f);
Degree(f);
assert $1 eq 2;
g := Newform(S, 1, 2); g;
BaseRing(Parent(g));
Parent(f) eq Parent(g);
assert not $1;
N := Newforms(M);
#N;
assert $1 eq 8;
N[3];
e := DirichletCharacter(f); Parent(e);
Order(e);
assert $1 eq 6;
f3 := Reductions(f,3); f3;
M3<q> := Parent(f3[1][1]);
f3[1][1]+O(q^15);
M := ModularForms(Gamma0(1),2048);   
Dimension(M);
assert $1 eq 171;
M := ModularForms(Gamma1(389),2);   
Dimension(M);
assert $1 eq 6499;
Dimension(CuspidalSubspace(M));
assert $1 eq 6112;
M := ModularForms(Gamma0(123456789),6);
Dimension(CuspidalSubspace(M));
assert $1 eq 68624152;
Dimension(EisensteinSubspace(M));
assert $1 eq 16;
SetEchoInput(ei);
