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 \({\operatorname{GL}}_2(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\left((ax + b)/(cx + d)\right) (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 [Lercier et al., 2012].

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) \rightarrow 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) \rightarrow 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 [Lercier et al., 2012].

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 \(y^2 = f(x)\), as a permutation group (and its representation if explicit is set to true).