This is RandomSpaceCurves.info, produced by Macaulay2, version 1.25.11

RandomSpaceCurves -- Construction of random space curves of various kinds.
**************************************************************************

Description
===========

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 (see
https://macaulay2.com/Book/ )

Authors
=======

  * Hans-Christian Graf v. Bothmer (see http://www.crcg.de/wiki/User:Bothmer )
    <bothmer@uni-math.gwdg.de>
  * Florian Geiss (see http://www.math.uni-sb.de/ag/schreyer/ )
    <fg@math.uni-sb.de>
  * Frank-Olaf Schreyer (see http://www.math.uni-sb.de/ag/schreyer/ )
    <schreyer@math.uni-sb.de>

Version
=======

This documentation describes version 0.5 of RandomSpaceCurves, released March
1, 2011.

Citation
========

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

+-----------------------------------------------------------------------------+
|@misc{RandomSpaceCurvesSource,                                               |
|  title = {{RandomSpaceCurves: random smooth space curves. Version~0.5}},    |
|  author = {Hans-Christian Graf v. Bothmer and Florian Geiss and Frank-Olaf  |
|  howpublished = {A \emph{Macaulay2} package available at                    |
|    \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}} |
|}                                                                            |
|-----------------------------------------------------------------------------|
|Schreyer},                                                                   |
+-----------------------------------------------------------------------------+

Exports
=======

  * Functions and commands
      * expectedBetti -- compute the expected betti table
        from the Hilbert numerator
      * hilbertNumerator -- calculate Hilbert
        numerator from Hilbert function
      * knownUnirationalComponentOfSpaceCurves
        -- check whether there is a
        unirational construction for a component of the Hilbert scheme of space
        curves
  * Methods
      * certifyHartshorneRaoModule(Module,ZZ,List,PolynomialRing) (missing
        documentation)
      * certifyRandomSpaceCurve(Ideal,ZZ,ZZ,PolynomialRing) (missing
        documentation)
      * constructHartshorneRaoModule(ZZ,List,PolynomialRing) (missing
        documentation)
      * "expectedBetti(RingElement)" -- see expectedBetti,
        -- compute the expected betti table from the Hilbert numerator
      * expectedBetti(List,ZZ) -- compute
        the expected betti table from the Hilbert numerator
      * expectedBetti(ZZ,ZZ,ZZ), --
        compute the expected betti table from the Hilbert numerator
      * "hilbertNumerator(List,ZZ,RingElement)" -- see hilbertNumerator,
        -- calculate Hilbert numerator from Hilbert function
      * "knownUnirationalComponentOfSpaceCurves(ZZ,ZZ)" -- see
        knownUnirationalComponentOfSpaceCurves,
        -- check whether there is a
        unirational construction for a component of the Hilbert scheme of space
        curves
      * randomSpaceCurve(ZZ,ZZ,PolynomialRing) (missing documentation)
  * Other things
      * hartshorneRaoModule -- Compute a random
        Hartshorne-Rao module
      * spaceCurve -- Generates the ideal of a random space
        curve of genus g and degree d

For the programmer
==================

The object RandomSpaceCurves, is a package (Macaulay2Doc),
defined in RandomSpaceCurves.m2.

-------------------------------------------------------------------------------

The source of this document is in RandomSpaceCurves.m2:786:0.

expectedBetti -- compute the expected betti table from the Hilbert numerator
****************************************************************************

  * Usage:
        B=expectedBetti q
  * Inputs:
      * q, a ring element (Macaulay2Doc), a polynomial in
        ZZ[t]
  * Outputs:
      * B, a Betti tally (Macaulay2Doc), a Betti table that
        has Hilbert numerator q, assuming that each sign change in the
        coefficients of q corresponds to a step

Description
===========

calculates the expected betti table  from a given Hilbert Numerator.

+-------------------------+
|i1 : T=ZZ[t]             |
|                         |
|o1 = T                   |
|                         |
|o1 : PolynomialRing      |
+-------------------------+
|i2 : q=1-3*t^2+2*t^3     |
|                         |
|       3     2           |
|o2 = 2t  - 3t  + 1       |
|                         |
|o2 : T                   |
+-------------------------+
|i3 : expectedBetti q     |
|                         |
|            0 1 2        |
|o3 = total: 1 3 2        |
|         0: 1 . .        |
|         1: . 3 2        |
|                         |
|o3 : BettiTally          |
+-------------------------+
|i4 : q=1-5*t^2+5*t^3-t^5 |
|                         |
|        5     3     2    |
|o4 = - t  + 5t  - 5t  + 1|
|                         |
|o4 : T                   |
+-------------------------+
|i5 : expectedBetti q     |
|                         |
|            0 1 2 3      |
|o5 = total: 1 5 5 1      |
|         0: 1 . . .      |
|         1: . 5 5 .      |
|         2: . . . 1      |
|                         |
|o5 : BettiTally          |
+-------------------------+

Ways to use expectedBetti:
==========================

  * "expectedBetti(RingElement)"
  * expectedBetti(List,ZZ) -- compute the
    expected betti table from the Hilbert numerator
  * expectedBetti(ZZ,ZZ,ZZ) -- compute
    the expected betti table from the Hilbert numerator

For the programmer
==================

The object expectedBetti, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in RandomSpaceCurves.m2:693:0.

expectedBetti(List,ZZ) -- compute the expected betti table from the Hilbert numerator
*************************************************************************************

  * Function: expectedBetti,
  * Usage:
        B=expectedBetti(h,r)
  * Inputs:
      * h, a list (Macaulay2Doc), values of the Hilbert function
      * r, an integer (Macaulay2Doc), dimension of ambient protective
        space
  * Outputs:
      * B, a Betti tally (Macaulay2Doc), expected Betti table
        of module with Hilbert function h

Description
===========

+-----------------------------------------------+
|i1 : betti expectedBetti({0,0,4,6,3,0,0,0,0},3)|
|                                               |
|            0  1  2 3 4                        |
|o1 = total: 4 10 11 8 3                        |
|         2: 4 10  3 . .                        |
|         3: .  .  8 2 .                        |
|         4: .  .  . 6 3                        |
|                                               |
|o1 : BettiTally                                |
+-----------------------------------------------+

Caveat
======

The Hilbert function has to be given at positions 0 to d+r+1 where d is the
regularity of the considered variety

Ways to use this method:
========================

  * expectedBetti(List,ZZ) -- compute the
    expected betti table from the Hilbert numerator
-------------------------------------------------------------------------------

The source of this document is in RandomSpaceCurves.m2:735:0.

expectedBetti(ZZ,ZZ,ZZ) -- compute the expected betti table from the Hilbert numerator
**************************************************************************************

  * Function: expectedBetti,
  * Usage:
        B=expectedBetti(g,r,d)
  * Inputs:
      * g, an integer (Macaulay2Doc), the genus
      * r, an integer (Macaulay2Doc), dimension of $\PP^{ r}$
      * d, an integer (Macaulay2Doc), the degree
  * Outputs:
      * B, a Betti tally (Macaulay2Doc), a Betti table that
        has Hilbert numerator the same as for a nondegenerate maximal-rank
        curve of genus g and degree d in $\PP^{ r}$, with O_C(2) non-special.

Description
===========

+---------------------------------+
|i1 : betti expectedBetti(0,4,4)  |
|                                 |
|            0 1 2 3              |
|o1 = total: 1 6 8 3              |
|         0: 1 . . .              |
|         1: . 6 8 3              |
|                                 |
|o1 : BettiTally                  |
+---------------------------------+
|i2 : betti expectedBetti(16,3,15)|
|                                 |
|            0 1  2 3             |
|o2 = total: 1 9 12 4             |
|         0: 1 .  . .             |
|         1: . .  . .             |
|         2: . .  . .             |
|         3: . .  . .             |
|         4: . .  . .             |
|         5: . 9  6 .             |
|         6: . .  6 4             |
|                                 |
|o2 : BettiTally                  |
+---------------------------------+

Ways to use this method:
========================

  * expectedBetti(ZZ,ZZ,ZZ) -- compute
    the expected betti table from the Hilbert numerator
-------------------------------------------------------------------------------

The source of this document is in RandomSpaceCurves.m2:715:0.

hartshorneRaoModule -- Compute a random Hartshorne-Rao module
*************************************************************

  * Usage:
        (random hartshorneRaoModule)(e,HRao,R)
  * Inputs:
      * e, an integer (Macaulay2Doc), smallest degree of the
        Hartshorne-Rao module
      * HRao, a list (Macaulay2Doc), desired dimensions of
        $H^1(\PP^3,I_C(n))$
      * R, a polynomial ring (Macaulay2Doc), coordinate
        ring of $\PP^{ 3}$
  * Outputs:
      * a module (Macaulay2Doc),

Description
===========

Returns the Hartshorne-Rao Module over R with Hilbert function HRao and
expected betti table. The constructions works only for many modules with
diameter {\le} 3.

+--------------------------------------------------------+
|i1 : setRandomSeed("alpha");                            |
| -- setting random seed to 10206284518                  |
+--------------------------------------------------------+
|i2 : R = ZZ/101[x_0..x_3];                              |
+--------------------------------------------------------+
|i3 : betti res (random hartshorneRaoModule)(0,{1},R)    |
|                                                        |
|            0 1 2 3 4                                   |
|o3 = total: 1 4 6 4 1                                   |
|         0: 1 4 6 4 1                                   |
|                                                        |
|o3 : BettiTally                                         |
+--------------------------------------------------------+
|i4 : betti res (random hartshorneRaoModule)(0,{1,4},R)  |
|                                                        |
|            0  1  2  3 4                                |
|o4 = total: 1 10 20 15 4                                |
|         0: 1  .  .  . .                                |
|         1: . 10 20 15 4                                |
|                                                        |
|o4 : BettiTally                                         |
+--------------------------------------------------------+
|i5 : betti res (random hartshorneRaoModule)(0,{1,4,1},R)|
|                                                        |
|            0 1  2 3 4                                  |
|o5 = total: 1 9 16 9 1                                  |
|         0: 1 .  . . .                                  |
|         1: . 9 16 9 .                                  |
|         2: . .  . . 1                                  |
|                                                        |
|o5 : BettiTally                                         |
+--------------------------------------------------------+
|i6 : betti res (random hartshorneRaoModule)(0,{1,4,2},R)|
|                                                        |
|            0 1  2 3 4                                  |
|o6 = total: 1 8 12 7 2                                  |
|         0: 1 .  . . .                                  |
|         1: . 8 12 3 .                                  |
|         2: . .  . 4 2                                  |
|                                                        |
|o6 : BettiTally                                         |
+--------------------------------------------------------+

There are the following options:

* Attempts => ...  a nonnegative integer or infinity (default) that limits the
maximal number of attempts for the construction of the module

* Certify => ...  true or false (default) checks whether the constructed module
has the expected betti Table

+-----------------------------------------------------------------------------+
|i7 : setRandomSeed("alpha");                                                 |
| -- setting random seed to 10206284518                                       |
+-----------------------------------------------------------------------------+
|i8 : betti res (random hartshorneRaoModule)(0,{1,3,2},R)                     |
|                                                                             |
|            0 1 2 3 4                                                        |
|o8 = total: 1 5 9 7 2                                                        |
|         0: 1 1 . . .                                                        |
|         1: . 4 6 2 .                                                        |
|         2: . . 3 5 2                                                        |
|                                                                             |
|o8 : BettiTally                                                              |
+-----------------------------------------------------------------------------+
|i9 : expectedBetti({1,3,2,0,0,0,0},3)                                        |
|                                                                             |
|            0 1 2 3 4                                                        |
|o9 = total: 1 5 7 5 2                                                        |
|         0: 1 1 . . .                                                        |
|         1: . 4 6 . .                                                        |
|         2: . . 1 5 2                                                        |
|                                                                             |
|o9 : BettiTally                                                              |
+-----------------------------------------------------------------------------+
|i10 : null =!= (random hartshorneRaoModule)(0,{1,3,2},R)                     |
|                                                                             |
|o10 = true                                                                   |
+-----------------------------------------------------------------------------+
|i11 : null =!= (random hartshorneRaoModule)(0,{1,3,2},R,Certify=>true,       |
|                                                                             |
|o11 = false                                                                  |
|-----------------------------------------------------------------------------|
|Attempts=>1)                                                                 |
+-----------------------------------------------------------------------------+

if Certify => true and Attempts=>infinity (the default!) are given in this
example, the construction never stops.

Caveat
======

The list HRao needs only to contain the non-zero values of the Hilbert
function.

See also
========

  * spaceCurve -- Generates the ideal of a random space
    curve of genus g and degree d
  * knownUnirationalComponentOfSpaceCurves
    -- check whether there is a
    unirational construction for a component of the Hilbert scheme of space
    curves

For the programmer
==================

The object hartshorneRaoModule, is an instance of
the type RandomObject (RandomObjects).

-------------------------------------------------------------------------------

The source of this document is in RandomSpaceCurves.m2:666:0.

hilbertNumerator -- calculate Hilbert numerator from Hilbert function
*********************************************************************

  * Usage:
        p=hilbertNumerator(L,r,t)
  * Inputs:
      * L, a list (Macaulay2Doc), values of the Hilbert function
      * r, an integer (Macaulay2Doc), dimension of ambient projective
        space
      * t, a ring element (Macaulay2Doc), variable in which
        the hilbertNumerator is given

Description
===========

+----------------------------------------------+
|i1 : T=QQ[t];                                 |
+----------------------------------------------+
|i2 : hilbertNumerator({0,0,4,6,3,0,0,0,0},3,t)|
|                                              |
|       8     7     6     5     4      3     2 |
|o2 = 3t  - 6t  - 2t  + 8t  + 3t  - 10t  + 4t  |
|                                              |
|o2 : T                                        |
+----------------------------------------------+

Caveat
======

The Hilbert function has to be given at positions 0 to d+r+1 where d is the
regularity of the considered variety

Ways to use hilbertNumerator:
=============================

  * "hilbertNumerator(List,ZZ,RingElement)"

For the programmer
==================

The object hilbertNumerator, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in RandomSpaceCurves.m2:760:0.

knownUnirationalComponentOfSpaceCurves -- check whether there is a unirational construction for a component of the Hilbert scheme of space curves
*************************************************************************************************************************************************

  * Usage:
        knownUnirationalComponentOfSpaceCurves(d,g)
  * Inputs:
      * d, an integer (Macaulay2Doc),
      * g, an integer (Macaulay2Doc),
  * Outputs:
      * a Boolean value (Macaulay2Doc), whether there is a
        component of maximal rank curves of degree d and genus g in $\PP^{ 3}$
        with O_C(2) non-special and Hartshorne-Rao module of diameter $\le 3$
        that have a natural free resolution

Description
===========

* diameter = 1. All modules can be constructed

* diameter = 2. The modules can be constructed if the resolution of the generic
module is minimal. This is for instance not the case for (d,g)  being among
(2,1), (1,2), (1,1) .

* diameter = 3. The construction is possible unless the expected Betti table of
the Hartshorne-Rao module has shape

a b c_1 - -

- - c_2 - -

- - c_3 d e

with both 4b-10c_1 < a and 4d-10c_3 < e.

diameter {\ge} 4. he routine returns false, although we actually do know a
couple of constructions which work in a few further cases.

The following example prints an overview table for the constructable cases:

+------------------------------------------------------------------------+
|i1 : matrix apply(toList(2..18),d-> apply(toList(0..26),g->             |
|          if knownUnirationalComponentOfSpaceCurves(d,g) then 1 else 0))|
|                                                                        |
|o1 = | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 |          |
|     | 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 |          |
|     | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 |          |
|     | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 |          |
|     | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 |          |
|     | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 |          |
|     | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |          |
|                                                                        |
|              17       27                                               |
|o1 : Matrix ZZ   <-- ZZ                                                 |
+------------------------------------------------------------------------+

See also
========

  * spaceCurve -- Generates the ideal of a random space
    curve of genus g and degree d
  * hartshorneRaoModule -- Compute a random
    Hartshorne-Rao module

Ways to use knownUnirationalComponentOfSpaceCurves:
===================================================

  * "knownUnirationalComponentOfSpaceCurves(ZZ,ZZ)"

For the programmer
==================

The object knownUnirationalComponentOfSpaceCurves,
is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in RandomSpaceCurves.m2:612:0.

spaceCurve -- Generates the ideal of a random space curve of genus g and degree d
*********************************************************************************

  * Usage:
        (random spaceCurve)(d,g,R)
  * Inputs:
      * d, an integer (Macaulay2Doc), the desired degree
      * g, an integer (Macaulay2Doc), the desired genus
      * R, a polynomial ring (Macaulay2Doc), homogeneous
        coordinate ring of $\PP^{ 3}$
  * Outputs:
      * an ideal (Macaulay2Doc), of R

Description
===========

Creates the ideal of a random curve of degree d and genus g via the
construction of its expected Hartshorne-Rao module, which should have diameter
$\le 3$. The construction is implemented for non-degenerate, linearly normal
curves C of maximal rank with O_C(2) non-special, where moreover both C and its
Hartshorne-Rao module have a "natural" free resolution.

There are the following options:

* Attempts => ...  a nonnegative integer or infinity (default) that limits the
maximal number of attempts for the construction of the curve

* Certify => ...  true or false (default) checks whether the output is of
correct dimension and the constructed curve is smooth and actually has the
desired degree d and genus g

There are 63 possible families satisfying the four conditions above. Our method
can provide random curves in 60 of these families, simultaneously proving the
unirationality of each of these 60 components of the Hilbert scheme.

If there is a construction can be checked with
knownUnirationalComponentOfSpaceCurves.

+---------------------------------------------+
|i1 : setRandomSeed("alpha");                 |
| -- setting random seed to 10206284518       |
+---------------------------------------------+
|i2 : R=ZZ/20011[x_0..x_3];                   |
+---------------------------------------------+
|i3 : d=10;g=7;                               |
+---------------------------------------------+
|i5 : betti res (J=(random spaceCurve)(d,g,R))|
|                                             |
|            0 1  2 3                         |
|o5 = total: 1 9 12 4                         |
|         0: 1 .  . .                         |
|         1: . .  . .                         |
|         2: . .  . .                         |
|         3: . 1  . .                         |
|         4: . 8 12 4                         |
|                                             |
|o5 : BettiTally                              |
+---------------------------------------------+
|i6 : degree J==d and genus J == g            |
|                                             |
|o6 = true                                    |
+---------------------------------------------+

We verify that the Hilbert scheme has (at least) 60 components consisting of
smooth non-degenerate curves with $h^1 O_C(2)=0$. The degree d, genus g and
Brill-Noether number $\rho$ of these families and the generic Betti tables are
given below.

+----------------------------------------------------------------------+
|i7 : setRandomSeed("alpha");                                          |
| -- setting random seed to 10206284518                                |
+----------------------------------------------------------------------+
|i8 : kk=ZZ/20011;                                                     |
+----------------------------------------------------------------------+
|i9 : R=kk[x_0..x_3];                                                  |
+----------------------------------------------------------------------+
|i10 : L=flatten apply(toList(0..40),g->apply(toList(3..30),d->(d,g)));|
+----------------------------------------------------------------------+
|i11 : halpenBound = d ->(d/2-1)^2;                                    |
+----------------------------------------------------------------------+
|i12 : L = select(L,(d,g) ->                                           |
|           g <= halpenBound d                                         |
|           and                                                        |
|           knownUnirationalComponentOfSpaceCurves(d,g));              |
+----------------------------------------------------------------------+
|i13 : #L                                                              |
|                                                                      |
|o13 = 60                                                              |
+----------------------------------------------------------------------+
|i14 : hashTable apply(L,(d,g) -> (                                    |
|                J = (random spaceCurve)(d,g,R);                       |
|                assert (degree J == d and genus J == g);              |
|                (d,g) => g-4*(g+3-d) => betti res J))                 |
|                                                                      |
|                               /       0 1 2\                         |
|o14 = HashTable{(3, 0) => 0 => |total: 1 3 2|        }                |
|                               |    0: 1 . .|                         |
|                               \    1: . 3 2/                         |
|                               /       0 1 2 3\                       |
|                (4, 0) => 4 => |total: 1 4 4 1|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . 1 . .|                       |
|                               \    2: . 3 4 1/                       |
|                               /       0 1 2\                         |
|                (4, 1) => 1 => |total: 1 2 1|                         |
|                               |    0: 1 . .|                         |
|                               |    1: . 2 .|                         |
|                               \    2: . . 1/                         |
|                               /       0 1 2 3\                       |
|                (5, 1) => 5 => |total: 1 5 5 1|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               \    2: . 5 5 1/                       |
|                               /       0 1 2\                         |
|                (5, 2) => 2 => |total: 1 3 2|                         |
|                               |    0: 1 . .|                         |
|                               |    1: . 1 .|                         |
|                               \    2: . 2 2/                         |
|                                /       0 1 2 3\                      |
|                (6, 0) => 12 => |total: 1 7 9 3|                      |
|                                |    0: 1 . . .|                      |
|                                |    1: . . . .|                      |
|                                |    2: . 1 . .|                      |
|                                \    3: . 6 9 3/                      |
|                               /       0 1 2 3\                       |
|                (6, 1) => 9 => |total: 1 5 6 2|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               |    2: . 2 . .|                       |
|                               \    3: . 3 6 2/                       |
|                               /       0 1 2\                         |
|                (6, 3) => 3 => |total: 1 4 3|                         |
|                               |    0: 1 . .|                         |
|                               |    1: . . .|                         |
|                               \    2: . 4 3/                         |
|                               /       0 1 2\                         |
|                (6, 4) => 0 => |total: 1 2 1|                         |
|                               |    0: 1 . .|                         |
|                               |    1: . 1 .|                         |
|                               |    2: . 1 .|                         |
|                               \    3: . . 1/                         |
|                                /       0 1 2 3\                      |
|                (7, 0) => 16 => |total: 1 6 7 2|                      |
|                                |    0: 1 . . .|                      |
|                                |    1: . . . .|                      |
|                                |    2: . . . .|                      |
|                                |    3: . 6 4 .|                      |
|                                \    4: . . 3 2/                      |
|                                /       0 1 2 3\                      |
|                (7, 1) => 13 => |total: 1 7 7 1|                      |
|                                |    0: 1 . . .|                      |
|                                |    1: . . . .|                      |
|                                |    2: . . . .|                      |
|                                |    3: . 7 7 .|                      |
|                                \    4: . . . 1/                      |
|                                /       0 1  2 3\                     |
|                (7, 2) => 10 => |total: 1 8 10 3|                     |
|                                |    0: 1 .  . .|                     |
|                                |    1: . .  . .|                     |
|                                |    2: . .  . .|                     |
|                                \    3: . 8 10 3/                     |
|                               /       0 1 2 3\                       |
|                (7, 4) => 4 => |total: 1 4 4 1|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               |    2: . 2 . .|                       |
|                               \    3: . 2 4 1/                       |
|                               /       0 1 2\                         |
|                (7, 5) => 1 => |total: 1 3 2|                         |
|                               |    0: 1 . .|                         |
|                               |    1: . . .|                         |
|                               |    2: . 3 1|                         |
|                               \    3: . . 1/                         |
|                                /       0 1 2\                        |
|                (7, 6) => -2 => |total: 1 3 2|                        |
|                                |    0: 1 . .|                        |
|                                |    1: . 1 .|                        |
|                                |    2: . . .|                        |
|                                \    3: . 2 2/                        |
|                                /       0 1 2 3\                      |
|                (8, 2) => 14 => |total: 1 5 7 3|                      |
|                                |    0: 1 . . .|                      |
|                                |    1: . . . .|                      |
|                                |    2: . . . .|                      |
|                                |    3: . 4 . .|                      |
|                                \    4: . 1 7 3/                      |
|                                /       0 1 2 3\                      |
|                (8, 3) => 11 => |total: 1 5 6 2|                      |
|                                |    0: 1 . . .|                      |
|                                |    1: . . . .|                      |
|                                |    2: . . . .|                      |
|                                |    3: . 5 2 .|                      |
|                                \    4: . . 4 2/                      |
|                               /       0 1 2 3\                       |
|                (8, 4) => 8 => |total: 1 6 6 1|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               |    2: . . . .|                       |
|                               |    3: . 6 5 .|                       |
|                               \    4: . . 1 1/                       |
|                               /       0 1 2 3\                       |
|                (8, 5) => 5 => |total: 1 7 8 2|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               |    2: . . . .|                       |
|                               \    3: . 7 8 2/                       |
|                               /       0 1 2 3\                       |
|                (8, 6) => 2 => |total: 1 5 5 1|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               |    2: . 1 . .|                       |
|                               \    3: . 4 5 1/                       |
|                                /       0 1 2\                        |
|                (8, 7) => -1 => |total: 1 3 2|                        |
|                                |    0: 1 . .|                        |
|                                |    1: . . .|                        |
|                                |    2: . 2 .|                        |
|                                \    3: . 1 2/                        |
|                                /       0  1  2 3\                    |
|                (9, 2) => 18 => |total: 1 12 17 6|                    |
|                                |    0: 1  .  . .|                    |
|                                |    1: .  .  . .|                    |
|                                |    2: .  .  . .|                    |
|                                |    3: .  .  . .|                    |
|                                \    4: . 12 17 6/                    |
|                                /       0  1  2 3\                    |
|                (9, 3) => 15 => |total: 1 10 14 5|                    |
|                                |    0: 1  .  . .|                    |
|                                |    1: .  .  . .|                    |
|                                |    2: .  .  . .|                    |
|                                |    3: .  1  . .|                    |
|                                \    4: .  9 14 5/                    |
|                                /       0 1  2 3\                     |
|                (9, 4) => 12 => |total: 1 8 11 4|                     |
|                                |    0: 1 .  . .|                     |
|                                |    1: . .  . .|                     |
|                                |    2: . .  . .|                     |
|                                |    3: . 2  . .|                     |
|                                \    4: . 6 11 4/                     |
|                               /       0 1 2 3\                       |
|                (9, 5) => 9 => |total: 1 6 8 3|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               |    2: . . . .|                       |
|                               |    3: . 3 . .|                       |
|                               \    4: . 3 8 3/                       |
|                               /       0 1 2 3\                       |
|                (9, 6) => 6 => |total: 1 4 5 2|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               |    2: . . . .|                       |
|                               |    3: . 4 . .|                       |
|                               \    4: . . 5 2/                       |
|                               /       0 1 2 3\                       |
|                (9, 8) => 0 => |total: 1 6 6 1|                       |
|                               |    0: 1 . . .|                       |
|                               |    1: . . . .|                       |
|                               |    2: . . . .|                       |
|                               \    3: . 6 6 1/                       |
|                                /       0 1 2\                        |
|                (9, 9) => -3 => |total: 1 4 3|                        |
|                                |    0: 1 . .|                        |
|                                |    1: . . .|                        |
|                                |    2: . 1 .|                        |
|                                \    3: . 3 3/                        |
|                                 /       0  1  2 3\                   |
|                (10, 6) => 10 => |total: 1 11 15 5|                   |
|                                 |    0: 1  .  . .|                   |
|                                 |    1: .  .  . .|                   |
|                                 |    2: .  .  . .|                   |
|                                 |    3: .  .  . .|                   |
|                                 \    4: . 11 15 5/                   |
|                                /       0 1  2 3\                     |
|                (10, 7) => 7 => |total: 1 9 12 4|                     |
|                                |    0: 1 .  . .|                     |
|                                |    1: . .  . .|                     |
|                                |    2: . .  . .|                     |
|                                |    3: . 1  . .|                     |
|                                \    4: . 8 12 4/                     |
|                                /       0 1 2 3\                      |
|                (10, 8) => 4 => |total: 1 7 9 3|                      |
|                                |    0: 1 . . .|                      |
|                                |    1: . . . .|                      |
|                                |    2: . . . .|                      |
|                                |    3: . 2 . .|                      |
|                                \    4: . 5 9 3/                      |
|                                /       0 1 2 3\                      |
|                (10, 9) => 1 => |total: 1 5 6 2|                      |
|                                |    0: 1 . . .|                      |
|                                |    1: . . . .|                      |
|                                |    2: . . . .|                      |
|                                |    3: . 3 . .|                      |
|                                \    4: . 2 6 2/                      |
|                                  /       0 1 2\                      |
|                (10, 11) => -5 => |total: 1 5 4|                      |
|                                  |    0: 1 . .|                      |
|                                  |    1: . . .|                      |
|                                  |    2: . . .|                      |
|                                  \    3: . 5 4/                      |
|                                /       0 1 2 3\                      |
|                (11, 8) => 8 => |total: 1 8 9 2|                      |
|                                |    0: 1 . . .|                      |
|                                |    1: . . . .|                      |
|                                |    2: . . . .|                      |
|                                |    3: . . . .|                      |
|                                |    4: . 8 7 .|                      |
|                                \    5: . . 2 2/                      |
|                                /       0 1  2 3\                     |
|                (11, 9) => 5 => |total: 1 9 10 2|                     |
|                                |    0: 1 .  . .|                     |
|                                |    1: . .  . .|                     |
|                                |    2: . .  . .|                     |
|                                |    3: . .  . .|                     |
|                                |    4: . 9 10 1|                     |
|                                \    5: . .  . 1/                     |
|                                 /       0  1  2 3\                   |
|                (11, 10) => 2 => |total: 1 10 13 4|                   |
|                                 |    0: 1  .  . .|                   |
|                                 |    1: .  .  . .|                   |
|                                 |    2: .  .  . .|                   |
|                                 |    3: .  .  . .|                   |
|                                 \    4: . 10 13 4/                   |
|                                  /       0 1  2 3\                   |
|                (11, 11) => -1 => |total: 1 8 10 3|                   |
|                                  |    0: 1 .  . .|                   |
|                                  |    1: . .  . .|                   |
|                                  |    2: . .  . .|                   |
|                                  |    3: . 1  . .|                   |
|                                  \    4: . 7 10 3/                   |
|                                  /       0 1 2 3\                    |
|                (11, 13) => -7 => |total: 1 4 4 1|                    |
|                                  |    0: 1 . . .|                    |
|                                  |    1: . . . .|                    |
|                                  |    2: . . . .|                    |
|                                  |    3: . 3 . .|                    |
|                                  \    4: . 1 4 1/                    |
|                                /       0 1  2 3\                     |
|                (12, 9) => 9 => |total: 1 8 12 5|                     |
|                                |    0: 1 .  . .|                     |
|                                |    1: . .  . .|                     |
|                                |    2: . .  . .|                     |
|                                |    3: . .  . .|                     |
|                                |    4: . 4  . .|                     |
|                                \    5: . 4 12 5/                     |
|                                 /       0 1 2 3\                     |
|                (12, 10) => 6 => |total: 1 6 9 4|                     |
|                                 |    0: 1 . . .|                     |
|                                 |    1: . . . .|                     |
|                                 |    2: . . . .|                     |
|                                 |    3: . . . .|                     |
|                                 |    4: . 5 . .|                     |
|                                 \    5: . 1 9 4/                     |
|                                 /       0 1 2 3\                     |
|                (12, 11) => 3 => |total: 1 6 8 3|                     |
|                                 |    0: 1 . . .|                     |
|                                 |    1: . . . .|                     |
|                                 |    2: . . . .|                     |
|                                 |    3: . . . .|                     |
|                                 |    4: . 6 2 .|                     |
|                                 \    5: . . 6 3/                     |
|                                 /       0 1 2 3\                     |
|                (12, 12) => 0 => |total: 1 7 8 2|                     |
|                                 |    0: 1 . . .|                     |
|                                 |    1: . . . .|                     |
|                                 |    2: . . . .|                     |
|                                 |    3: . . . .|                     |
|                                 |    4: . 7 5 .|                     |
|                                 \    5: . . 3 2/                     |
|                                  /       0 1 2 3\                    |
|                (12, 13) => -3 => |total: 1 8 8 1|                    |
|                                  |    0: 1 . . .|                    |
|                                  |    1: . . . .|                    |
|                                  |    2: . . . .|                    |
|                                  |    3: . . . .|                    |
|                                  |    4: . 8 8 .|                    |
|                                  \    5: . . . 1/                    |
|                                  /       0 1  2 3\                   |
|                (12, 14) => -6 => |total: 1 9 11 3|                   |
|                                  |    0: 1 .  . .|                   |
|                                  |    1: . .  . .|                   |
|                                  |    2: . .  . .|                   |
|                                  |    3: . .  . .|                   |
|                                  \    4: . 9 11 3/                   |
|                                  /       0 1 2 3\                    |
|                (12, 15) => -9 => |total: 1 7 8 2|                    |
|                                  |    0: 1 . . .|                    |
|                                  |    1: . . . .|                    |
|                                  |    2: . . . .|                    |
|                                  |    3: . 1 . .|                    |
|                                  \    4: . 6 8 2/                    |
|                                 /       0  1  2 3\                   |
|                (13, 12) => 4 => |total: 1 11 16 6|                   |
|                                 |    0: 1  .  . .|                   |
|                                 |    1: .  .  . .|                   |
|                                 |    2: .  .  . .|                   |
|                                 |    3: .  .  . .|                   |
|                                 |    4: .  2  . .|                   |
|                                 \    5: .  9 16 6/                   |
|                                 /       0 1  2 3\                    |
|                (13, 13) => 1 => |total: 1 9 13 5|                    |
|                                 |    0: 1 .  . .|                    |
|                                 |    1: . .  . .|                    |
|                                 |    2: . .  . .|                    |
|                                 |    3: . .  . .|                    |
|                                 |    4: . 3  . .|                    |
|                                 \    5: . 6 13 5/                    |
|                                  /       0 1  2 3\                   |
|                (13, 14) => -2 => |total: 1 7 10 4|                   |
|                                  |    0: 1 .  . .|                   |
|                                  |    1: . .  . .|                   |
|                                  |    2: . .  . .|                   |
|                                  |    3: . .  . .|                   |
|                                  |    4: . 4  . .|                   |
|                                  \    5: . 3 10 4/                   |
|                                  /       0 1 2 3\                    |
|                (13, 15) => -5 => |total: 1 5 7 3|                    |
|                                  |    0: 1 . . .|                    |
|                                  |    1: . . . .|                    |
|                                  |    2: . . . .|                    |
|                                  |    3: . . . .|                    |
|                                  |    4: . 5 . .|                    |
|                                  \    5: . . 7 3/                    |
|                                  /       0 1 2 3\                    |
|                (13, 16) => -8 => |total: 1 6 7 2|                    |
|                                  |    0: 1 . . .|                    |
|                                  |    1: . . . .|                    |
|                                  |    2: . . . .|                    |
|                                  |    3: . . . .|                    |
|                                  |    4: . 6 3 .|                    |
|                                  \    5: . . 4 2/                    |
|                                   /       0 1 2 3\                   |
|                (13, 17) => -11 => |total: 1 7 7 1|                   |
|                                   |    0: 1 . . .|                   |
|                                   |    1: . . . .|                   |
|                                   |    2: . . . .|                   |
|                                   |    3: . . . .|                   |
|                                   |    4: . 7 6 .|                   |
|                                   \    5: . . 1 1/                   |
|                                  /       0  1  2 3\                  |
|                (14, 15) => -1 => |total: 1 14 20 7|                  |
|                                  |    0: 1  .  . .|                  |
|                                  |    1: .  .  . .|                  |
|                                  |    2: .  .  . .|                  |
|                                  |    3: .  .  . .|                  |
|                                  |    4: .  .  . .|                  |
|                                  \    5: . 14 20 7/                  |
|                                  /       0  1  2 3\                  |
|                (14, 16) => -4 => |total: 1 12 17 6|                  |
|                                  |    0: 1  .  . .|                  |
|                                  |    1: .  .  . .|                  |
|                                  |    2: .  .  . .|                  |
|                                  |    3: .  .  . .|                  |
|                                  |    4: .  1  . .|                  |
|                                  \    5: . 11 17 6/                  |
|                                  /       0  1  2 3\                  |
|                (14, 17) => -7 => |total: 1 10 14 5|                  |
|                                  |    0: 1  .  . .|                  |
|                                  |    1: .  .  . .|                  |
|                                  |    2: .  .  . .|                  |
|                                  |    3: .  .  . .|                  |
|                                  |    4: .  2  . .|                  |
|                                  \    5: .  8 14 5/                  |
|                                   /       0 1  2 3\                  |
|                (14, 18) => -10 => |total: 1 8 11 4|                  |
|                                   |    0: 1 .  . .|                  |
|                                   |    1: . .  . .|                  |
|                                   |    2: . .  . .|                  |
|                                   |    3: . .  . .|                  |
|                                   |    4: . 3  . .|                  |
|                                   \    5: . 5 11 4/                  |
|                                   /       0 1 2 3\                   |
|                (14, 19) => -13 => |total: 1 6 8 3|                   |
|                                   |    0: 1 . . .|                   |
|                                   |    1: . . . .|                   |
|                                   |    2: . . . .|                   |
|                                   |    3: . . . .|                   |
|                                   |    4: . 4 . .|                   |
|                                   \    5: . 2 8 3/                   |
|                                   /       0  1  2 3\                 |
|                (15, 20) => -12 => |total: 1 13 18 6|                 |
|                                   |    0: 1  .  . .|                 |
|                                   |    1: .  .  . .|                 |
|                                   |    2: .  .  . .|                 |
|                                   |    3: .  .  . .|                 |
|                                   |    4: .  .  . .|                 |
|                                   \    5: . 13 18 6/                 |
|                                   /       0  1  2 3\                 |
|                (15, 21) => -15 => |total: 1 11 15 5|                 |
|                                   |    0: 1  .  . .|                 |
|                                   |    1: .  .  . .|                 |
|                                   |    2: .  .  . .|                 |
|                                   |    3: .  .  . .|                 |
|                                   |    4: .  1  . .|                 |
|                                   \    5: . 10 15 5/                 |
|                                   /       0  1  2 3\                 |
|                (16, 23) => -17 => |total: 1 10 11 2|                 |
|                                   |    0: 1  .  . .|                 |
|                                   |    1: .  .  . .|                 |
|                                   |    2: .  .  . .|                 |
|                                   |    3: .  .  . .|                 |
|                                   |    4: .  .  . .|                 |
|                                   |    5: . 10 10 .|                 |
|                                   \    6: .  .  1 2/                 |
|                                   /       0 1  2 3\                  |
|                (17, 25) => -19 => |total: 1 7 11 5|                  |
|                                   |    0: 1 .  . .|                  |
|                                   |    1: . .  . .|                  |
|                                   |    2: . .  . .|                  |
|                                   |    3: . .  . .|                  |
|                                   |    4: . .  . .|                  |
|                                   |    5: . 6  . .|                  |
|                                   \    6: . 1 11 5/                  |
|                                                                      |
|o14 : HashTable                                                       |
+----------------------------------------------------------------------+

See also
========

  * knownUnirationalComponentOfSpaceCurves
    -- check whether there is a
    unirational construction for a component of the Hilbert scheme of space
    curves
  * hartshorneRaoModule -- Compute a random
    Hartshorne-Rao module

For the programmer
==================

The object spaceCurve, is an instance of the type
RandomObject (RandomObjects).

-------------------------------------------------------------------------------

The source of this document is in RandomSpaceCurves.m2:565:0.