next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Complexes :: Complex ** Complex

Complex ** Complex -- tensor product of complexes

Synopsis

Description

The tensor product is a complex $D$ whose $i$th component is the direct sum of $C1_j \otimes C2_k$ over all $i = j+k$. The differential on $C1_j \otimes C2_k$ is the differential $dd^{C1} \otimes id_{C2} + (-1)^j id_{C1} \otimes dd^{C2}$.

As the next example illustrates, the Koszul complex can be constructed via iterated tensor products.

i1 : S = ZZ/101[a..c]

o1 = S

o1 : PolynomialRing
i2 : Ca = complex {matrix{{a}}}

      1      1
o2 = S  <-- S
             
     0      1

o2 : Complex
i3 : Cb = complex {matrix{{b}}}

      1      1
o3 = S  <-- S
             
     0      1

o3 : Complex
i4 : Cc = complex {matrix{{c}}}

      1      1
o4 = S  <-- S
             
     0      1

o4 : Complex
i5 : Cab = Cb ** Ca

      1      2      1
o5 = S  <-- S  <-- S
                    
     0      1      2

o5 : Complex
i6 : dd^Cab

          1               2
o6 = 0 : S  <----------- S  : 1
               | a b |

          2                  1
     1 : S  <-------------- S  : 2
               {1} | b  |
               {1} | -a |

o6 : ComplexMap
i7 : assert isWellDefined Cab
i8 : Cabc = Cc ** Cab

      1      3      3      1
o8 = S  <-- S  <-- S  <-- S
                           
     0      1      2      3

o8 : Complex
i9 : Cc ** Cb ** Ca

      1      3      3      1
o9 = S  <-- S  <-- S  <-- S
                           
     0      1      2      3

o9 : Complex
i10 : dd^Cabc

           1                 3
o10 = 0 : S  <------------- S  : 1
                | a b c |

           3                        3
      1 : S  <-------------------- S  : 2
                {1} | b  c  0  |
                {1} | -a 0  c  |
                {1} | 0  -a -b |

           3                  1
      2 : S  <-------------- S  : 3
                {2} | c  |
                {2} | -b |
                {2} | a  |

o10 : ComplexMap
i11 : assert isWellDefined Cabc

If one of the arguments is a module, it is considered as a complex concentrated in homological degree 0.

i12 : Cabc ** (S^1/(a,b,c))

o12 = cokernel | a b c | <-- cokernel {1} | a b c 0 0 0 0 0 0 | <-- cokernel {2} | a b c 0 0 0 0 0 0 | <-- cokernel {3} | a b c |
                                      {1} | 0 0 0 a b c 0 0 0 |              {2} | 0 0 0 a b c 0 0 0 |      
      0                               {1} | 0 0 0 0 0 0 a b c |              {2} | 0 0 0 0 0 0 a b c |     3
                                                                     
                             1                                      2

o12 : Complex
i13 : S^2 ** Cabc

       2      6      6      2
o13 = S  <-- S  <-- S  <-- S
                            
      0      1      2      3

o13 : Complex

Because the tensor product can be regarded as the total complex of a double complex, each term of the tensor product comes with pairs of indices, labelling the summands.

i14 : indices Cabc_1

o14 = {{0, 1}, {1, 0}}

o14 : List
i15 : components Cabc_1

        2   1
o15 = {S , S }

o15 : List
i16 : Cabc_1_[{1,0}]

o16 = {1} | 0 |
      {1} | 0 |
      {1} | 1 |

              3       1
o16 : Matrix S  <--- S
i17 : indices Cabc_2

o17 = {{0, 2}, {1, 1}}

o17 : List
i18 : components Cabc_2

        1   2
o18 = {S , S }

o18 : List
i19 : Cabc_2_[{0,2}]

o19 = {2} | 1 |
      {2} | 0 |
      {2} | 0 |

              3       1
o19 : Matrix S  <--- S

See also