# The Torsion Subgroup

## `TorsionSubgroup(E): CrvEll[FldFunG] -> GrpAb, Map`

Given an elliptic curve $E$ defined over a function field $F$, this function returns an abelian group $A$ isomorphic to the torsion subgroup of $E(F)$, together with a map from $A$ to $E(F)$.

## `TorsionBound(E, n): CrvEll[FldFunG], RngIntElt -> RngIntElt`

## `TorsionBound(E, n, B): CrvEll[FldFunG], RngIntElt, RngIntElt -> RngIntElt`

Given an elliptic curve over a function field $F$ and an integer $n$, this function computes a bound on the size of the torsion subgroup of $E(F)$ by considering the torsion subgroups of the fibres of $E$ at $n$ different places of $F$.

When an integer $B$ is given as a third argument then the subgroup of elements of order dividing $B$ is bounded, rather than the whole torsion subgroup.

## `GeometricTorsionBound(E): CrvEll[FldFunG] -> RngIntElt`

Given an elliptic curve $E$ defined over a function field $F$, this function computes a bound for the geometric torsion subgroup of $E$. That is, the torsion group of $E(K)$ where $K/F$ is the smallest extension with algebraically closed constant field. In cases where a bound cannot be computed then $0$ is returned.
