Two Descent#
In odd characteristic the 2-Selmer group can be computed and its elements can be represented as minimised 2-coverings. A search for points on these 2-coverings can be made.
In characteristic 2 descent by \(2\)-isogeny can be performed for an ordinary curve \(E\) using the isogenies \(E \to E^{frob} \to E\). The Selmer groups for both isogenies are computed; if these have ranks \(s_1\) and \(s_2\) then the rank of \(E\) is at most \(s_1+s_2-1\).
- TwoSelmerGroup(E): CrvEll[FldFunG] -> GrpAb, MapSch#
This function computes the 2-Selmer group of an elliptic curve \(E\) defined over a rational function field \({\mathbb{F}}_q(t)\) of odd characteristic. This is returned as an abstract group together with a map from the group to the relevant algebra.
The algorithm is standard (similar to the one used for elliptic curves over number fields).
- TwoDescent(E): CrvEll[FldFunG] -> SeqEnum[CrvHyp], List[MapSch]#
This represents the nontrivial elements of the \(2\)-Selmer group of \(E\) as hyperelliptic curves \(C : y^2 = f(x)\) of degree \(4\), and returns a sequence containing the curves together with a list containing the corresponding covering maps \(C \to E\). The elliptic curve should be defined over a rational function field \({\mathbb{F}}_q(t)\) of odd characteristic.
The curves returned have polynomial coefficients and are minimised at all finite places. The conic parametrisation step uses the algorithm by Cremona and van Hoeij.
- QuarticMinimize(f): RngMPolElt[FldFunRat] -> RngMPolElt[FldFunRat]#
This is the routine used by
TwoDescentto minimise two-coverings. The function takes a homogeneous quartic in two variables with coefficients in a rational univariate function field and returns a minimal quartic equivalent to \(f\) together with the appropriate transformation matrix.
- Points(C : parameters): CrvHyp -> [Pt]#
Bound: RngIntElt Default:
This finds all rational points with height up to the given
Boundon the hyperelliptic curve \(C\), which must be defined over a rational function field \({\mathbb{F}}_q(t)\). The parameterBoundis not optional, and it refers to the \(x\)-coordinate (logarithmic) height of the points: In other words, the routine finds all projective points \((X:Y:Z)\) where \(X\) and \(Z\) are polynomials in \(t\) of degree less than or equal toBound.
- PointsQI(C, H): Crv, RngIntElt -> [Pt]#
OnlyOne : BoolElt Default: false ExactBound: BoolElt Default: false
This is an optimised routine for finding rational points on a curve given as an intersection of two quadrics defined over a rational function field \({\mathbb{F}}_q(t)\). It searches for projective points whose coordinates are polynomials in \(t\) of degree up to \(H\). To guarantee finding all such points the parameter
ExactBoundmust be set to true.The algorithm uses a lattice reduction method described in [Roberts, 2007].
- TwoIsogenySelmerGroups(E): CrvEll[FldFunG] -> GrpAb, GrpAb, MapSch, MapSch#
This performs descent by \(2\)-isogenies for a non-supersingular elliptic curve \(E\) defined over a rational function field \(k(t)\) where \(k\) is finite of characteristic 2. The isogenies used are the Frobenius map \(E \to E^{frob} : (x,y) \mapsto (x^2,y^2)\) and the dual isogeny \(E^{frob} \to E\) (which is separable). The function returns four objects: the Selmer group \(S^{sep}\) of the separable isogeny (as an abstract group), followed by the Selmer group \(S^{Frob}\) of the Frobenius isogeny, followed by maps \(S^{sep} \to k(t)/\Phi(k(t))\) and \(S^{Frob} \to k(t)^*/(k(t)^*)^2\). Here \(\Phi\) denotes the Artin–Schreier map \(a \mapsto a^2 + a\).
Notes describing the algorithm will be made available (on request). The theoretical background is presented in [Kramer, 1977].