Homology

The homology H1(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/Λ, so there is a canonical isomorphism Λ isomorphic to H1(A, Z). (If the sign of A is ∓ 1, then the homology command below gives a Z-module of rank dim A.)

Contents

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 Z-module of rank equal to the dimension of A.)

Example ModAbVar_Homology-Creation (H145E44)

The homology of the elliptic curve J0(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 ModAbVar_Homology-Invariants (H145E45)

> 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 Z-module of rank equal to the dimension of H.
RationalHomology(A) : ModAbVar -> ModTupFld
A Q-vector space obtained by tensoring the homology of the modular abelian variety A with Q .
RealHomology(A) : ModAbVar -> ModTupFld
A vector space over R obtained by tensoring the homology of the modular abelian variety A with R.
RealVectorSpace(H) : ModAbVarHomol -> ModTupFld
The R-vector space whose dimension is the dimension of the homology space H.
VectorSpace(H) : ModAbVarHomol -> ModTupFld
The Q-vector space whose dimension is the dimension of the homology space H.

Example ModAbVar_additional8 (H145E46)

The integral, rational and real homology of a modular abelian variety A is H1(A, R), where R=Z, R, Q, respectively. This homology is just a free module over R of dimension twice dim(A) (unless the sign of A is ∓ 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 ModAbVar_Homology-Functors_to_Categories_of_Lattices_and_Vector_Spaces (H145E47)

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 ModAbVar_Homology-Functors_to_Categories_of_Lattices_and_Vector_Spaces2 (H145E48)

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 H1(A, Q), which is sometimes all that gets computed, and the lattice returned by this command is H1(A, Z) written with respect to a basis for H1(A, Q). Thus Lattice should be viewed as giving an integral structure of H1(A, 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 true if 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 ModAbVar_Homology-Modular_Structure (H145E49)

In this example, we create the product J0(23) x J0(11), and find that its homology is attached modular symbols, since both J0(23) and J0(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 ModAbVar_homology1 (H145E50)

The following example illustrates each of the above intrinsics for the homology of J0(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 J0(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 ModAbVar_additional20 (H145E51)

The following example illustrates that a factor of J0(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
V2.28, 13 July 2023