Magma

MAGMA Computational Algebra System

Magma
 •  How to get it
 •  Download
 •  Online Demo
 
Resources
 •  Online Help
 •  Discovering Mathematics with Magma
 •  Citations
 •  How to cite Magma
 •  Links
 •  Contact us
 
[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Operations on Curves

Subsections

Elementary Invariants

HyperellipticPolynomials(C) : CrvHyp -> RngUPolElt, RngUPolElt
The univariate polynomials f(x), h(x), in that order, defining the hyperelliptic curve C by y2 + h(x)y = f(x).
Degree(C) : CrvHyp -> RngIntElt
Degree(C) : SetPtHyp -> RngIntElt
The degree of the hyperelliptic curve C or a pointset C of a hyperelliptic curve.
Discriminant(C) : CrvHyp -> RngElt
The discriminant of the hyperelliptic curve C.
Genus(C) : CrvHyp -> RngIntElt
The genus of the hyperelliptic curve C.

Igusa Invariants

The Clebsch, Igusa--Clebsch and Igusa invariants may be computed for curves of genus 2.

The Magma package implementing the functions was written by Everett W. Howe (however@alumni.caltech.edu) with some advice from Michael Stoll and is based on some gp routines written by Fernando Rodriguez--Villegas as part of the Computational Number Theory project funded by a TARP grant. The gp routines may be found at http://www.ma.utexas.edu/users/villegas/cnt/inv.gp.

In addition, a package of functions wriiten by Reynald Lercier and Christophe Ritzenthaler has been added which contains, amongst other things, functionality for working with a different set of absolute (as opposed to weighted projective) invariants referred to as Cardona-Quer-Nart-Pujola invariants. These work in characteristic 2 as well as other characteristics, although the definitions are different in the two cases.

Rodriguez--Villegas's routines are based on a paper of Mestre [Mes91]. The first part of Mestre's paper summarizes work of Clebsch and Igusa, and is based on the classical theory of invariants. This package contains functions to compute three types of invariants of quintic and sextic polynomials f (or, perhaps more accurately, of binary sextic forms):

The Clebsch invariants A, B, C, D of f, as defined on p. 317 of Mestre;

The Igusa--Clebsch invariants A', B', C', D' of f, as defined on p. 319 of Mestre; and

The Igusa invariants (or Igusa J-invariants, or J-invariants) J2, J4, J6, J8, J10 of f, as defined on p. 324 of Mestre.

The corresponding functions are ClebschInvariants, IgusaClebschInvariants, and JInvariants, respectively. For convenience, we use IgusaInvariants as a synonym for JInvariants.

Igusa invariants may be defined for a curve of genus 2 over any field and for polynomials of degree at most 6 over fields of characteristic not equal to 2. The Igusa invariants of the curve y2 + hy = f are equal to the Igusa invariants of the polynomial h2 + 4 * f except in characteristic 2, where the latter are not defined. In practice, the functions below will not calculate the Igusa invariants of a polynomial unless 2 is a unit in the coefficient ring. However, Igusa invariants of curves are available for all coefficient rings. (But see below.)

Igusa invariants are given by a sequence [ J2, J4, J6, J8, J10 ] of five elements of the coefficient ring of the polynomials defining the curve. This sequence should be thought of as living in weighted projective space, with weights 2, 4, 6, 8, and 10.

It should be noted that many of the people who work with genus 2 curves over the complex numbers prefer not to work with the real Igusa invariants, but rather work with some related numbers, [ I2, I4, I6, I10 ] (or [ A', B', C', D' ] in Mestre's terminology), that we call the Igusa--Clebsch invariants, of the curve. Once again, these live in weighted projective space. The Igusa--Clebsch invariants of a polynomial are defined in terms of certain nice symmetric polynomials in its roots, and, in characteristic zero, the J-invariants may be obtained from the I-invariants by some simple homogeneous transformations. In fact, many of the genus-2-curves-over-the-complex-numbers people refer to the elements i1 := I25/I10, i2 := I23 * I4/I10 and i3 := I22 * I6/I10 as the "invariants" of the curve. The problem with the Igusa--Clebsch invariants is that they do not work in characteristic 2 and it was for this reason that Igusa defined his J-invariants.

The coefficient ring of the polynomial f must be an algebra over a field of characteristic not equal to 2 or 3.

The Cardona-Quer-Nart-Pujola invariants are three absolute invariants g1, g2, g3 which can be derived from the J-invariants and which provide an affine classification of all genus two curves over a basefield k up to isomorphism over bar(k). That is, there is a 1-1 correspondence between bar(k)-isomorphism classes of such curves and triples (g1, g2, g3) in k3. There are also functions to construct a curve with given invariants and to find all twists of such a curve (ie representatives of the k-isomorphism classes in the given bar(k)-isomorphism class), which will be described in later sections.

The invariants are different in the characteristic 2 and odd (or 0) characteristic cases. Details about the former case may be found in [CNP05]. See [CQ05] for the latter case. In the odd characteristic case, the formulae for [g1, g2, g3] in terms of the J-invariants are as follows:

[((J25)/(J10)), ((J23J4)/(J10)), ((J22J6)/(J10))] J2 ≠0

[0, ((J45)/(J210)), ((J4J6)/(J10))] J2 = 0, J4 ≠0

[0, 0, ((J65)/(J210))] J2 = J4 = 0

In the characteristic 2 case, the field k must be perfect. Formulae for the invariants (labelled ji rather than gi) may be found on p. 191 of [CNP05].

ClebschInvariants(C) : CrvHyp -> SeqEnum
Given a hyperelliptic curve C having genus 2, compute the Clebsch invariants A, B, C and D as described on p. 317 of [Mes91]. The base field of C may not have characteristic 2, 3 or 5. The invariants are found using Überschiebungen.
ClebschInvariants(f) : RngUPolElt -> SeqEnum
Given a polynomial f of degree at most 6, compute the Clebsch invariants A, B, C and D as described on p. 317 of [Mes91]. The coefficient ring of the polynomial f must be an algebra over a field of characteristic not equal to 2, 3 or 5. The invariants are found using Überschiebungen.
IgusaClebschInvariants(C: parameters) : CrvHyp -> SeqEnum
    Quick: BoolElt                      Default: false
Given a curve C of genus 2 defined over a field, the Igusa--Clebsch invariants A', B', C' and D' as described on p. 319 of [Mes91] are found. These will be all be zero in characteristic 2. If Quick is true, the base field of C may not have characteristic 2, 3 or 5 and a faster method using Überschiebungen is employed; otherwise, universal formulae are used.
IgusaClebschInvariants(f, h) : RngUPolElt, RngUPolElt -> SeqEnum
Given a polynomial h having degree at most 3 and a polynomial f having degree at most 6, the Igusa--Clebsch invariants A', B', C' and D' of the curve y2 + hy - f = 0 are found. These will be all be zero in characteristic 2.

IgusaClebschInvariants(f: parameters) : RngUPolElt -> SeqEnum
    Quick: BoolElt                      Default: false
Given a polynomial f having degree at most 6 and defined over a ring in which 2 is a unit, the Igusa--Clebsch invariants A', B', C' and D' of the polynomial f are found. These will be all be zero in characteristic 2. If Quick is true, the coefficient ring of f may not have characteristic 2, 3 or 5 and a faster method using Überschiebungen is employed; otherwise, universal formulae are used.

IgusaInvariants(C: parameters): CrvHyp -> SeqEnum
JInvariants(C: parameters): CrvHyp -> SeqEnum
    Quick: BoolElt                      Default: false
Given a curve C of genus 2 defined over a field, the function returns the Igusa invariants (or J-invariants) J2, J4, J6, J8, J10 as described on p. 324 of [Mes91]. If Quick is true, the base field of C may not have characteristic 2, 3 or 5 and a faster method using Überschiebungen is employed; otherwise, universal formulae are used.
IgusaInvariants(f, h): RngUPolElt, RngUPolElt -> SeqEnum
JInvariants(f, h): RngUPolElt, RngUPolElt -> SeqEnum
Given a polynomial h having degree at most 3 and a polynomial f having degree at most 6, this function returns the Igusa invariants (or J-invariants) J2, J4, J6, J8, J10 of the curve y2 + hy = f. The coefficient ring R of the polynomials h and f must either (a) have characteristic 2, or (b) be a ring in which Magma can apply the operator ExactQuotient(n,2). For example, R may be an arbitrary field, the ring of rational integers, a polynomial ring over a field or over the integers and so forth. However, R may not be a p-adic ring, for instance. If the desired coefficient ring does not meet either condition (a) or condition (b), then ScaledIgusaInvariants should be used and its invariants then scaled by the appropriate powers of 1/2.
IgusaInvariants(f: parameters) : RngUPolElt -> SeqEnum
JInvariants(f: parameters) : RngUPolElt -> SeqEnum
    Quick: BoolElt                      Default: false
Given a polynomial f having degree at most 6 which is defined over a ring in which 2 is a unit, return the Igusa invariants (or J-invariants) J2, J4, J6, J8, J10 of f. If Quick is true, the coefficient ring of f may not have characteristic 2, 3 or 5 and a faster method using Überschiebungen is employed; otherwise, universal formulae are used.
ScaledIgusaInvariants(f, h): RngUPolElt, RngUPolElt -> SeqEnum
Given a polynomial h having degree at most 3 and a polynomial f having degree at most 6, return the Igusa J-invariants of the curve y2 + hy = f, scaled by [16, 162, 163, 164, 165].
ScaledIgusaInvariants(f): RngUPolElt -> SeqEnum
Given a polynomial f having degree at most 6 which is defined over a ring not of characteristic 2, return the Igusa J-invariants of f, scaled by [16, 162, 163, 164, 165].
AbsoluteInvariants(C) : CrvHyp -> SeqEnum
Given a curve C of genus 2 defined over a field, the function computes the ten absolute invariants of C as described on p. 325 of [Mes91].
ClebschToIgusaClebsch(Q) : SeqEnum -> SeqEnum
Convert Clebsch invariants in the sequence Q to Igusa--Clebsch invariants.
IgusaClebschToIgusa(S) : SeqEnum -> SeqEnum
Convert Igusa--Clebsch invariants in the sequence S to Clebsch invariants.
G2Invariants(C) : CrvHyp -> SeqEnum
Compute and return the sequence of three Cardona-Quer-Nart-Pujola invariants (see the introduction above) for C of genus 2.
G2ToIgusaInvariants(GI) : SeqEnum -> SeqEnum
Convert the sequence of Cardona-Quer-Nart-Pujola invariants (see the introduction above) to a corresponding sequence of Igusa J-invariants.
IgusaToG2Invariants(JI) : SeqEnum -> SeqEnum
Convert the sequence of Igusa J-invariants to Cardona-Quer-Nart-Pujola invariants (see the introduction above).

Base Ring

BaseField(C) : Sch -> Fld
BaseRing(C) : Sch -> Fld
CoefficientRing(C) : Sch -> Fld
The base field of the hyperelliptic curve C.
 [Next][Prev] [Right] [Left] [Up] [Index] [Root]
                       

Version: V2.16 of Mon Nov 16 15:04:45 EST 2009

Valid HTML 4.01! Valid CSS!