smoothCanonicalCurve(g,p)
Computes a smooth canonical curve of genus g<=15 over a field of characteristic p. For genus g<=14 are based on the unirationality of M_g for g<=14 and the RandomCurvespackage. A unirational parametrization of M_g is only a rational map and bad choices of parameters (which are quite likely over small fields) might end up in the indeterminacy locus or some other undesired subloci. In this construction, we catch the steps which do not work out for very small characteristic by catching all possible missteps.
For g<=10 the curves are constructed via plane models.
For g<=13 the curves are constructed via space models.
For g=14 the curves are constructed by Verra's method.
For g=15 the curves are constructed via matrix factorizations.
If the option Printing is set to true then printings about the current step in the construction are displayed.



The object smoothCanonicalCurve is a method function with options.