Twists

Using classical reductions to compute the cohomology set \(H^1({\rm Gal}(\overline{k}/k),{\rm 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 [LRRS14, MT10].

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: Twists of the Klein Quartic (ex-ae635c)

We compute the twists of the Klein quartic over \({\mathbb{F}}_{31}\).

> 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

Run in calculator (opens in a new tab)