Isomorphisms
Isomorphisms and automorphisms of plane quartics have been implemented following the covariant method due to van Rijnswou [vR01] that is also used in another form in the reconstruction algorithms. Let \(C_1\) and \(C_2\) be two plane quartic curves over a field \(k\). The present algorithm first checks for equality of normalized Dixmier–Ohno invariants of \(C_1\) and \(C_2\), since if this equality does not hold, no isomorphisms can exist.
If this condition is satisfied, the algorithms first try to find the actual isomorphisms \(C_1 \to C_2\) under the assumption that \(I_{12} \neq 0\). In this case, [vR01] shows that the use of a suitable covariant reduces this question to finding transformations between certain binary forms associated to \(C_1\) and \(C_2\), which leads us to the same computation of elements in \({\rm GL}_2 (k)\). In non-generic cases, a direct Gröbner basis method due to Michael Stoll is used.
Once again the algorithms admit both a version over the base field and a geometric version, with the latter finding the isomorphisms over the algebraic closure of \(k\). Both versions are very efficient over finite fields, and the version over the base field is also reasonably fast for \(k = {\mathbb{Q}}\). By contrast, finding geometric isomorphisms between plane quartic curves over the rationals can still take a fair amount of time. For more general fields, the implementation still takes too long, and our functions therefore restrict considerations to the cases where \(k\) is either finite or the rational field.
- IsIsomorphicPlaneQuartics(X1, X2): CrvPln, CrvPln -> BoolElt, SeqEnum
- IsIsomorphicTernaryQuartics(f1, f2): RngMPolElt, RngMPolElt -> BoolElt, SeqEnum
geometric: BoolElt Default: false
Determine if the plane quartic curves \(X_1\) and \(X_2\) or the ternary quartics \(f_1\) and \(f_2\) are isomorphic, and return the isomorphism between them. If the flag
geometricis set totrue, then test is performed over the algebraic closure of the base field, over which the isomorphisms are then determined as well.
- IsomorphismsOfPlaneQuartics(X1, X2): CrvPln, CrvPln -> SeqEnum
- IsomorphismsOfTernaryQuartics(f1, f2): RngMPolElt, RngMPolElt -> SeqEnum
geometric: BoolElt Default: false
Return the isomorphisms between the plane quartic curves \(X_1\) and \(X_2\) or between then ternary quartic forms \(f_1\) and \(f_2\). If the flag
geometricis set totrue, then the isomorphisms over the algebraic closure of the base field are returned.
- AutomorphismsOfPlaneQuartic(X): CrvPln -> SeqEnum
- AutomorphismsOfTernaryQuartic(f): RngMPolElt -> SeqEnum
geometric: BoolElt Default: false
Return the automorphisms of the plane quartic curve \(X\) or the ternary quartic form \(f\) as matrices. If the flag
geometricis set totrue, then the automorphisms over the algebraic closure of the base field are returned.
- AutomorphismGroupOfPlaneQuartic(X): CrvPln -> GrpPerm, Map
- AutomorphismGroupOfTernaryQuartic(f): RngMPolElt -> GrpPerm, Map
geometric: BoolElt Default: false explicit : BoolElt Default: false
Return the automorphisms of the plane quartic curve \(X\) or the ternary quartic form \(f\) as an abstract group, along with a map from said group to a matrix group if the flag
explicitis set totrue. If the flaggeometricis set totrue, then the automorphisms over the algebraic closure of the base field are returned.
- Example: Automorphisms of the Klein Quartic (ex-153f49)
Run in calculator (opens in a new tab)
We determine the automorphisms of a plane quartic over the rationals.
> P<x,y,z> := PolynomialRing(Rationals(), 3); > PP := ProjectiveSpace(P); > C := Curve(PP, x^3*y+y^3*z+z^3*x); > aut, phi := AutomorphismGroupOfPlaneQuartic(C : geometric:=true, > explicit := true); > aut; Permutation group aut acting on a set of cardinality 8 Order = 168 = 2^3 * 3 * 7 (2, 3, 4)(5, 8, 7) (2, 4, 5)(3, 6, 7) (1, 2)(3, 7)(4, 5)(6, 8) > GroupName(aut); PSL(2,7) > [phi(aut.i) : i in [1..Ngens(aut)]]; [ [0 0 1] [1 0 0] [0 1 0], [0 0 -r1^5 - r1^4 - r1^3 - r1^2 - r1 - 1] [1 0 0] [0 r1^4 0], [1 r1^2 + r1 -r1^5 - r1^4 - r1^3] [-r1^4 - r1^3 - r1^2 - r1 - 1 r1^5 + r1^4 + r1^3 + r1^2 -r1^5 - r1^4 - r1^3 - r1^2 - r1 - 1] [-r1^4 - r1^3 - r1^2 r1 r1^4 + r1^3] ]
- AutomorphismGroupOfPlaneQuartic(X, Autos): CrvPln, SeqEnum -> GrpPerm, Map
- AutomorphismGroupOfTernaryQuartic(f, Autos): RngMPolElt, SeqEnum -> GrpPerm, Map
explicit: BoolElt Default: false
Return the automorphisms Autos of the plane quartic curve \(X\) or the ternary quartic form \(f\) as an abstract group, along with a map from said group to a matrix group if the flag
explicitis set totrue.