# Subcanonical Curves

A *subcanonical curve* is a polarised variety $C,D$ where $C$ is a nonsingular curve of genus $g\ge 2$ and $D$ is a divisor on $C$ such that $K_C = kD$ for some positive integer $k$.

## Creation of Subcanonical Curves

### `SubcanonicalCurve(g, d, Q): RngIntElt, RngIntElt, SeqEnum -> GRCrvK`

The subcanonical curve $C,D$ of genus $g$, degree $d$ and initial Hilbert series coefficients $Q$.

### `IsSubcanonicalCurve(g, d, Q): RngIntElt, RngIntElt, SeqEnum -> BoolElt, GRCrvK`

Return `true` if and only if the data $g,d,Q$ passes some basic checks that there is a subcanonical curve $C,D$ of genus $g$, degree $d$ and initial Hilbert series coefficients $Q$. In that case, the second return value is such a curve.

### `HilbertPolynomialOfCurve(g, m): RngIntElt, RngIntElt -> RngUPolElt`

The Hilbert polynomial $mt + 1 - g$ of a divisor of degree $m$ on a curve of genus $g$.

### `IsEffective(C): GRCrvK -> BoolElt`

Return `true` if and only if the polarising divisor of the subcanonical curve $C$ is effective; that is, if and only if the Hilbert series has the form $1 + p_1t + \cdots$ with $p_1>0$.

## Catalogue of Subcanonical Curves

This section describes intrinsics that allow the user to generate many examples of Hilbert series of subcanonical curves and attempt to interpret them as curves embedded in wps.

### `EffectiveSubcanonicalCurves(g): RngIntElt -> SeqEnum`

### `EffectiveSubcanonicalCurves(g, d): RngIntElt, RngIntElt -> SeqEnum`

A sequence containing data for effective subcanonical curves of genus $g\ge 3$ (polarised by a divisor of degree $d$ if the second argument is given).

### `IneffectiveSubcanonicalCurves(g): RngIntElt -> SeqEnum`

### `IneffectiveSubcanonicalCurves(g, d): RngIntElt, RngIntElt -> SeqEnum`

A sequence containing data for ineffective subcanonical curves of genus $g\ge 3$ (polarised by a divisor of degree $d$ if the second argument is given).
