SpaceCurves is a package dedicated to generation of curves in P3. The 1.0 version of the package generates smooth curves of a given degree and genus, ACM curves of a given Hilbert function as well as minimal curves in biliaison class with a given Rao-module.
The method smoothDivisors produces a list of Divisor of a given degree on a given surface. The method curve(Divisor) produces a random curve in a given divisor class. For a given degree, as one varies the input surface from a smooth quadric, a smooth cubic and a rational quartic surface with a double line, all obtainable genus of a smooth curve will occur (save that of a plane curve). The methods to create the said surfaces are: quadricSurface(Ring), cubicSurface(Ring) and quarticSurfaceRational(Ring).
|
|
|
|
|
|
The method curve(ZZ,ZZ) generates a random curve with the specified degree and genus.
|
|
The postulation character of a curve is defined to be the negative of the third numerical difference of its Hilbert function, and gives equivalent information as the Hilbert function. The method function positiveChars(ZZ) generates all possible postulation characters of an ACM curve of a given degree. The method allACMBetti(List) generates all Betti tables of ACM curves with a given postulation character. The method function degreeMatrix(BettiTally) converts the Betti table of an ACM curve to its Hilbert-Burch degree matrix. Finally randomDeterminantalIdeal(Ring,Matrix) generates a random determinantal ideal in a given ring with specified degree format. Combining all three methods we can generate ACM curves of any degree d, exhausting all possibilities of Betti tables.
|
|
|
|
The method minimalCurve(Module) produces a minimal curve in the biliaison class specified by the finite length module. The method minimalCurve(Ideal) produces a random minimal curve in the biliaison class of a given curve.
|
|
|
|
Version 1.0 of this package was accepted for publication in volume 8 of The Journal of Software for Algebra and Geometry on 18 May 2018, in the article The SpaceCurves package in Macaulay2 (DOI: 10.2140/jsag.2018.8.31). That version can be obtained from the journal.
This documentation describes version 1.0 of SpaceCurves.
If you have used this package in your research, please cite it as follows:
|
The object SpaceCurves is a package, defined in SpaceCurves.m2.
The source of this document is in SpaceCurves.m2:733:0.