Homology#
The homology \(H_1(A,R)\) of an abelian variety \(A\) with coefficients in a ring \(R\) is a free \(R\)-module of rank equal to twice the dimension of \(A\). For many purposes, we view abelian varieties as complex tori \(V/\Lambda\), so there is a canonical isomorphism \(\Lambda\cong H_1(A,{\mathbb{Z}})\). (If the sign of \(A\) is \(\pm 1\), then the homology command below gives a \({\mathbb{Z}}\)-module of rank \(\dim A\).)
Creation#
The Homology command creates the first homology of a modular abelian variety, which is of type ModAbVarHomol. This is the only command for creating homology.
- Homology(A): ModAbVar -> ModAbVarHomol#
The first integral homology of the modular abelian variety \(A\). (If the sign of \(A\) is \(1\) or \(-1\), then this is \({\mathbb{Z}}\)-module of rank equal to the dimension of A.)
- Example: Homology Creation (ex-6818fb)#
The homology of the elliptic curve \(J_0(14)\) is of dimension \(2\).
> A := JZero(14); A; Modular abelian variety JZero(14) of dimension 1 and level 2*7 over Q > Homology(A); Modular abelian variety homology space of dimension 2
If, for efficiency purposes, we work in the \(+1\) quotient, then we are only working with half the homology, so the dimension of the homology is \(1\).
> Homology(JZero(14,2 : Sign := +1)); Modular abelian variety homology space of dimension 1
Invariants#
The only invariant of homology is its dimension. If \(A\) is an abelian variety, and \(H\) is its first homology, then \(H\) has dimension equal to twice the dimension of \(A\). (Except if, for efficiency purposes, we are working with sign \(+1\) or \(-1\), in which case the dimension of \(H\) is equal to the dimension of \(A\).)
- Dimension(H): ModAbVarHomol -> RngIntElt#
The dimension of the space \(H\) of homology.
- Example: Homology Invariants (ex-289d7d)#
> Dimension(Homology(JZero(100))); 14 > Dimension(Homology(JZero(100,2 : Sign := +1))); 7 > Dimension(Homology(JZero(100,2 : Sign := -1))); 7
Functors to Categories of Lattices and Vector Spaces#
The following commands provide convenient functors from the categories of homology and modular abelian varieties to lattices and vector spaces. Mathematically, these functors are defined using the first homology of the complex manifold underlying the complex points of the abelian variety.
- IntegralHomology(A): ModAbVar -> Lat#
The lattice underlying the homology of the modular abelian variety \(A\).
- Lattice(H): ModAbVarHomol -> Lat#
The underlying lattice of the homology space \(H\). This is a free \({\mathbb{Z}}\)-module of rank equal to the dimension of \(H\).
- RationalHomology(A): ModAbVar -> ModTupFld#
A \({\mathbb{Q}}\)-vector space obtained by tensoring the homology of the modular abelian variety \(A\) with \({\mathbb{Q}}\).
- RealHomology(A): ModAbVar -> ModTupFld#
A vector space over \({\mathbb{R}}\) obtained by tensoring the homology of the modular abelian variety \(A\) with \({\mathbb{R}}\).
- RealVectorSpace(H): ModAbVarHomol -> ModTupFld#
The \({\mathbb{R}}\)-vector space whose dimension is the dimension of the homology space \(H\).
- VectorSpace(H): ModAbVarHomol -> ModTupFld#
The \({\mathbb{Q}}\)-vector space whose dimension is the dimension of the homology space \(H\).
- Example: additional8 (ex-56d584)#
The integral, rational and real homology of a modular abelian variety \(A\) is \(H_1(A,R)\), where \(R={\mathbb{Z}},{\mathbb{R}},{\mathbb{Q}}\), respectively. This homology is just a free module over \(R\) of dimension twice \(\dim(A)\) (unless the sign of \(A\) is \(\pm 1\), in which case the homology is of dimension \(\dim(A)\)).
> J := JZero(22); J; Modular abelian variety JZero(22) of dimension 2 and level 2*11 over Q > IntegralHomology(J); Standard Lattice of rank 4 and degree 4 > RationalHomology(J); Full Vector space of degree 4 over Rational Field > RealHomology(J); Full Vector space of degree 4 over Real Field > J := JZero(22, 2, +1); J; Modular abelian variety JZero(22) of dimension 2 and level 2*11 over Q with sign 1 > RationalHomology(J); Full Vector space of degree 2 over Rational Field
- Example: Homology Functors To Categories Of Lattices And Vector Spaces (ex-c11cca)#
The following code demonstrates the above commands applied to the abelian surface attached to the space of cusp forms of level \(37\) with quadratic character.
> G<eps> := DirichletGroup(37); > Order(eps); 2 > A := ModularAbelianVariety(eps); A; Modular abelian variety of dimension 2 and level 37 over Q > Decomposition(A); [ Modular abelian variety image(37A[18]) of dimension 2, level 37 and conductor 37^2 over Q ] > IntegralHomology(A); Standard Lattice of rank 4 and degree 4 > H := Homology(A); H; Modular abelian variety homology space of dimension 4 > Lattice(H); Standard Lattice of rank 4 and degree 4 > RationalHomology(A); Full Vector space of degree 4 over Rational Field > RealHomology(A); Full Vector space of degree 4 over Real Field > RealVectorSpace(H); Full Vector space of degree 4 over Real Field > VectorSpace(H); Full Vector space of degree 4 over Rational Field
- Example: Homology Functors To Categories Of Lattices And Vector Spaces2 (ex-3e00b9)#
The code below illustrates that the lattice need not just be the free lattice on \(\dim(H)\) generators. For efficiency reasons many internal computations only require knowing \(H_1(A,{\mathbb{Q}})\), which is sometimes all that gets computed, and the lattice returned by this command is \(H_1(A,{\mathbb{Z}})\) written with respect to a basis for \(H_1(A,{\mathbb{Q}})\). Thus
Latticeshould be viewed as giving an integral structure of \(H_1(A,{\mathbb{Q}})\).> J := JZero(37); > A := J(1); > Lattice(Homology(A)); Lattice of rank 2 and degree 2 Basis: ( 1 1) ( 1 -1) > IntegralHomology(JOne(17)); Lattice of rank 10 and degree 10 Basis: ( 0 0 1 0 0 0 1 0 0 0) ( 0 0 1 0 0 0 0 0 -1 0) ( 0 0 0 1 0 0 0 1 0 0) ( 0 0 0 1 0 0 0 -1 0 0) ( 0 0 0 0 1 0 0 0 -1 0) ( 0 0 0 0 0 1 0 0 0 1) ( 0 0 0 0 0 1 0 0 0 -1) ( 0 0 0 0 0 0 1 0 -1 0) ( 0 2 1 0 0 0 0 0 0 0) ( 2 -1 0 0 0 0 1 -1 0 1)
Modular Structure#
If \(H\) is the homology of an abelian variety that is attached to a space of modular symbols, then \(H\) remembers that space of modular symbols. The following two functions decide if \(H\) is attached to modular symbols, and if so provide the corresponding spaces of modular symbols. The reason that ModularSymbols returns a sequence instead of a single modular symbols space is that arbitrary finite products of abelian varieties are allowed, so corresponding direct sums of modular symbols spaces must be allowed, which are represented as sequences because Magma currently doesn’t have a facility for taking direct sums of modular symbols spaces.
- IsAttachedToModularSymbols(H): ModAbVarHomol -> BoolElt#
Return
trueif the homology space \(H\) is presented as being attached to a sequence of spaces of modular symbols.
- ModularSymbols(H): ModAbVarHomol -> SeqEnum#
If the space of homology \(H\) is attached to a sequence of spaces of modular symbols, then this is that sequence. Otherwise an error occurs.
- Example: Homology Modular Structure (ex-2720db)#
In this example, we create the product \(J_0(23)\times J_0(11)\), and find that its homology is attached modular symbols, since both \(J_0(23)\) and \(J_0(11)\) are attached to modular symbols. We then display the corresponding spaces of modular symbols.
> A := JZero(23) * JZero(11); > H := Homology(A); H; Modular abelian variety homology space of dimension 6 > IsAttachedToModularSymbols(H); true > ModularSymbols(H); [ Modular symbols space for Gamma_0(23) of weight 2 and dimension 4 over Rational Field, Modular symbols space for Gamma_0(11) of weight 2 and dimension 2 over Rational Field ]
Additional Examples#
- Example: homology1 (ex-d70bf2)#
The following example illustrates each of the above intrinsics for the homology of \(J_0(23)\).
> A := JZero(23); A; Modular abelian variety JZero(23) of dimension 2 and level 23 over Q > H := Homology(A); H; Modular abelian variety homology space of dimension 4
Notice that homology has its own type:
> Type(H); ModAbVarHomol
In this case, the homology is attached to a space of modular symbols, since \(J_0(23)\).
> IsAttachedToModularSymbols(H); true > ModularSymbols(H); [ Modular symbols space for Gamma_0(23) of weight 2 and dimension 4 over Rational Field ] > Dimension(H); 4 > Lattice(H); Standard Lattice of rank 4 and degree 4 > RealVectorSpace(H); Full Vector space of degree 4 over Real Field > VectorSpace(H); Full Vector space of degree 4 over Rational Field
We can also obtain various homologies of \(A\) more directly.
> IntegralHomology(A); Standard Lattice of rank 4 and degree 4 > RationalHomology(A); Full Vector space of degree 4 over Rational Field > RealHomology(A); Full Vector space of degree 4 over Real Field
- Example: additional20 (ex-c844b1)#
The following example illustrates that a factor of \(J_0(37)\) is not presented as something associated to a space of modular symbols. Also notice that the two lattices are different.
> J := JZero(37); > D := Decomposition(J); > H1 := Homology(D[1]); H2 := Homology(D[2]); > IsAttachedToModularSymbols(H1); false > Lattice(H1); Lattice of rank 2 and degree 2 Basis: ( 1 1) ( 1 -1) > Lattice(H2); Standard Lattice of rank 2 and degree 2