This chapter, which was written by William Stein (wstein@gmail.com) with the help of feedback from Kevin Buzzard, describes how to compute with modular symbols using Magma. Modular symbols provide a presentation for certain homology groups, and as such they can be used to compute an eigenform basis for spaces of cusp forms Sk(N, ε), where k≥2 is an integer and ε is an arbitrary Dirichlet character. Their generality makes modular symbols a natural tool in applications ranging from verification of modularity of Galois representations to elliptic curve computations.
Our implementation of modular symbols algorithms in Magma was deeply influenced by [Cre92], [Cre97], [Mer94]. The algorithms for computing arithmetic invariants of modular abelian varieties are based on [Ste00]. Those unfamiliar with modular symbols might wish to consult [Ste08] and the references contained therein and peruse [FM99].
The modular group SL2(Z) is the group of 2 x 2 integer matrices with determinant 1. For each positive integer N let Γ0(N) denote the subgroup of SL2(Z) of matrices that are upper triangular modulo N. As explained in the survey paper [DI95], there is an algebraic curve X0(N) over Q attached to Γ0(N). The Riemann surface attached to X0(N) is a compactified quotient of the upper half plane by the action of Γ0(N) via linear fractional transformations. Modular symbols provide an explicit computable presentation for certain "(co-)homology groups" attached to modular curves X0(N).
Let P1(Q) denote the set Q∪{∞}, and
fix a field F. Let Mm denote the F-vector space generated
by the formal symbols {a, b}, with a, b ∈P1(Q),
modulo the relations {a, b} + {b, c} + {c, a}=0
for all a, b, c∈Q.
(The symbol {a, b} can be visualized as the homology class
of a geodesic path from a to b in the upper half plane.)
Fix a positive integer k.
A weight-k symbol is a formal product
XiYk - 2 - i{a, b}, where XiYk - 2 - i∈F[X, Y].
Denote by Mmk the formal F-vector space with basis the
set of all weight-k modular symbols
(thus Mmk approx Mm tensor (Sym)k - 2(F x F)).
The group GL2(Q) acts on the left on Mmk;
the matrix g=pmatrix(u&v
w&z) in (GL)2(Q) acts
by
g(XiYk - 2 - i{a, b}) =
(zX - vY)i( - wX + uY)k - 2 - i
{(ua + v/wa + z), (ub + v/wb + z)}.
A mod N Dirichlet character ε is a
homomorphism ε:(Z/NZ) * -> F * .
The vector space Mmk(N, ε;F) of modular symbols of
weight k, level N and
character ε over F is the quotient of
Mmk by the subspace generated by all
x - ε(u)g(x), for x in Mmk
and g=pmatrix(u&v
w&z)∈Γ0(N).
We denote the equivalence
class that defines a modular symbol by giving a representative element.
The space of modular symbols is a finite-dimensional vector space, and there is a natural finite presentation for it in terms of Manin symbols.