Reduced Automorphism Group and Reduced Isomorphism Testing

The function IsGL2Equivalent plays a central role in the isomorphism testing, and is documented here due to its central role in these computations.

IsGL2Equivalent(f, g, n) : RngUPolElt, RngUPolElt, RngIntElt -> BoolElt, SeqEnum
This function returns true if and only if f and g are in the same GL2(k)-orbit, where k is the coefficient field of their parent, modulo scalars. The polynomials are considered as homogeneous polynomials of degree n, where n must be at least 4. The second return value is the sequence of all matrix entries [a, b, c, d] such that g(x) is a constant times f((ax + b)/(cx + d)) (cx + d)n.
IsGL2EquivalentExtended(f1, f2, deg) : RngUPolElt, RngUPolElt, RngIntElt -> BoolElt, List
    geometric: BoolElt                  Default: false
    commonfield: BoolElt                Default: true
    covariant: BoolElt                  Default: true
Returns a boolean indicating whether a matrix T exists such that the change of variable induced on f1 by T, f1 * T, is a multiple of f2, as well as a full list of all such matrices.

If geometric is set to true, then the set of isomorphisms over the algebraic closure of the base field is returned. If commonfield is set to false, then the isomorphisms that are returned may be defined over different fields. Of covariant is set to false, then the calculation of the isomorphisms is performed by a direct methods instead of applying the usual covariant reduction.

For more details, see [LRS12].

IsReducedIsomorphicHyperellipticCurves(X1, X2) : CrvHyp , CrvHyp -> BoolElt, List
IsReducedIsomorphicHyperellipticCurves(f1, f2) : RngUPolElt , RngUPolElt -> BoolElt, List
    geometric: BoolElt                  Default: false
    commonfield: BoolElt                Default: true
    covariant: BoolElt                  Default: true
Returns a boolean indicating whether a matrix T exists that induces an isomorphism f1(x) -> f2(x) (f1 and f2 resp. define X1 and X2), as well as a full list of all such matrices.

If geometric is set to true, then the set of isomorphisms over the algebraic closure of the base field is returned. If commonfield is set to false, then the isomorphisms that are returned may be defined over different fields. Of covariant is set to false, then the calculation of the isomorphisms is performed by a direct methods instead of applying the usual covariant reduction.

ReducedIsomorphismsOfHyperellipticCurves(X1, X2) : CrvHyp , CrvHyp -> List
ReducedIsomorphismsOfHyperellipticCurves(f1, f2) : RngUPolElt , RngUPolElt -> List
    geometric: BoolElt                  Default: false
    commonfield: BoolElt                Default: true
    covariant: BoolElt                  Default: true
Returns a full list of matrices T that induce an isomorphism f1(x) -> f2(x) (f1 and f2 resp. define X1 and X2).

If geometric is set to true, then the set of isomorphisms over the algebraic closure of the base field is returned. If commonfield is set to false, then the isomorphisms that are returned may be defined over different fields. Of covariant is set to false, then the calculation of the isomorphisms is performed by a direct methods instead of applying the usual covariant reduction.

For more details, see [LRS12].

ReducedAutomorphismsOfHyperellipticCurve(X) : CrvHyp -> List
ReducedAutomorphismsOfHyperellipticCurve(f) : RngUPolElt -> List
    geometric: BoolElt                  Default: false
    commonfield: BoolElt                Default: true
    covariant: BoolElt                  Default: true
Return the automorphism group of the defining polynomial of X, as a full list of matrices T.

If geometric is set to true, then the set of isomorphisms over the algebraic closure of the base field is returned. If commonfield is set to false, then the isomorphisms that are returned may be defined over different fields. Of covariant is set to false, then the calculation of the isomorphisms is performed by a direct methods instead of applying the usual covariant reduction.

ReducedAutomorphismGroupOfHyperellipticCurve(X, Autos) : CrvHyp , List -> GrpPerm, Map
ReducedAutomorphismGroupOfHyperellipticCurve(f, Autos) : RngUPolElt , List -> GrpPerm, Map
    explicit: BoolElt                   Default: false
Return the automorphisms group defined by the sequence Autos, as a permutation group (and its representation if explicit is set to true).
ReducedAutomorphismGroupOfHyperellipticCurve(X) : CrvHyp -> GrpPerm, Map
ReducedAutomorphismGroupOfHyperellipticCurve(f) : RngUPolElt -> GrpPerm, Map
Return the automorphisms group of the curve y2 = f(x), as a permutation group (and its representation if explicit is set to true).
V2.28, 13 July 2023