Local Solubility

Efficient routines are provided for testing local solubility for models of all degrees over Q.

IsLocallySoluble(model, p) : ModelG1, RngIntElt -> BoolElt, Any
    Transformation: BoolElt             Default: false
    Random: BoolElt                     Default: false
    SetVerbose("LocSol", n):            Maximum: 1
This determines whether the given genus one model (which must be defined over Q and nonsingular) has a Qp-rational point. When this is the case, then it also returns a Qp 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 Q and nonsingular) has a Qp-rational point for all primes p.

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

V2.28, 13 July 2023