next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
RandomSpaceCurves :: spaceCurve

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 ≤3. The construction is implemented for non-degenerate, linearly normal curves C of maximal rank with OC(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 satifying 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 h1 OC(2)=0. The degree d, genus g and Brill-Noether number ρ 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 object of class RandomObject.