# Attributes of Genus One Models

## `Degree(model): ModelG1 -> RngIntElt`

The degree (2, 3, 4, or 5) of the given model.

## `DefiningEquations(model): ModelG1 -> [ RngMPolElt ]`

A sequence containing the equations by which the given genus one model (which must have degree 2, 3, or 4) is defined.

## `Equations(model): ModelG1 -> [ RngMPolElt ]`

A sequence containing equations for the scheme associated to the given genus one model (of any degree). For degree 2, 3, or 4 this is the same as `DefiningEquations`.

## `Matrix(model): ModelG1 -> Mtrx`

The defining matrix of a genus one model of degree 5.

## `Curve(model): ModelG1 -> Crv`

## `HyperellipticCurve(model): ModelG1 -> CrvHyp`

## `QuadricIntersection(model): ModelG1 -> Crv`

The curve associated to the given genus one model.

In the degree $2$ case the curve is hyperelliptic of the form $y^2 + f(x,z) y - g(x,z) = 0$, but is only created explicitly as a hyperelliptic curve when `HyperellipticCurve` is called; otherwise it is created as a general curve in a weighted projective space in which the variables $x$, $z$, and $y$ have weights 1, 1, and 2).

In the degree 4 case the curve is an intersection of two quadrics in ${\mathbb{P}}^3$.

An error results in degenerate cases where the equations of the model do not define a curve

## `Matrices(model): ModelG1 -> [ AlgMatElt ]`

For a genus one model of degree 4 this function returns a sequence containing two $4 \times 4$ symmetric matrices representing the quadrics.

## `BaseRing(model): ModelG1 -> Rng`

The coefficient ring of the given model.

## `PolynomialRing(model): ModelG1 -> RngMPol`

The polynomial ring used to define the model.

## `ModelToSequence(model): ModelG1 -> [ RngElt ]`

## `Eltseq(model): ModelG1 -> [ RngElt ]`

A sequence containing the defining coefficients of the given genus one model.

## `ModelToString(model): ModelG1 -> MonStgElt`

A string containing the defining coefficients of the given genus one model.
