The call
tateResolution(M,low,high)
forms a free subquotient complex the Tate resolution of the sheaf F represented by M in a range that covers all generators corresponding to cohomology groups of twists F(a) of F in the range low <= a <= high, see Tate Resolutions on Products of Projective Spaces.
i1 : (S,E) = productOfProjectiveSpaces{1,1} o1 = (S, E) o1 : Sequence |
i2 : low = {-3,-3};high = {3,3}; |
i4 : T=tateResolution( S^{{1,1}},low, high); |
i5 : cohomologyMatrix(T,low,high) o5 = | 5h 0 5 10 15 20 25 | | 4h 0 4 8 12 16 20 | | 3h 0 3 6 9 12 15 | | 2h 0 2 4 6 8 10 | | h 0 1 2 3 4 5 | | 0 0 0 0 0 0 0 | | h2 0 h 2h 3h 4h 5h | 7 7 o5 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) |
The complex contains some trailing terms and superflous terms in a wider range, which can be removed using trivial homological truncation.
i6 : cohomologyMatrix(T,2*low,2*high) o6 = | 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 42k 0 0 | | 0 0 0 0 0 0 0 0 0 0 36k 42k 0 | | 20h 15h 10h 5h 0 5 10 15 20 25 0 0 0 | | 16h 12h 8h 4h 0 4 8 12 16 20 0 0 0 | | 12h 9h 6h 3h 0 3 6 9 12 15 0 0 0 | | 8h 6h 4h 2h 0 2 4 6 8 10 0 0 0 | | 4h 3h 2h h 0 1 2 3 4 5 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 3h2 2h2 h2 0 h 2h 3h 4h 5h 0 0 0 | | 0 0 4h2 2h2 0 2h 4h 6h 8h 10h 0 0 0 | | 0 0 0 3h2 0 3h 6h 9h 12h 15h 0 0 0 | | 0 0 0 0 0 4h 8h 12h 16h 20h 0 0 0 | 13 13 o6 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) |
i7 : betti T -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 o7 = total: 84 36 25 40 46 44 35 30 38 56 81 110 141 174 210 -1: 84 36 . . . . . . . . . . . . . 0: . . 25 40 46 44 35 20 10 4 1 . . . . 1: . . . . . . . 10 28 52 80 110 140 170 200 2: . . . . . . . . . . . . 1 4 10 o7 : BettiTally |
i8 : T'=trivialHomologicalTruncation(T, -sum high,-sum low) 25 40 46 44 35 30 38 56 81 110 141 174 210 o8 = 0 <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- E <-- 0 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 o8 : ChainComplex |
i9 : betti T' -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 o9 = total: 25 40 46 44 35 30 38 56 81 110 141 174 210 0: 25 40 46 44 35 20 10 4 1 . . . . 1: . . . . . 10 28 52 80 110 140 170 200 2: . . . . . . . . . . 1 4 10 o9 : BettiTally |
i10 : cohomologyMatrix(T',2*low,2*high) o10 = | 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 20h 15h 10h 5h 0 5 10 15 20 25 0 0 0 | | 16h 12h 8h 4h 0 4 8 12 16 20 0 0 0 | | 12h 9h 6h 3h 0 3 6 9 12 15 0 0 0 | | 8h 6h 4h 2h 0 2 4 6 8 10 0 0 0 | | 4h 3h 2h h 0 1 2 3 4 5 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 3h2 2h2 h2 0 h 2h 3h 4h 5h 0 0 0 | | 0 0 4h2 2h2 0 2h 4h 6h 8h 10h 0 0 0 | | 0 0 0 3h2 0 3h 6h 9h 12h 15h 0 0 0 | | 0 0 0 0 0 4h 8h 12h 16h 20h 0 0 0 | 13 13 o10 : Matrix (ZZ[h, k]) <--- (ZZ[h, k]) |
The call
tateResolution(A,low,high)
where A is a matrix representing the multi-graded module homomorphism from M to N computes the induced map between two free subquotients of Tate resolutions of M and N in the given range.
i11 : (S,E)=productOfProjectiveSpaces {2,1} o11 = (S, E) o11 : Sequence |
i12 : low=-{2,1}; high={2,1}; |
i14 : A=map(S^1, S^{1:{-1,0}}, {{S_0}}) o14 = | x_(0,0) | 1 1 o14 : Matrix S <--- S |
i15 : M=source A; N=target A; |
i17 : TA = tateResolution(A, low, high); |
i18 : TM = tateResolution(M, low, high); |
i19 : TN = tateResolution(N, low, high); |
i20 : (source TA == TM, target TA == TN) o20 = (true, true) o20 : Sequence |