"Source: Text/Geometry/ModSym.text";
"Line: 1926";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/ModSym.text, line: 1926
// Example: H145E18 ()
print "Example: H145E18";
ei := GetEchoInput();
SetEchoInput(true);
M37 := ModularSymbols(37,2);
H37 := CuspidalSubspace(M37);
Z := IntegralBasis(H37); Z;
IntersectionPairing(Z[1],Z[2]);
assert $1 eq -1;
IntersectionPairing(Z[3],Z[4]);
assert $1 eq 0;
A := MatrixAlgebra(RationalField(),4);
I := A![IntersectionPairing(x,y) : x in Z, y in Z]; I;
I + Transpose(I) eq 0;
assert $1;
Determinant(I);
assert $1 eq 1;
T2 := HeckeOperator(M37,2);
IntersectionPairing(Z[1]*T2,Z[2]);
assert $1 eq 1;
IntersectionPairing(Z[1],Z[2]*T2);
assert $1 eq 1;
IntersectionPairing(Z[1]*T2,Z[2]*T2);
assert $1 eq -2;
SetEchoInput(ei);
