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.)
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.
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.)
> 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 2If, 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
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.)
The dimension of the space H of homology.
> Dimension(Homology(JZero(100))); 14 > Dimension(Homology(JZero(100,2 : Sign := +1))); 7 > Dimension(Homology(JZero(100,2 : Sign := -1))); 7
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.
The lattice underlying the homology of the modular abelian variety A.
The underlying lattice of the homology space H. This is a free Z-module of rank equal to the dimension of H.
A Q-vector space obtained by tensoring the homology of the modular abelian variety A with Q .
A vector space over R obtained by tensoring the homology of the modular abelian variety A with R.
The R-vector space whose dimension is the dimension of the homology space H.
The Q-vector space whose dimension is the dimension of the homology space H.
> 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
> 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
> 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)
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.
Return true if the homology space H is presented as being attached to a sequence of spaces of modular symbols.
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.
> 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 ]
> 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 4Notice that homology has its own type:
> Type(H); ModAbVarHomolIn 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 FieldWe 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
> 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