|
Let A and B be modular abelian varieties. Then one can create the
finite-rank free abelian group of homomorphisms from A to B or the
vector space of homomorphisms in the category of abelian varieties up
to isogeny. It is also possible to create the endomorphism algebra of an
abelian variety. Such creations do non-trivial computations until further
information is requested of the structures, such as rank or basis.
In particular, such creations do not compute Hom(A, B).
Hom(A, B, oQ) : ModAbVar, ModAbVar, BoolElt -> HomModAbVar
Return the group of homomorphisms from the abelian variety A to
the abelian variety B. If the argument oQ is given and is true,
return the vector space generated by such homomorphisms.
End(A, oQ) : ModAbVar, BoolElt -> HomModAbVar
The endomorphism ring of the abelian variety A. If oQ is given and is
true, return the endomorphism algebra.
The space H tensor R, where H is a group of homomorphisms of a modular
abelian variety and R is the rational numbers or
integers. When R=Q , this is the space of homomorphisms in the category of
abelian varieties up to isogeny.
The Hecke algebra associated to the abelian variety A, which is a commutative
subring of End(A) generated by Hecke operators.
For an abelian variety attached
to modular symbols, this is the algebra induced by Hecke operators
acting on modular symbols (homology). For a general abelian variety, let
π :J to A and e:A to J be the modular parameterization and embedding of A.
Then this is the ring of endomorphisms obtained by pulling back the Hecke
algebra on J to A using π and e, i.e., it is e * T * π , where T
is the Hecke ring of J. For example, since J1(N) is represented as
a quotient of J0(N), the Hecke algebra is not what you might expect
but may differ by some finite index.
> A := JZero(11); B := JZero(33);
> Hom(A,B);
Group of homomorphisms from JZero(11) to JZero(33)
> Hom(A,B,true);
Group of homomorphisms from JZero(11) to JZero(33) in the category of
abelian varieties up to isogeny
> End(A);
Group of homomorphisms from JZero(11) to JZero(11)
> End(A,true);
Group of homomorphisms from JZero(11) to JZero(11) in the category of
abelian varieties up to isogeny
> BaseExtend(Hom(A,B),RationalField());
_Q: Group of homomorphisms from JZero(11) to JZero(33) in the category
of abelian varieties up to isogeny
> HeckeAlgebra(A);
HeckeAlg(JZero(11)): Group of homomorphisms from JZero(11) to JZero(11)
Subgroups of Hom(A, B)
can also be formed as well as subrings of End(A, B).
Magma provides the computation of saturations of subgroups of Hom(A, B)
where A and B are abelian varieties.
The group of homomorphisms from the abelian variety A to the abelian variety
B generated by the homomorphisms of abelian varieties in the sequence X.
IsBasis: BoolElt Default: false
The group of homomorphisms generated by homomorphisms of abelian varieties
in the sequence X. If the parameter
IsBasis is true, then it is assumed that the elements of
X are a basis for their span.
If the argument oQ is true,
return the vector space generated by such homomorphisms.
Subring(X, oQ) : [MapModAbVar], BoolElt -> HomModAbVar
The ring of endomorphisms of a modular abelian variety generated by the
endomorphisms in the sequence X. It does not need to contain unity.
If the argument oQ is given and is true,
return the algebra generated by such endomorphisms.
The ring of endomorphisms generated by the endomorphism φ of an abelian
variety. It does not need to contain unity.
The saturation of the group H of homomorphisms of abelian varieties
in all homomorphisms. Suppose A and B are
abelian varieties and H is a subgroup of Hom(A, B). Then
Hom(A, B) is a free Z-module, and the saturation of H in Hom(A, B) is
a group H' that contains H with finite index such that the quotient
of Hom(A,B) by H' is torsion free.
The ring of endomorphisms generated by the endomorphisms in the group H
of homomorphisms between abelian varieties.
In this example we use the Saturation command to find
the integers N up to 60 such that the Hecke algebra of
J 0(N) is not saturated in the full ring of endomorphisms.
> function ind(N)
> H := HeckeAlgebra(JZero(N));
> return Index(Saturation(H),H);
> end function;
> for N in [2..60] do
> i := ind(N);
> if i gt 1 then N, i; end if;
> end for;
44 2
46 2
54 3
56 2
60 2
Note that multiplicity one fails at 3 for J 0(54). It might
be interesting to find a precise relationship between failure of
multiplicity one and the index of the Hecke algebra T in its saturation.
This example illustrates constructing a subgroup.
> J := JZero(33);
> E := End(J); E;
Group of homomorphisms from JZero(33) to JZero(33)
> H := Subgroup([E.1, E.3]); H;
Group of homomorphisms from JZero(33) to JZero(33)
> Rank(H);
2
We compute the subring generated by T 2 on J 0(100).
> T2 := HeckeOperator(JZero(100),2);
> R := Subring(T2); R;
Group of homomorphisms from JZero(100) to JZero(100)
> Rank(R);
3
The Hecke operator T 2 and the main Atkin-Lehner involution
together generate a commutative ring of rank 10 over Z.
> J := JZero(100);
> T2 := HeckeOperator(J,2);W := AtkinLehnerOperator(J,100);
> R := Subring([End(J) | T2,W]);
> Dimension(R);
10
> Dimension(End(J));
13
> IsRing(R);
true
> IsCommutative(R);
false
A homomorphism of abelian varieties induces a map from one space of
homomorphisms into another. The three commands below compute
the image of such maps.
Given a space of homomorphisms H in Hom(A, B) and a morphism
φ :B to C, compute the image of H in Hom(A, C) via the map that sends f
to f * φ .
Given a space of homomorphisms H in Hom(A, B) and a morphism
φ :C to A, compute the image of H in Hom(C, B) via the map that sends f
to φ * f.
Suppose H is a space of homomorphisms A to B and
φ :C to A and ψ :B to D. Then this intrinsic computes and returns the ring
of homomorphisms of A of the form φ * f * ψ , where f is in
H.
> H := Hom(JZero(11),JZero(22));
> phi := NaturalMap(JZero(22),JZero(33));
> psi := NaturalMap(JZero(33),JZero(11));
> Pullback(H,phi);
Group of homomorphisms from JZero(11) to JZero(33)
> Pullback(psi,H);
Group of homomorphisms from JZero(33) to JZero(22)
> Pullback(psi,H,phi);
Group of homomorphisms from JZero(33) to JZero(33)
The + and meet command compute the sum and intersection of
two subgroups of Hom(A, B).
The subgroup generated by H1 and H2, where H1 and H2 are
assumed to both be subgroups of Hom(A, B), for abelian varieties A and
B.
The intersection of H1 and H2, where H1 and H2 are
assumed to both be subgroups of Hom(A, B), for abelian varieties A and
B.
> J := JZero(33);
> E := End(J);
> H1 := HeckeAlgebra(J); H1;
HeckeAlg(JZero(33)): Group of homomorphisms from JZero(33) to JZero(33)
> H2 := Subgroup([E.1,E.2]); H2;
Group of homomorphisms from JZero(33) to JZero(33)
> Dimension(E);
5
> Dimension(H1);
3
> Dimension(H2);
2
> Dimension(H1 meet H2);
1
> Dimension(H1 + H2);
4
If H1 and H2 are subspaces of Hom(A, B) then the index of
H1 in H2 can be computed. The quotient H2/H1 can also be taken.
The index of H1 in H2, where H1 and H2 are both subgroups
of Hom(A, B), for abelian varieties A and B. If H1 is
contained in H2, this is just the cardinality of H2/H1, or 0 if this
cardinality is infinite. If H1 is not contained in H2, then the index is by
definition the generalized lattice index [H1 + H2:H1]/[H1 + H2:H2],
assuming the denominator is nonzero,
i.e., that H2 has finite index in H1 + H2 (an error occurs if H2
does not have finite index in H1 + H2).
H2 / H1 : HomModAbVar, HomModAbVar -> GrpAb, Map, Map
The abelian group quotient H2/H1, a map from H2 to this
quotient, and a lifting map from this quotient to H2, where H1 and
H2 are subgroups of Hom(A, B) and A and B are abelian varieties.
We define the subgroup of End(J 0(54)) generated
by T 1, T 2, T 3, and T 4, find that it
has infinite index in the full Hecke algebra, and
compute the quotient, which is Z.
> J := JZero(54);
> T := HeckeAlgebra(J);
> Dimension(T);
4
> S := Subgroup([HeckeOperator(J,n) : n in [1..4]]);
> Dimension(S);
3
> Index(T,S);
0
> Quotient(T,S);
Abelian Group isomorphic to Z
Defined on 1 generator (free)
Mapping from: HomModAbVar: T to Abelian Group isomorphic to Z
Defined on 1 generator (free) given by a rule [no inverse]
Mapping from: Abelian Group isomorphic to Z
Defined on 1 generator (free) to HomModAbVar: T given by a rule
[no inverse]
> G := T/S; G;
Abelian Group isomorphic to Z
Defined on 1 generator (free)
We compute the subgroup generated by T3, T4,
T5, and T10, and find that it has index
6 in its saturation.
> S := Subgroup([HeckeOperator(J,n) : n in [3,4,5,10]]);
> Sat := Saturation(S);
> Index(Sat,S);
6
> Index(S,Sat);
1/6
> Invariants(Sat/S);
[ 6 ]
Domain and codomain of the homomorphisms in a space of homomorphisms of
abelian varieties can both be retrieved from the space as well as
a field which all
homomorphisms in a space are defined over.
A possibly time consuming computation is that of the discriminant
of a space of homomorphisms.
Discriminants of Hecke algebras are particularly interesting to
compute because they are closely related to congruences between
eigenforms.
The domain of the homomorphisms in the group H of homomorphisms between
modular abelian varieties.
The codomain of the homomorphisms in the group H of homomorphisms between
modular abelian varieties.
A field over which all homomorphisms in the group H of homomorphisms of
abelian varieties are defined. It is not guaranteed to be minimal.
The discriminant of the space H of homomorphisms of abelian varieties
with respect to the trace pairing matrix.
This is the trace of endomorphisms acting on homology, not left
multiplication on themselves, so, e.g., the discriminant of the Hecke algebra will
be 2d times as big as it would be otherwise (if the sign is 0),
where d is the dimension of A. If H is over Q , this function
returns the discriminant of the lattice of elements in H that are
homomorphisms.
> H := Hom(JZero(11),JZero(33));
> Domain(H);
Modular abelian variety JZero(11) of dimension 1 and level 11 over Q
> Codomain(H);
Modular abelian variety JZero(33) of dimension 3 and level 3*11 over
Q
> FieldOfDefinition(H);
Rational Field
> A := BaseExtend(JZero(11),ComplexField());
> H := End(A);
> FieldOfDefinition(H);
Complex Field
Though H=Z, so the discriminant of the abstract ring H is 1,
the discriminant of the trace pairing of H acting on homology
is 2:
> Discriminant(H);
2
[2]
The prime p=389 is the only known example where p
divides the discriminant of the Hecke algebra of J0(p).
> T := HeckeAlgebra(JZero(389,2 : Sign := +1));
> d := Discriminant(T);
> J := JZero(389,2,+1);
> T := HeckeAlgebra(J);
> d := Discriminant(T);
> d mod 389;
0
> Factorization(d);
[ <2, 53>, <3, 4>, <5, 6>, <31, 2>, <37, 1>, <389, 1>, <3881, 1>,
<215517113148241, 1>, <477439237737571441, 1> ]
All the "action" at 389 comes from the 20-dimensional
simple factor.
> A := J(5); A;
Modular abelian variety 389E of dimension 20, level 389 and
conductor 389^20 over Q with sign 1
> Factorization(Discriminant(HeckeAlgebra(A)));
[ <2, 98>, <5, 41>, <389, 1>, <215517113148241, 1>,
<477439237737571441, 1> ]
The following commands provide access to a basis and generators
for spaces of homomorphisms.
Generators(H) : HomModAbVar -> SeqEnum
A basis for the space H of homomorphisms of abelian varieties.
Rank(H) : HomModAbVar -> RngIntElt
The rank of the space H of homomorphisms of abelian varieties
as a Z-module or Q-vector space.
The number of generators of the space H of homomorphisms of abelian varieties.
The ith generator of the space H of homomorphisms of abelian varieties.
The following example illustrates each of the commands
for Hom(J 0(11), J 0(33)).
> H := Hom(JZero(11),JZero(33));
> Basis(H);
[
Homomorphism from JZero(11) to JZero(33) given on integral homology
by:
[ 0 2 -1 -2 0 1]
[ 1 0 -1 -1 1 1],
Homomorphism from JZero(11) to JZero(33) given on integral homology
by:
[ 1 0 -2 2 -3 0]
[ 1 -1 0 1 -2 1]
]
> Dimension(H);
2
> Ngens(H);
2
> Rank(H);
2
> H.1;
Homomorphism from JZero(11) to JZero(33) given on integral homology by:
[ 0 2 -1 -2 0 1]
[ 1 0 -1 -1 1 1]
The following commands associate lattices, vector spaces, matrix algebras,
and matrix spaces to subspaces H of Hom(A, B).
VectorSpace(H) : HomModAbVar -> ModTupFld
A lattice or vector space
with basis obtained from the components of the matrices
of a basis for the space H of homomorphisms of abelian varieties.
This free Z-module is constructed from the
Eltseqs of the all of the basis elements of H.
The matrix algebra generated by the underlying matrices of all
elements in the space H of homomorphisms of abelian varieties,
acting on homology.
The matrix space whose basis is the generators for the space H of
homomorphisms of abelian varieties.
A module over the ring R generated by the space H of homomorphisms of
abelian varieties equipped with the action of H, where H must
be a ring of endomorphisms.
A module over H tensor Fp equipped with the action of H
tensor Fp, where H must be a ring of endomorphisms of an abelian variety
that has not been tensored with Q .
We first demonstrate some of the commands
with Hom(J0(11), J0(33)).
> H := Hom(JZero(11),JZero(33));
> Lattice(H);
Lattice of rank 2 and degree 12
Basis:
( 0 2 -1 -2 0 1 1 0 -1 -1 1 1)
( 1 0 -2 2 -3 0 1 -1 0 1 -2 1)
> RMatrixSpace(H);
RMatrixSpace of 2 by 6 matrices and dimension 2 over Integer Ring
> RMatrixSpace(BaseExtend(H,RationalField()));
KMatrixSpace of 2 by 6 matrices and dimension 2 over Rational
Field
> VectorSpace(H);
Vector space of degree 12, dimension 2 over Rational Field
User basis:
( 1 0 -2 2 -3 0 1 -1 0 1 -2 1)
( 0 -2 1 2 0 -1 -1 0 1 1 -1 -1)
Next we consider the endomorphism algebra of J 0(22).
> H := End(JZero(22));
> MatrixAlgebra(H);
Matrix Algebra of degree 4 with 4 generators over Integer Ring
> RModuleWithAction(H);
RModule(IntegerRing(), 4)
Action:
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]
[ 0 1 0 1]
[ 0 0 0 0]
[ 1 0 1 -1]
[ 0 1 0 1]
[ 0 1 0 -1]
[ 0 1 0 0]
[-1 2 -1 1]
[-1 1 0 0]
[ 0 1 -2 1]
[-1 2 -1 0]
[-1 0 1 -1]
[ 0 -1 1 -1]
The following example illustrates that MatrixAlgebra computes
the algebra generated by H, even if H is not itself an algebra.
> H := Subgroup([HeckeOperator(JZero(33),2)]); H;
Group of homomorphisms from JZero(33) to JZero(33)
> A := MatrixAlgebra(H); A;
Matrix Algebra of degree 6 with 1 generator over Integer Ring
> Dimension(A);
2
> Dimension(H);
1
These commands determine whether a space of homomorphisms
is a ring, if it's commutative, if it's a field (and what field), if
it was created using the HeckeAlgebra command, whether it has
been tensored with Q, or whether it is saturated in the full ring
of endomorphisms. Equality and inclusion can also be tested.
Return true if the space H of homomorphisms of abelian varieties
is a ring. (Note that a ring does not have to contain unity.)
Return true if the space H of homomorphisms of abelian varieties
is a field, and if so returns that field, a map from the
field to H, and a map from H to the field.
Return true if and only if the space H of homomorphisms of abelian
varieties is a commutative ring.
Return true if the space H of homomorphisms of abelian varieties
was constructed using the HeckeAlgebra command.
Return true if the space H of homomorphisms of abelian varieties
is a Q-vector space instead of just a Z-module,
i.e., a space of homomorphisms up to isogeny.
Return true if the space H of homomorphisms of abelian varieties
is equal to its saturation, i.e., the quotient of the
ambient Hom(A, B) by H is torsion free.
Return true if the spaces H1 and H2 of homomorphisms of
abelian varieties are equal.
Return true if the spaces H1 and H2 of homomorphisms of abelian
varieties are both subgroups of a common
Hom(A, B), and in addition H1 is a subset of H2.
We illustrate several of the commands for the endomorphism
ring of J 0(33).
> H := End(JZero(33));
> IsCommutative(H);
false
> IsField(H);
false 0 0 0
> IsHeckeAlgebra(H);
false
> IsOverQ(H);
false
> IsOverQ(BaseExtend(H,RationalField()));
true
> IsRing(H);
true
> IsSaturated(H);
true
Next we compare the endomorphism ring with the Hecke algebra of J 0(33).
> T := HeckeAlgebra(JZero(33));
> T eq H;
false
> T subset H;
true
> IsSaturated(T);
true
> IsRing(T);
true
> IsHeckeAlgebra(T);
true
> IsCommutative(T);
true
> IsField(BaseExtend(T,RationalField()));
false 0 0 0
The Hecke algebra of J 0(33) is actually a product of 3 fields,
so it is not a field. In contrast, the Hecke algebra of J 0(23)
is a field.
> T := HeckeAlgebra(JZero(23));
> IsField(T);
false 0 0 0
In the following code, the answer you get might be different, since
computation of the defining polynomial for the number field involves
a randomized algorithm.
> IsField(BaseExtend(T,RationalField()));
true Number Field with defining polynomial x^2 + 11*x + 29 over
the Rational Field
Mapping from: Number Field with defining polynomial x^2 + 11*x +
29 over the Rational Field to HeckeAlg(JZero(23))_Q: Group of
homomorphisms from JZero(23) to JZero(23) in the category of abelian
varieties up to isogeny given by a rule [no inverse]
Mapping from: HeckeAlg(JZero(23))_Q: Group of homomorphisms from
JZero(23) to JZero(23) in the category of abelian varieties up to
isogeny to Number Field with defining polynomial x^2 + 11*x + 29
over the Rational Field given by a rule [no inverse]
Elements of spaces of homomorphisms exist as maps between abelian varieties
as discussed in Section Homomorphisms .
Coerce x into the space H of homomorphisms of abelian varieties.
For this coercion to be successful x must be a homomorphism between 2
abelian varieties, an integer or a rational number or a matrix coercible into
the matrix space of H base extended to the rational numbers.
> H := End(JZero(22));
> H ! Matrix(Integers(), 4, 4,
> [9, -4, 0, 2, 0, 6, 0, 0, 2, -6, 11, -2, 3, -4, -0, 8]);
Homomorphism from JZero(22) to JZero(22) given on integral homology by:
[ 9 -4 0 2]
[ 0 6 0 0]
[ 2 -6 11 -2]
[ 3 -4 0 8]
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|