The command computes a module over the homogeneous coordinate ring of the variety
which agrees, at least in degrees n greater than or equal to the given d, with the graded module that in degree n is the
.
.
to request the twists strictly greater than n.
to try to compute the whole graded module. The computation will fail if the module is not finitely generated.
As a first example we look at the cohomology of line bundles on the projective plane
i1 : X = Proj(QQ[x_0..x_2])
o1 = X
o1 : ProjectiveVariety
|
i2 : HH^0(OO_X^1(>=0))
1
o2 = (QQ[x ..x ])
0 2
o2 : QQ[x ..x ]-module, free
0 2
|
i3 : HH^1(OO_X^1(>=0))
o3 = 0
o3 : QQ[x ..x ]-module
0 2
|
i4 : HH^2(OO_X^1(>=-3)) -- this should change to * once implemented
o4 = cokernel {-3} | x_2 x_1 x_0 |
1
o4 : QQ[x ..x ]-module, quotient of (QQ[x ..x ])
0 2 0 2
|
i5 : TruncDual = HH^2(OO_X^1(>=-4))
o5 = cokernel {-4} | x_2 x_1 0 0 x_0 0 0 0 |
{-4} | 0 0 x_2 x_0 0 x_1 0 0 |
{-4} | 0 0 0 0 -x_2 -x_2 x_1 x_0 |
3
o5 : QQ[x ..x ]-module, quotient of (QQ[x ..x ])
0 2 0 2
|
i6 : hilbertFunction(-4, TruncDual)
o6 = 3
|
i7 : hilbertFunction(-3, TruncDual)
o7 = 1
|
As a second example we compute the H^1 cohomology module T of the Horrocks-Mumford bundle on the projective fourspace. T is an artinian module with Hilbert function (5,10,10,2):
i8 : R = QQ[x_0..x_4];
|
i9 : a = {1,0,0,0,0}
o9 = {1, 0, 0, 0, 0}
o9 : List
|
i10 : b = {0,1,0,0,1}
o10 = {0, 1, 0, 0, 1}
o10 : List
|
i11 : c = {0,0,1,1,0}
o11 = {0, 0, 1, 1, 0}
o11 : List
|
i12 : M1 = matrix table(5,5, (i,j)-> x_((i+j)%5)*a_((i-j)%5))
o12 = | x_0 0 0 0 0 |
| 0 x_2 0 0 0 |
| 0 0 x_4 0 0 |
| 0 0 0 x_1 0 |
| 0 0 0 0 x_3 |
5 5
o12 : Matrix R <-- R
|
i13 : M2 = matrix table(5,5, (i,j)-> x_((i+j)%5)*b_((i-j)%5))
o13 = | 0 x_1 0 0 x_4 |
| x_1 0 x_3 0 0 |
| 0 x_3 0 x_0 0 |
| 0 0 x_0 0 x_2 |
| x_4 0 0 x_2 0 |
5 5
o13 : Matrix R <-- R
|
i14 : M3 = matrix table(5,5, (i,j)-> x_((i+j)%5)*c_((i-j)%5))
o14 = | 0 0 x_2 x_3 0 |
| 0 0 0 x_4 x_0 |
| x_2 0 0 0 x_1 |
| x_3 x_4 0 0 0 |
| 0 x_0 x_1 0 0 |
5 5
o14 : Matrix R <-- R
|
i15 : M = M1 | M2 | M3;
5 15
o15 : Matrix R <-- R
|
i16 : betti (C=res coker M)
0 1 2 3 4 5
o16 = total: 5 15 29 37 20 2
0: 5 15 10 2 . .
1: . . 4 . . .
2: . . 15 35 20 .
3: . . . . . 2
o16 : BettiTally
|
i17 : N = transpose submatrix(C.dd_3,{10..28},{2..36});
35 19
o17 : Matrix R <-- R
|
i18 : betti (D=res coker N)
0 1 2 3 4 5
o18 = total: 35 19 19 35 20 2
-5: 35 15 . . . .
-4: . 4 . . . .
-3: . . . . . .
-2: . . . . . .
-1: . . . . . .
0: . . 4 . . .
1: . . 15 35 20 .
2: . . . . . 2
o18 : BettiTally
|
i19 : Pfour = Proj(R)
o19 = Pfour
o19 : ProjectiveVariety
|
i20 : HorrocksMumford = sheaf(coker D.dd_3);
|
i21 : T = HH^1(HorrocksMumford(>=-1))
o21 = cokernel {-1} | x_4 x_2 0 0 x_0 0 0 0 x_3 0 0 0 0 0 x_1 |
{-1} | 0 -x_3 x_1 0 0 x_4 x_2 0 0 0 0 x_0 0 0 0 |
{-1} | 0 0 0 x_3 -x_2 x_0 0 x_1 0 0 0 0 0 -x_4 0 |
{-1} | 0 0 0 0 0 0 -x_4 -x_2 x_1 x_0 x_3 0 0 0 0 |
{-1} | 0 0 0 0 0 0 0 0 0 0 x_4 -x_3 x_2 x_1 x_0 |
5
o21 : R-module, quotient of R
|
i22 : apply(-1..2, i-> hilbertFunction(i,T))
o22 = (5, 10, 10, 2)
o22 : Sequence
|