next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
TateOnProducts :: cornerComplex

cornerComplex -- form the corner complex

Synopsis

Description

The call

cornerComplex(T,c)

forms the corner complex with corner c of a (part of a) Tate resolution T as defined in Tate Resolutions on Products of Projective Spaces. The call

cornerComplex(M,c,low,high)

first computes the Tate resolution T of the sheaf F represented by M in the range covering low to high and then takes the corner complex of T.

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

o1 = (S, E)

o1 : Sequence
i2 : low = {-4,-4};high = {3,2};
i4 : T1= (dual res( trim (ideal vars E)^2,LengthLimit=>8))[1];
i5 : T2=res(coker upperCorner(T1,{4,3}),LengthLimit=>13)[7];

Finally, we can define T, the sufficient part of the Tate resolution:

i6 : T=trivialHomologicalTruncation (T2,-5,6);
i7 : cohomologyMatrix(T,low,high)

o7 = | 27h  20h  13h  6h  1  8   15  22  |
     | 16h  12h  8h   4h  0  4   8   12  |
     | 5h   4h   3h   2h  h  0   1   2   |
     | 6h2  4h2  2h2  0   2h 4h  6h  8h  |
     | 17h2 12h2 7h2  2h2 3h 8h  13h 18h |
     | 28h2 20h2 12h2 4h2 4h 12h 20h 28h |
     | 39h2 28h2 17h2 6h2 5h 16h 27h 38h |

                      7                8
o7 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])

In the following we will produce a corner complex cT with corner at c ={-2,-1}. To do this we need a big enough part T of a Tate resolution so that all the strands around the corner are exact. This example corresponds to the Example of Section 4 of our paper referenced above. The Tate resolution in question is that corresponding to a rank 3 natural sheaf on P1xP1.

i8 : c =  -{2,1};
i9 : cT=cornerComplex(T,c);
i10 : betti cT

             -5 -4 -3 -2 -1  0 1  2  3  4   5
o10 = total: 22 27 26 18 22 12 5 12 37 78 138
          0: 22 27 18  6  .  . .  .  .  .   .
          1:  .  .  8 12 22 12 3  .  .  .   .
          2:  .  .  .  .  .  . 2  .  .  .   .
          3:  .  .  .  .  .  . . 12 37 78 138

o10 : BettiTally
i11 : cohomologyMatrix(cT,low,high)

o11 = | 0    0    13h 6h 1  8  15 22 |
      | 0    0    8h  4h 0  4  8  12 |
      | 0    0    3h  2h h  0  1  2  |
      | 0    0    2h2 0  2h 4h 6h 8h |
      | 17h3 12h3 0   0  0  0  0  0  |
      | 28h3 20h3 0   0  0  0  0  0  |
      | 39h3 28h3 0   0  0  0  0  0  |

                       7                8
o11 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])

The corner complex is built from a first quadrant complex fqT and a last quadrant complex lqT connected by the corner map between these complexes.

i12 : fqT=firstQuadrantComplex(T,c);
i13 : lqT=lastQuadrantComplex(T,c);
i14 : cohomologyMatrix(fqT,low,high)

o14 = | 0 0 13h 6h 1  8  15 22 |
      | 0 0 8h  4h 0  4  8  12 |
      | 0 0 3h  2h h  0  1  2  |
      | 0 0 2h2 0  2h 4h 6h 8h |
      | 0 0 0   0  0  0  0  0  |
      | 0 0 0   0  0  0  0  0  |
      | 0 0 0   0  0  0  0  0  |

                       7                8
o14 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])
i15 : cohomologyMatrix(lqT,low,high)

o15 = | 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 |
      | 17h2 12h2 0 0 0 0 0 0 |
      | 28h2 20h2 0 0 0 0 0 0 |
      | 39h2 28h2 0 0 0 0 0 0 |

                       7                8
o15 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])
i16 : betti fqT

             -5 -4 -3 -2 -1  0 1
o16 = total: 22 27 26 18 22 12 5
          0: 22 27 18  6  .  . .
          1:  .  .  8 12 22 12 3
          2:  .  .  .  .  .  . 2

o16 : BettiTally
i17 : betti lqT

              3  4  5   6
o17 = total: 12 37 78 138
          2: 12 37 78 138

