RandomCurvesOverVerySmallFiniteFields -- Construct a randomly choosen smooth canonical curves over small finite fields
Description
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.
Caveat
This package requires Macaulay2 Version 1.9 or newer.