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

hartshorneRaoModule -- Compute a random Hartshorne-Rao module

Synopsis

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");
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");
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,Attempts=>1)

o11 = false

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

For the programmer

The object hartshorneRaoModule is an instance of the type RandomObject.