o17 : BettiTally
i18 : betti cT

             -5 -4 -3 -2 -1  0 1  2  3  4   5
o18 = total: 22 27 26 18 22 12 5 12 37 78 138
          0: 22 27 18  6  .  . .  .  .  .   .
          1:  .  .  8 12 22 12 3  .  .  .   .
          2:  .  .  .  .  .  . 2  .  .  .   .
          3:  .  .  .  .  .  . . 12 37 78 138

o18 : BettiTally

Here the corner map is cT.dd2

i19 : betti (cT.dd_(-sum c-1))

             0  1
o19 = total: 5 12
          2: 3  .
          3: 2  .
          4: . 12

o19 : BettiTally

In general the corner map is a chain complex map from lqT to fqT spread over several homological degrees.

Putting the corner in c = {-1,-1 } we get a different picture:

i20 : c = {-1,-1}

o20 = {-1, -1}

o20 : List
i21 : cT=cornerComplex(T,c);
i22 : betti cT

             -5 -4 -3 -2 -1 0 1  2  3   4   5
o22 = total: 22 27 26 18  9 4 7 24 54 100 165
          0: 22 27 18  6  . . .  .  .   .   .
          1:  .  .  8 12  9 4 .  .  .   .   .
          2:  .  .  .  .  . . .  .  .   .   .
          3:  .  .  .  .  . . 7 24 54 100 165

o22 : BettiTally
i23 : cohomologyMatrix(cT,low,high)

o23 = | 0    0    0    6h 1  8  15 22 |
      | 0    0    0    4h 0  4  8  12 |
      | 0    0    0    2h h  0  1  2  |
      | 0    0    0    0  2h 4h 6h 8h |
      | 17h3 12h3 7h3  0  0  0  0  0  |
      | 28h3 20h3 12h3 0  0  0  0  0  |
      | 39h3 28h3 17h3 0  0  0  0  0  |

                       7                8
o23 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])

The corner complex is built from a first quadrant complex fqT and a last quadrant complex lqT connected by the corner map between these complexes.

i24 : fqT=firstQuadrantComplex(T,c);
i25 : lqT=lastQuadrantComplex(T,c);
i26 : cohomologyMatrix(fqT,low,high)

o26 = | 0 0 0 6h 1  8  15 22 |
      | 0 0 0 4h 0  4  8  12 |
      | 0 0 0 2h h  0  1  2  |
      | 0 0 0 0  2h 4h 6h 8h |
      | 0 0 0 0  0  0  0  0  |
      | 0 0 0 0  0  0  0  0  |
      | 0 0 0 0  0  0  0  0  |

                       7                8
o26 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])
i27 : cohomologyMatrix(lqT,low,high)

o27 = | 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 |
      | 17h2 12h2 7h2  0 0 0 0 0 |
      | 28h2 20h2 12h2 0 0 0 0 0 |
      | 39h2 28h2 17h2 0 0 0 0 0 |

                       7                8
o27 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])
i28 : betti fqT

             -5 -4 -3 -2 -1 0
o28 = total: 22 27 26 18  9 4
          0: 22 27 18  6  . .
          1:  .  .  8 12  9 4

o28 : BettiTally
i29 : betti lqT

             2  3  4   5   6
o29 = total: 7 24 54 100 165
          2: 7 24 54 100 165

o29 : BettiTally
i30 : betti cT

             -5 -4 -3 -2 -1 0 1  2  3   4   5
o30 = total: 22 27 26 18  9 4 7 24 54 100 165
          0: 22 27 18  6  . . .  .  .   .   .
          1:  .  .  8 12  9 4 .  .  .   .   .
          2:  .  .  .  .  . . .  .  .   .   .
          3:  .  .  .  .  . . 7 24 54 100 165

o30 : BettiTally

Here the corner map is cT.dd1

i31 : betti (cT.dd_1)

             0 1
o31 = total: 4 7
          1: 4 .
          2: . .
          3: . 7

o31 : BettiTally

In general the corner map is a chain complex map from lqT to fqT spread over several homological degrees.

Next we give an example obtained from a module

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

o32 = (S, E)

o32 : Sequence
i33 : M=beilinson(E^{-{1,1}})

