[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Transformations between Genus One Models

A transformation between two genus one models of degree n=2, 3, 4, or 5 is a tuple consisting of two elements. The second element is an n x n matrix determining a linear transformation of the projective coordinates (acting on them from the right). The first element is a "rescaling", which is either a matrix or a scalar.

For degree 2 models q(x, z) without cross terms, or for degree 3 models, a transformation is a tuple < k, S >, 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 < k, [A, B, C], S >, where k and S are as above and in addition y + Ax2 + Bx z + Cz2 is substituted for y in the transformation. For degree 4, the first element is a 2 x 2 matrix; a model of degree 4 is given by two quadric equations, and the 2 x 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 < T, S > where T and S are both 5 x 5 matrices; a model of degree 5 is given by a 5 x 5 matrix of linear forms M, and the transformed model is given by TMSTtr where MS 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 one of these transformations. Equivalent models have the same invariants up to scaling by the 4th and 6th powers of some element, given by ScalingFactor.

IsTransformation(n, g) : RngIntElt, Tup -> BoolElt, RngElt
Return true if and only if the tuple g represents a transformation between genus one models of degree n.
RandomTransformation(n : parameters) : RngIntElt -> Tup
    Size: RngIntElt                     Default: 5
    Unimodular: BoolElt                 Default: false
    CrossTerms: BoolElt                 Default: false
A tuple that represents a random transformation between 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 : Tup, ModelG1 -> ModelG1
ApplyTransformation(g, model) : Tup, ModelG1 -> ModelG1
The result of applying the transformation g to the second argument, which should be a genus one model.
g1 * g2 : Tup, Tup -> Tup
ComposeTransformations(g1, g2) : Tup, Tup -> Tup
The composition g1 * g2 of two transformations of genus one models. Transformations of genus one models act on the left, so (g1 * g2) * f = g1 * (g2 * f).
ScalingFactor(g) : Tup -> RngElt
The scaling factor of a transformation g between genus one models is an element λsuch that if a genus one model has invariants c4 and c6 then the transformed model has invariants λ4 c4 and λ6 c6.
 [Next][Prev] [Right] [Left] [Up] [Index] [Root]

Version: V2.19 of Mon Dec 17 14:40:36 EST 2012