# Rational Torsion Subgroups

The following functions are used for computing information about certain torsion points on modular abelian varieties.

## Cuspidal Subgroup

For simplicity, assume $A$ is a modular abelian variety and $\pi:J_0(N)\to A$ is the modular parameterization (the case when $J_0(N)$ is replaced by a more general modular abelian variety is similar). The *cuspidal subgroup* of $J_0(N)$ is the finite torsion group generated by all classes of differences of cusps on $X_0(N)$. The *cuspidal subgroup* of $A(\overline{{\mathbb{Q}}})$ is the image under $\pi$ of the cuspidal subgroup of $J_0(N)$. The *rational cuspidal subgroup* is the subgroup generated by differences of cusps that are defined over ${\mathbb{Q}}$. (Computation of the rational points in the cuspidal subgroup has not yet been implemented.) One important use of the rational cuspidal subgroup is that it gives a lower bound on the cardinality (and structure) of the torsion subgroup of $A({\mathbb{Q}})$, which is important in computations involving the Birch and Swinnerton-Dyer conjecture.

### `CuspidalSubgroup(A): ModAbVar -> ModAbVarSubGrp`

The subgroup of the abelian variety $A$ generated by all differences of cusps, where we view $A$ as a quotient of a modular symbols abelian variety. Note that this subgroup need not be defined over ${\mathbb{Q}}$.

### `RationalCuspidalSubgroup(A): ModAbVar -> ModAbVarSubGrp`

Return the finite subgroup of the abelian variety $A$ generated by all differences of ${\mathbb{Q}}$-rational cusps, where we view $A$ in some way as a quotient of a modular symbols abelian variety.

### `Example: Torsion Cuspidal Subgroup (ex-1394bd)`

We compute the cuspidal and rational cuspidal subgroups of $J_0(100)$.

```magma
> 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$.

```magma
> 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 ${\mathbb{Q}}$.

## Upper and Lower Bounds

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.

### `TorsionLowerBound(A): ModAbVar -> RngIntElt`

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 ${\mathbb{Q}}$, and the lower bound is simply the cardinality of the rational cuspidal subgroup of $B({\mathbb{Q}})$.

### `TorsionMultiple(A): ModAbVar -> RngIntElt`

### `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 \le 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 [[Agashe and Stein, 2005](../../references.md#cite-agashe-stein-bsd)].

### `Example: Torsion Upper And Lower Bounds (ex-819c47)`

```magma
> 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

```

## Torsion Subgroup

### `TorsionSubgroup(A): ModAbVar -> BoolElt, ModAbVarSubGrp`

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.

### `Example: Torsion Torsion Subgroup (ex-887fba)`

```magma
> 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 ]

```