o33 = cokernel {1, 1} | x_(0,2)  |
               {1, 1} | -x_(0,1) |
               {1, 1} | x_(0,0)  |

                             3
o33 : S-module, quotient of S
i34 : c={1,1}

o34 = {1, 1}

o34 : List
i35 : low={-3,-3},high={4,4}

o35 = ({-3, -3}, {4, 4})

o35 : Sequence
i36 : cohomologyMatrix(M,low,high)

o36 = | 12h2 0 4h  0 12 32  60  96  |
      | 9h2  0 3h  0 9  24  45  72  |
      | 6h2  0 2h  0 6  16  30  48  |
      | 3h2  0 h   0 3  8   15  24  |
      | 0    0 0   0 0  0   0   0   |
      | 3h3  0 h2  0 3h 8h  15h 24h |
      | 6h3  0 2h2 0 6h 16h 30h 48h |
      | 9h3  0 3h2 0 9h 24h 45h 72h |

                       8                8
o36 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])
i37 : C=cornerComplex(M,c,low,high)

       96      132      125      90      40      14      3      1      5      17      44      95      181      315
o37 = E   <-- E    <-- E    <-- E   <-- E   <-- E   <-- E  <-- E  <-- E  <-- E   <-- E   <-- E   <-- E    <-- E
                                                                                                               
      -8      -7       -6       -5      -4      -3      -2     -1     0      1       2       3       4        5

o37 : ChainComplex
i38 : cohomologyMatrix(C,low,high)

o38 = | 0   0 0   0 12 32 60 96 |
      | 0   0 0   0 9  24 45 72 |
      | 0   0 0   0 6  16 30 48 |
      | 0   0 0   0 3  8  15 24 |
      | 0   0 0   0 0  0  0  0  |
      | 3h4 0 h3  0 0  0  0  0  |
      | 6h4 0 2h3 0 0  0  0  0  |
      | 9h4 0 3h3 0 0  0  0  0  |

                       8                8
o38 : Matrix (ZZ[h, k])  <--- (ZZ[h, k])
i39 : cohomologyMatrix(C,2*low,2*high)

o39 = | 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  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 12 32 60 96 0 0 0 0 |
      | 0    0    0    0    0 0   0 9  24 45 72 0 0 0 0 |
      | 0    0    0    0    0 0   0 6  16 30 48 0 0 0 0 |
      | 0    0    0    0    0 0   0 3  8  15 24 0 0 0 0 |
      | 0    0    0    0    0 0   0 0  0  0  0  0 0 0 0 |
      | 24h4 15h4 8h4  3h4  0 h3  0 0  0  0  0  0 0 0 0 |
      | 48h4 30h4 16h4 6h4  0 2h3 0 0  0  0  0  0 0 0 0 |
      | 72h4 45h4 24h4 9h4  0 3h3 0 0  0  0  0  0 0 0 0 |
      | 0    60h4 32h4 12h4 0 4h3 0 0  0  0  0  0 0 0 0 |
      | 0    0    40h4 15h4 0 5h3 0 0  0  0  0  0 0 0 0 |
      | 0    0    0    18h4 0 6h3 0 0  0  0  0  0 0 0 0 |

                       15                15
o39 : Matrix (ZZ[h, k])   <--- (ZZ[h, k])
i40 : betti C

             -8  -7  -6 -5 -4 -3 -2 -1 0  1  2  3   4   5
o40 = total: 96 132 125 90 40 14  3  1 5 17 44 95 181 315
          0: 96 132 125 90 40 14  3  . .  .  .  .   .   .
          1:  .   .   .  .  .  .  .  . .  .  .  .   .   .
          2:  .   .   .  .  .  .  .  . .  .  .  .   .   .
          3:  .   .   .  .  .  .  .  1 2  3  4  5   6   7
          4:  .   .   .  .  .  .  .  . 3 14 40 90 175 308

o40 : BettiTally
i41 : C.dd_(-sum c +1)

o41 = {-1, -1} | e_(0,0)e_(0,1)e_(1,0)e_(1,1) |
      {-1, -1} | e_(0,1)e_(0,2)e_(1,0)e_(1,1) |
      {-1, -1} | e_(0,0)e_(0,2)e_(1,0)e_(1,1) |

              3       1
o41 : Matrix E  <--- E

See also

Ways to use cornerComplex :