Macaulay2 » Documentation
Packages » RandomCurvesOverVerySmallFiniteFields :: RandomCurvesOverVerySmallFiniteFields
next | previous | forward | backward | up | index | toc

RandomCurvesOverVerySmallFiniteFields -- randomly chosen smooth canonical curves over small finite fields


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.



This documentation describes version 0.3 of RandomCurvesOverVerySmallFiniteFields.

Source code

The source code from which this documentation is derived is in the file RandomCurvesOverVerySmallFiniteFields.m2.


For the programmer

The object RandomCurvesOverVerySmallFiniteFields is a package.