Computes a smooth canonical curve of genus g<=15 over a field of characteristc p. For genus g<=14 are based on the unirationality of M_g for g<=14 and the RandomCurves-package. 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 constructions 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.
i1 : time ICan = smoothCanonicalCurve(11,5); -- used 2.68929 seconds ZZ o1 : Ideal of --[t ..t ] 5 0 10 |
i2 : (dim ICan, genus ICan, degree ICan) o2 = (2, 11, 20) o2 : Sequence |
i3 : betti ICan 0 1 o3 = total: 1 36 0: 1 . 1: . 36 o3 : BettiTally |
The object smoothCanonicalCurve is a method function with options.