The problem is to construct a curve of genus 2 from a given set of Igusa--Clebsch invariants defined over the same field as the field of moduli (simply the smallest field in which the invariants lie). Mestre [Mes91] shows that this is not always possible, even in theory. But over a finite field or the rationals he gives a method for deciding whether it is possible and if it is, for finding such a curve. Mestre's algorithm was implemented by P. Gaudry. Mestre's algorithm does not work when the curve has a split Jacobian. Cardona and Quer [CQ05] showed that in this case one can always find a curve defined over the field of moduli and gave equations for such a curve. This works over any field of characteristic not 2, 3 or 5.
In any characteristic, the code package of Lercier and Ritzenthaler produces a genus 2 curve from a given set of Cardona-Quer-Nart-Pujola invariants (see Subsection Igusa Invariants). They use the work of Cardona and Quer cited in the previous paragraph in the odd characteristic case, with some extra work for characteristics 3 and 5. In characteristic 2, they use the models from [CNP05].
Lercier and Ritzenthaler have also contributed a package for genus 3 hyperelliptic curves that produces a curve from a given set of Shioda invariants (see Subsection Shioda Invariants). This works in characteristic not 2, 3, 5 or 7.
Over a field of characteristic zero, the equation of the curve returned by these methods can involve huge coefficients. For curves over the rationals, this curve can be processed by the algorithm of P. Wamelen [Wam99] and [Wam01]. While, in practice, this algorithm often produces a curve with much smaller coefficients, for certain curves the algorithm may not significantly reduce their size.
Reduce: BoolElt Default: false
This attempts to build a curve of genus 2 with the given Igusa-Clebsch invariants (see Subsection Igusa Invariants) by Mestre's algorithm (and Cardona's in case of non-hyperelliptic involutions) defined over the field F in which the invariants lie. Currently this field must be the rationals, a number field, or a finite field of characteristic greater than 5. If there exists no such curve defined over F, then either a curve over some quadratic extension is returned (when F is the rationals), or an error results (when F is a number field).When the base field is the rationals, the parameter Reduce invokes Wamelen's reduction algorithm, and is equivalent to a call to ReducedModel with the algorithm specified as "Wamelen".
From a given sequence of Cardona-Quer-Nart-Pujola invariants (as described in Subsection Igusa Invariants) over a finite field or the rationals, return a genus 2 curve with these absolute invariants. This works in all characteristics as noted in the introduction to the section. The geometric automorphism group is also returned as a finitely-presented group.
Given a sequence of 9 Shioda invariants JI over the rationals or a finite field k, the first intrinsic returns a genus 3 hyperelliptic curve over k with these invariants. The abstract geometric automorphism group is also returned as a permutation group. This will cause an error if JI are singular Shioda invariants.The second intrinsic also works for singular invariants. It returns a polynomial f of degree ≤8 with the given invariants. If JI are non-singular, y2=f(x) is a genus 3 curve with invariants JI.
> SetVerbose("Igusa",1); > IgCl := [ Rationals() | > -549600, 8357701824, -1392544870972992, -3126674637319431000064 ]; > time C := HyperellipticCurveFromIgusaClebsch(IgCl); Found conic point: (-64822283782462146583672682837123736006679080996161747198790\ 94839597076141357421875/1363791104410093031413327266775768846\ 086857295667582286386963073756856153402049457884003686477312, 10188009335968531191794821132584413878133549529657888880045011\ 3779781952464580535888671875/107297694738676628355433722672369\ 86876862256732919126043768293539723478848063808819839532581156\ 5610468983296) Time: 0.990 > time C := ReducedModel(C : Al := "Wamelen"); Time: 161.680 > HyperellipticPolynomials(C); -23*x^6 + 52*x^5 - 55*x^4 + 40*x^3 - 161*x^2 + 92*x - 409 0
An example in characteristic 2 from Cardona-Quer-Nart-Pujola invariants:
> k<t> := GF(16); > g2_invs := [t^3,t^2,t]; > HyperellipticCurveFromG2Invariants(g2_invs); Hyperelliptic Curve defined by y^2 + (x^2 + x)*y = t*x^5 + t*x^3 + t*x^2 + t*x over GF(2^4) Finitely presented group on 3 generators Relations $.2^2 = Id($) $.1^-3 = Id($) ($.1^-1 * $.2)^2 = Id($) $.3^2 = Id($) $.1 * $.3 = $.3 * $.1 $.2 * $.3 = $.3 * $.2 > _,auts := $1; > #auts; // auts = D_12 12
A genus 3 example using Shioda invariants
> k := GF(37); > FJI := [k| 30, 29, 13, 13, 16, 9]; > ShiodaAlgebraicInvariants(FJI); [ [ 30, 29, 13, 13, 16, 9, 14, 35, 0 ], [ 30, 29, 13, 13, 16, 9, 36, 32, 22 ], [ 30, 29, 13, 13, 16, 9, 36, 32, 23 ] ] > JI := ($1)[1]; > HyperellipticCurveFromShiodaInvariants(JI); Hyperelliptic Curve defined by y^2 = 19*x^8 + 13*x^7 + 29*x^6 + 3*x^5 + 16*x^4 + 19*x^3 + x^2 + 27*x + 12 over GF(37) Symmetric group acting on a set of cardinality 2 Order = 2