Introduction

Brandt modules provide a representation in terms of quaternion ideals of certain cohomology subgroups associated to Shimura curves XD0(N) which generalize the classical modular curves X0(N). The Brandt module datatype is that of a Hecke module -- a free module of finite rank with the action of a ring of Hecke operators -- which is equipped with a canonical basis (identified with left quaternion ideal classes) and an inner product which is adjoint with respect to the Hecke operators. The machinery of modular symbols, Brandt modules, and, in a future release, a module of singular elliptic curves, form the computational machinery underlying modular forms in Magma.

Brandt modules were implemented by David Kohel, motivated by the article of Mestre and Oesterlé [Mes86] on the method of graphs for supersingular elliptic curves, the article of Pizer [Piz80] on computing spaces of modular forms using quaternion arithmetic, and grew out of research in the author's thesis [Koh96] on endomorphism ring structure of elliptic curves over finite fields. The Brandt module machinery is described in the article [Koh01] and has been used, together with modular symbols, in the computation of component groups of quotients of the Jacobians J0(N) of classical modular curves [KS00].

V2.28, 13 July 2023