This package can be seen as a refined version of the RandomCanonicalCurves package, which catches all possible missteps in the constructions. The construction follows the unirationality proof of M_g for g<=14 and the article Matrix factorizations and families of curves of genus 15 for the genus g=15 case. Since a unirational parametrization of M_g is only a rational map, bad choices of parameters in the construction might end up in the indeterminacy locus or other undesired subloci. Since for example a hypersurface in characteristic 2 contains about 90% of the F_2-rational points (see A quick and dirty irreducibility Test for Multivariate Polynomials over F_q), a failure of the construction in the various steps is quite likely. We catch all possible missteps, and try again until success.

For g<=10 we construct the canonical curves via plane models.

For 10<g<14 the canonical curves are constructed via space models.

For g=14 the construction is based on Verra's proof of the unirationality of M_14 (see The unirationality of the moduli space of curves of genus ≤14 ).

The g=15 construction relies on matrix factorizations and is based on the Macaulay2 Package Matrix factorizations and families of curves of genus 15.

For g <=14, the methods used in this package are based on the Macaulay2 Package randomCurves and the methods for the g=15 case are based on the Macaulay2-package MatFac15.

This package requires Macaulay2 Version 1.9 or newer.

- Functions and commands
- isSmoothCurve -- Tests smoothness of a curve
- smoothCanonicalCurve -- Computes the ideal of canonical curve
- smoothCanonicalCurveGenus14 -- Compute a random canonical curve of genus 14
- smoothCanonicalCurveGenus15 -- Computes the ideal of canonical curve of genus 15
- smoothCanonicalCurveViaPlaneModel -- Computes the ideal of canonical curve via plane models
- smoothCanonicalCurveViaSpaceModel -- Computes the ideal of canonical curve via space models