Isomorphisms#
Isomorphisms and automorphisms of plane quartics have been implemented following the covariant method due to van Rijnswou [van Rijnswou, 2001] 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, [van Rijnswou, 2001] 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: Auts Ex (ex-153f49)#
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.
- GeometricAutomorphismGroup(C): Crv -> GrpPerm#
Compute the geometric automorphism group of the elliptic, hyperelliptic, or plane quartic curve \(C\).