By definition, modular forms are analytic functions on the upper half of the complex plane that possess certain symmetries under unimodular transformations. A family of commuting operators, called Hecke operators, act on modular forms. It is the simultaneous eigenforms under these operators that have special significance in number theory: An eigenform gives rise to an L-function and this is often how the correspondence with other number theoretic objects is expressed.
To compute modular forms for some specified weight or level means firstly to calculate the dimension of the space (which is finite), and secondly to calculate Hecke operators as matrices with respect to some chosen basis of the space. After calculating sufficient Hecke operators, the decomposition of the space into simultaneous eigenforms for the Hecke action can be determined.
Magma contains a package originally due to W. Stein for classical modular forms. The core of this package is an implementation of modular symbols, since the standard algorithm for obtaining the cuspidal part of spaces of modular forms for weight k ≥ 2 is based on calculations with modular symbols. The package provides fast computation of many Hecke eigenvalues for a given eigenform.
There are some further features. Eisenstein series, which generate the complement of the cuspidal part of a space, can be obtained by direct construction. Sturm bounds are available, and are used to determine the ℤ-lattice of all forms whose q-expansions have integer coefficients. These features are also implemented for weight 1 and half-integral weights. A major application of q-expansion computation is to the solution of Diophantine-type problems using arguments in the vein of Fermat's last theorem. Results of this type are due to Siksek and many others. Another application is to an algorithm for computing the theta series of an integral lattice.
In the Langlands conjectures, and in other work, the relationships between modular forms and other number theoretic objects are expressed in terms of relationships between several different sorts of representations. Some of these representations can be constructed in Magma. Given a modular eigenform and a prime p, the p-adic “admissible representation” can be constructed, and also the corresponding local Galois representation. The algorithms are due to Loeffler and Weinstein. The purpose is to make accessible some information about an eigenform that is not readily accessed from its eigenvalues. This information might, for instance, determine the behaviour mod p of an object that (conjecturally) corresponds to the eigenform.
A package dealing with the Jacobians of modular curves X0(N) and X1(N), as well as their subvarieties and isogenous varieties, is built on top of the core modular symbols algorithms. Included are functions for decomposing modular abelian varieties, isomorphism testing, computing endomorphism rings, arithmetic with finite subgroups, and computing torsion subgroups, special values of L-functions, and Tamagawa numbers. This package was developed by W. Stein.
Classical modular forms can be generalised in many ways of which one of the most important is to pass from ℚ to a number field. Hilbert modular forms correspond to the case where the number field is totally real, and a fair part of the theory of classical modular forms carries over to this case. However, the standard modular symbols algorithm does not carry over; instead, several very different alternative algorithms have been devised. Magma contains the only available implementation of general Hilbert modular forms. In fact, it contains implementations of two completely separate algorithms: one developed primarily by Dembele and Donnelly (Magma), the other by Greenberg and Voight. The first of these, which covers most fields and levels, is highly developed and efficient.
The case of imaginary quadratic fields (sometimes called Bianchi modular forms) is dealt with by algorithms developed by Gunnells and Yasaki. Earlier, several authors had studied and provided software for individual fields but Magma is the only software available which includes a general algorithm handling all quadratic fields.
Closely related to modular forms are modular curves which are the basis of a huge range of constructions in mathematics. One crucial application is in the standard algorithm (ECPP) for proving primality of larger integers. Magma contains several databases of modular curves to serve these needs. Equations in the standard forms — classical, canonical, and Atkin (as in ECPP) — are listed for appropriate levels. A more interesting database, computed by M. Harrison (Magma), gives particularly nice models over ℚ for the curves and, in addition, all the modular data including the cusps, standard functions, maps, etc., in terms of those models. Thus, it provides a dictionary between the analytic and ℚ-rational descriptions for each included modular curve.