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

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

Synopsis

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");
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");
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

For the programmer

The object spaceCurve is an instance of the type RandomObject.