Transformations between Genus One Models

A transformation between two genus one models of degree \(n=2\), 3, 4, or 5 is an isomorphism of the underlying data which preserves some additional structure.

Transformations of genus one models have their own type TransG1. A transformation can be applied to a model using '*'. The syntax for creating transformations, and for extracting data from them, is described in this section.

For degree 2 models \(q(x,z)\) without cross terms, or for degree 3 models, a transformation is a tuple \(\left< k, S \right>\), where \(k\) is an element of the coefficient ring; the transformed model is obtained by making the substitution of coordinate variables determined by \(S\) and multiplying the equation by \(k\). For degree 2 models with cross terms a transformation is a tuple \(\left< k, [A,B,C], S \right>\), where \(k\) and \(S\) are as above and in addition \(y+Ax^2+Bx z + Cz^2\) is substituted for \(y\) in the transformation. For degree 4, the first element is a \(2 \times 2\) matrix; a model of degree 4 is given by two quadric equations, and the \(2 \times 2\) matrix determines a change of basis of the quadrics (acting on them from the left). A transformation of degree \(5\) models is a tuple \(\left< T,S \right>\) where \(T\) and \(S\) are both \(5 \times 5\) matrices; a model of degree \(5\) is given by a \(5 \times 5\) matrix of linear forms \(M\), and the transformed model is given by \(TM_ST^{tr}\) where \(M_S\) is obtained from \(M\) by making the substitution of coordinate variables specified by \(S\).

Two genus one models are said to be equivalent if they differ by such a transformation. Equivalent models have the same invariants up to scaling by the 4th and 6th powers of some element.

IsTransformation(n, g): RngIntElt, Tup -> BoolElt, TransG1

This returns true if and only if the tuple \(g\) represents a transformation of genus one models of degree \(n\). If so, it also returns the transformation as an object of type TransG1.

Tuple(g): TransG1 -> Tup

This returns a tuple containing the data that defines the given transformation of genus one models.

ChangeRing(g, R): TransG1, Rng -> TransG1

For a transformation \(g\) of genus one models, this constructs the same transformation over the ring \(R\).

IdentityTransformation(n, R): RngIntElt, Rng -> TransG1

The identity transformation of genus one models of degree \(n\).

RandomTransformation(n : parameters): RngIntElt -> TransG1
Size      : RngIntElt                    Default: 5
Unimodular: BoolElt                      Default: false
CrossTerms: BoolElt                      Default: false

A random transformation of genus one models of degree \(n\). When Unimodular is set to true then the returned transformation is integrally invertible.

The optional parameter Size is passed to RandomSL or RandomGL.

In degree 2, if CrossTerms is false then the returned transformation preserves the set of models with no cross terms.

g * model: TransG1, ModelG1 -> ModelG1
ApplyTransformation(g, model): TransG1, ModelG1 -> ModelG1

The result of applying the transformation \(g\) to the genus one model.

g1 * g2: TransG1, TransG1 -> TransG1
ComposeTransformations(g1, g2): TransG1, TransG1 -> TransG1
MultiplyTransformations(g1, g2): TransG1, TransG1 -> TransG1

The composition \(g1*g2\) of two transformations of genus one models. Transformations of genus one models act on the left: \((g1 * g2) * model = g1 * (g2 * model)\).

Inverse(g): TransG1 -> TransG1
InverseTransformation(g): TransG1 -> TransG1
InverseTransformation(n, g): RngIntElt, TransG1 -> TransG1

The inverse of the transformation \(g\) of genus one models.

ScalingFactor(g): TransG1 -> RngElt
ScalingFactor(n, g): RngIntElt, TransG1 -> RngElt

The scaling factor of the transformation \(g\) of genus one models. This an element \(\lambda\) such that if a genus one model has invariants \(c_4\) and \(c_6\) then the transformed model has invariants \(\lambda^4 c_4\) and \(\lambda^6 c_6\).

Determinant(g): TransG1 -> RngElt

The determinant of the matrix associated with the transformation \(g\).