The following functions are used for computing information
about certain torsion points on modular abelian varieties.
We compute the cuspidal and rational cuspidal subgroups of
J
0(100).
> J := JZero(100);
> G := CuspidalSubgroup(J); G;
Finitely generated subgroup of abelian variety with invariants
[ 6, 30, 30, 30, 30 ]
> [Eltseq(x) : x in Generators(G)];
[
[ 29/30, -2/5, 16/15, 121/30, -2, -61/30, 3/5, 31/15, 1,
-89/30, -7/2, -3/2, -3, -1 ],
[ 1, -5/6, 0, -1, -1, 2/3, -3/2, 0, -2, 0, 2, 5/3, 5/6, 0 ],
[ -2, 17/15, 1/10, -29/15, 89/30, 26/15, 7/10, -2, 2/5, 2,
-3/10, -7/30, 59/30, -1/2 ],
[ 29/30, -1, 1/2, 67/15, -2, -3/2, 14/15, 91/30, 1, -3,
-38/15, -29/30, -91/30, 1/2 ],
[ 31/30, -31/30, 2/5, 67/15, -29/15, -43/30, 5/6, 3, 1, -3,
-13/5, -31/30, -91/30, 0 ]
]
> H := RationalCuspidalSubgroup(J); H;
Finitely generated subgroup of abelian variety with invariants
[ 3, 15, 30 ]
Next we compute the cuspidal and rational subgroups for
the optimal new elliptic curve of conductor 100.
> D := Decomposition(J); A := D[1];
> CuspidalSubgroup(A);
Finitely generated subgroup of abelian variety with invariants
[ 2, 2 ]
> Generators(CuspidalSubgroup(A));
[
Element of abelian variety defined by [0 1/2] modulo homology,
Element of abelian variety defined by [1/2 0] modulo homology
]
> RationalCuspidalSubgroup(A);
Finitely generated subgroup of abelian variety with invariants []
> TorsionMultiple(A);
2
Because the torsion multiple is 2, some of the cuspidal
subgroup can not be defined over Q.
Let A be an abelian variety over a number field K.
Magma can compute upper and lower bounds on the cardinality
of the torsion subgroup of A(K) in the form of a multiple and a divisor
of this cardinality.
Given an abelian variety A return a divisor of the cardinality of the
K-rational torsion subgroup of A(K).
Currently, to compute a bound we
require that A be the base extension of an abelian variety B over
Q, and the lower bound is simply the cardinality of the rational
cuspidal subgroup of B(Q).
TorsionMultiple(A, n) : ModAbVar, RngIntElt -> RngIntElt
Given an abelian variety A return
a multiple of the cardinality of the K-rational torsion subgroup
of A over K.
If n is not given it is assumed to be 50.
This multiple is
usually fairly sharp, and is computed as follows. For each good prime
p ≤n with [K:Q] + 1<p and such that p does not divide the level of A,
Magma computes #A(k), where k varies over
residue class fields of K of characteristic p. Since reduction on
torsion is injective for such primes, the greatest common divisor of
the #A(k) is a multiple of the order of the torsion subgroup of
A(K). Magma computes #A(k) by using Hecke operators to find the
characteristic polynomial of Frobenius on a Tate module of A, and
uses this characteristic polynomial to deduce #A(k). For
details, see [AS05].
> J := JZero(100);
> TorsionLowerBound(J);
1350
> #RationalCuspidalSubgroup(J);
1350
> TorsionMultiple(J);
16200
> 16200/1350;
12
> J2 := BaseExtend(J,QuadraticField(2));
> TorsionMultiple(J2);
129600
> 129600/16200;
8
Let A be an abelian variety over a field K.
Attempt to compute the subgroup
of torsion elements in A(K).
Return either false and a subgroup of the torsion subgroup, or true and the
exact torsion subgroup of A over the base field.
> TorsionSubgroup(JZero(11));
true Finitely generated subgroup of abelian variety with invariants [ 5 ]
> TorsionSubgroup(JZero(33));
false Finitely generated subgroup of abelian variety with
invariants [ 10, 10 ]
> TorsionSubgroup(BaseExtend(JZero(11),QuadraticField(5)));
true Finitely generated subgroup of abelian variety with
invariants [ 5 ]
> TorsionSubgroup(ChangeRing(JZero(11),GF(5)));
false { 0 }: finitely generated subgroup of abelian variety with
invariants []
> TorsionSubgroup(JZero(100));
false Finitely generated subgroup of abelian variety with
invariants [ 3, 15, 30 ]
> TorsionSubgroup(JZero(125));
true Finitely generated subgroup of abelian variety with
invariants [ 25 ]
[Next][Prev] [Right] [Left] [Up] [Index] [Root]