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.
V2.28, 13 July 2023