Local Solubility#

Efficient routines are provided for testing local solubility for models of all degrees over \({\mathbb{Q}}\).

IsLocallySoluble(model, p): ModelG1, RngIntElt -> BoolElt, Any#
Transformation: BoolElt                    Default: false
Random        : BoolElt                    Default: false
verbose       : LocSol                     Default: Verbose : 1

This determines whether the given genus one model (which must be defined over \({\mathbb{Q}}\) and nonsingular) has a \({\mathbb{Q}}_p\)-rational point. When this is the case, then it also returns a \({\mathbb{Q}}_p\) point.

If the optional argument Transformation is true, then the second returned value is not a point but instead a transformation \(g\) such that g*model has a smooth point on its reduction modulo \(p\).

If Random is true, then (for models of some degrees, including \(4\)) the local point returned is not always the same, when the function is called several times with the same input.

IsLocallySoluble(model): ModelG1 -> BoolElt#

This determines whether the given genus one model (which must be defined over \({\mathbb{Q}}\) and nonsingular) has a \({\mathbb{Q}}_p\)-rational point for all primes \(p\).

This is done by calling IsLocallySoluble(model, p) for all bad primes \(p\).