next | previous | forward | backward | up | top | index | toc | Macaulay2 website
TateOnProducts :: cohomologyMatrix

cohomologyMatrix -- cohomology groups of a sheaf on P^{n_1}xP^{n_2}, or of (part) of a Tate resolution



If M is a bigraded module over a bigraded polynomial ring representing a sheaf F on P^{n_1} x P^{n_2}, the script returns a block of the cohomology table, represented as a table of "cohomology polynomials" in $\mathbb Z[h,k]$ of the form $$\sum_{i=0}^{|n|} \, dim H^i(\mathcal F(c_1,c_2)) * h^i$$ in each position \{c_1,c_2\} for $a_1 \le c_1 \le b_1$ and $a_2 \le c_2 \le b_2$. In case M corresponds to an object in the derived category D^b(P^{n_1}x P^{n_2}), then hypercohomology polynomials are returned, with the convention that k stands for k=h^{ -1}.

The polynomial for \{b_1,b_2\} sits in the north-east corner, the one corresponding to (a_1,a_2) in the south-west corner.

In the case of a product of more (or fewer) projective spaces, or if a hash table output is desired, use cohomologyHashTable or eulerPolynomialTable instead.

The script computes a sufficient part of the Tate resolution for F, and then calls itself in the version for a Tate resolution. More generally, If T is part of a Tate resolution of F the function returns a matrix of cohomology polynomials corresponding to T.

If T is not a large enough part of the Tate resolution, such as W below, then the function collects only the contribution of T to the cohomology table of the Tate resolution, according to the formula in Corollary 0.2 of Tate Resolutions on Products of Projective Spaces.

i1 : (S,E) = productOfProjectiveSpaces{1,2}

o1 = (S, E)

o1 : Sequence
i2 : M = S^1

o2 = S

o2 : S-module, free
i3 : low = {-3,-3};high={0,0};
i5 : cohomologyMatrix(M,low,high)

o5 = | 2h  h  0 1  |
     | 0   0  0 0  |
     | 0   0  0 0  |
     | 2h3 h3 0 h2 |

                      4                4
o5 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])

As a second example, consider the structure sheaf $\mathcal O_E$ of a nonsingular cubic contained in (point)xP^2. The corresponding graded module is

i6 : M = S^1/ideal(x_(0,0), x_(1,0)^3+x_(1,1)^3+x_(1,2)^3)

o6 = cokernel | x_(0,0) x_(1,0)^3+x_(1,1)^3+x_(1,2)^3 |

o6 : S-module, quotient of S
i7 : low = {-3,-3};high={0,0};
i9 : cohomologyMatrix(M,low,high)

o9 = | h+1 h+1 h+1 h+1 |
     | 3h  3h  3h  3h  |
     | 6h  6h  6h  6h  |
     | 9h  9h  9h  9h  |

                      4                4
o9 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])

and the "1+h" in the Northeast (= upper right) corner signifies that that $h^0(\mathcal O_E) = h^1(\mathcal O_E) = 1.$

See also

Ways to use cohomologyMatrix :

For the programmer

The object cohomologyMatrix is a method function.