"Source: Text/Geometry/ModSym.text";
"Line: 287";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/ModSym.text, line: 287
// Example: H145E2 ()
print "Example: H145E2";
ei := GetEchoInput();
SetEchoInput(true);
M37 := ModularSymbols(37); M37;
Basis(M37);
MF := ModularForms(Gamma0(37),2);
2*Dimension(CuspidalSubspace(MF)) + Dimension(EisensteinSubspace(MF));
assert $1 eq 5;
D := Decomposition(M37,5); D;
E := EllipticCurve(D[2]); E;
Rank(E);
assert $1 eq 0;
M12 := ModularSymbols(1,12); M12;             
Basis(M12);
DimensionCuspFormsGamma0(1,12);
assert $1 eq 1;
R<z>:=PowerSeriesRing(Rationals());
Delta(z)+ O(z^7);  
M12 := ModularSymbols(1,12); 
HeckeOperator(CuspidalSubspace(M12),2); 
 qExpansionBasis(CuspidalSubspace(M12),7);
M12plus := ModularSymbols(1,12,+1);
Basis(M12plus);
CuspidalSubspace(M12plus);
qExpansionBasis(CuspidalSubspace(M12),7);
G<a,b,c> := DirichletGroup(16*7,CyclotomicField(EulerPhi(16*7)));
Order(a);
assert $1 eq 2;
Conductor(a);
assert $1 eq 4;
Order(b);
assert $1 eq 4;
Conductor(b);
assert $1 eq 16;
Order(c);
assert $1 eq 6;
Conductor(c);
assert $1 eq 7;
eps := a*b*c;
M := ModularSymbols(eps,2); M;
BaseField(M);
SetEchoInput(ei);
