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

RandomCurves -- constructing random curves in various ways

Description

A RandomObject in this sense is a hashTable consisting of two functions, one that can construct a random point and the other that can certify that the thing constructed has the desired property, say being a smooth space curve of the desired genus and degree. This is employed through a call such as random spaceCurve, which returns the constructor function; thus to get a random curve of degree d and genus g one must do something like

(random spaceCurve)(d,g,R)

where R is the homogeneous coordinate ring of P^3.

For a different approach, see the package SpaceCurves; there special curves in P^3 of every genus and degree that is allowed by Castelnuovo's theorem are constructed on surfaces of degree <=4, following the Theorem of Gruson and Peskine.

This package provides the construction of random curves $C \subset \mathbb{P}^{ 3}$ for various values for its degree $d$ and genus $g$. A space curve $C \subset \mathbb{P}^{ 3}$ is constructed via its Hartshorne-Rao module $M= H^1_*(\mathcal{I}_C(n))$. In particular, there are constructions for random points in $M_g$ for $g=11,12,13$.

For a algorithms and theoretical background see Needles in a Haystack

This package also generates random nodal plane curves and provides related methods.

Also In this package the unirationality construction of the moduli space $M_{14}$ of curves of genus 14 due to Verra is implemented. The main references are

\ \ \ \ \ [Mu] S. Mukai, Curves, $K3$ surfaces and Fano $3$-folds of genus $\leq 10$. Algebraic geometry and commutative algebra, Vol. I, 357-377, Kinokuniya, Tokyo, 1988.

\ \ \ \ \ [Ve] A. Verra, The unirationality of the moduli spaces of curves of genus 14 or lower. Compos. Math. 141 (2005), no. 6, 1425-1444.

Also This package bundles the constructions for random points in the moduli spaces of curves $M_g$ for $g \leq 14$ based on the proofs of unirationality of $M_g$ by Severi, Sernesi, Chang-Ran and Verra.

Further, it provides for random canonical curves made from nodal plane curves.

For random smooth curves defined over very small fields, see the package RandomCurvesOverVerySmallFiniteFields

Authors

Version

This documentation describes version 1.0 of RandomCurves, released March 1, 2011, updated and combined on June 8, 2026 by D Eisenbud.

Citation

If you have used this package in your research, please cite it as follows:

@misc{RandomCurvesSource,
  title = {{RandomCurves: random smooth curves up to genus 14. Version~1.0}},
  author = {Hans-Christian Graf v. Bothmer and Florian Geiss and Frank-Olaf Schreyer},
  howpublished = {A \emph{Macaulay2} package available at
    \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}}
}

Exports

For the programmer

The object RandomCurves is a package, defined in RandomCurves.m2.


The source of this document is in /build/reproducible-path/macaulay2-1.26.06+ds/M2/Macaulay2/packages/RandomCurves.m2:891:0.