Twists

Using classical reductions to compute the cohomology set H1(Gal(/line(k)/k), Aut(C)) over finite fields, the function Twists computes a list of representatives of all twists of a smooth plane quartic over a finite field. This relies on the prior computation of the geometric automorphism group of C, which the algorithms return as a second value when requested.

TwistsOfPlaneQuartic(C, Autos) : Crv , SeqEnum -> SeqEnum[Crv], GrpPerm
    AutomorphismGroup: BoolElt          Default: false
Compute the twists of the plane quartic curve C from its geometric automorphism group Autos. If AutomorphismGroup is set to true, then the furnished automorphism group is additionally returned as an abstract group.

For more details, see [MT10], [LRRS14].

Twists(C) : Crv -> SeqEnum, GrpPerm
    AutomorphismGroup: BoolElt          Default: false
Compute the twists of the elliptic, hyperelliptic or plane quartic curve C. If AutomorphismGroup is set to true, then the geometric automorphism group of C is additionally returned as an abstract group.

Example CrvG3_twists-ex (H133E5)

We compute the twists of the Klein quartic over F31.
> P<x,y,z> := PolynomialRing(GF(31), 3);
> PP := ProjectiveSpace(P);
> f := x^3*y + y^3*z + z^3*x;
> C := Curve(ProjectiveSpace(P), f);
> #Twists(C);
4
V2.28, 13 July 2023