"Source: Text/Geometry/CrvHyp.text";
"Line: 7760";
"Date: Fri Sep 26 09:12:34 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/CrvHyp.text, line: 7760
// Example: H137E47 ()
print "Example: H137E47";
ei := GetEchoInput();
SetEchoInput(true);
SetVerbose("Igusa",1);
IgCl := [ Rationals() |
  -549600, 8357701824, -1392544870972992, -3126674637319431000064 ];
time C := HyperellipticCurveFromIgusaClebsch(IgCl);
// C is already only well defined up to twist
time C := ReducedWamelenModel(C);
HyperellipticPolynomials(C);
k<t> := GF(16);
g2_invs := [t^3,t^2,t];
HyperellipticCurveFromG2Invariants(g2_invs);
_,auts := $1;
#auts; // auts = D_12
assert $1 eq 12;
k := GF(37);
FJI := [k| 30, 29, 13, 13, 16, 9];
ShiodaAlgebraicInvariants(FJI);
JI := ($1)[1];
HyperellipticCurveFromShiodaInvariants(JI);
P<x> := PolynomialRing(Rationals());
f := x^8 + x^3 + 1;
f2 := P ! (Evaluate(f, (x+1001)/(3*x+5))*(3*x+5)^8);
f2;
I := ShiodaInvariants(f2);
HyperellipticCurveFromShiodaInvariants(I);
SetEchoInput(ei);
