next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Complexes :: ComplexMap ++ ComplexMap

ComplexMap ++ ComplexMap -- direct sum of complex maps

Synopsis

Description

The direct sum of two complex maps is a a complex map from the direct sum of the sources to the direct sum of the targets.

First, we define some non-trivial maps of chain complexes.

i1 : R = ZZ/101[a..d];
i2 : C1 = (freeResolution coker matrix{{a,b,c}})[1]

      1      3      3      1
o2 = R  <-- R  <-- R  <-- R
                           
     -1     0      1      2

o2 : Complex
i3 : C2 = freeResolution coker matrix{{a*b,a*c,b*c}}

      1      3      2
o3 = R  <-- R  <-- R
                    
     0      1      2

o3 : Complex
i4 : D1 = (freeResolution coker matrix{{a,b,c}})

      1      3      3      1
o4 = R  <-- R  <-- R  <-- R
                           
     0      1      2      3

o4 : Complex
i5 : D2 = freeResolution coker matrix{{a^2, b^2, c^2}}[-1]

      1      3      3      1
o5 = R  <-- R  <-- R  <-- R
                           
     1      2      3      4

o5 : Complex
i6 : f = randomComplexMap(D1, C1, Cycle => true)

                    1
o6 = -1 : 0 <----- R  : -1
               0

          1                                                        3
     0 : R  <---------------------------------------------------- R  : 0
               | -46a+17b-8c-24d 48a+6b+28c+29d 5a+3b-39c-29d |

          3                                                                3
     1 : R  <------------------------------------------------------------ R  : 1
               {1} | -48a+3b-10c-29d -5a+36b+14c+29d 19b-34c          |
               {1} | 46a+17b-29c-24d -39a+39c        -24a-3b-24c+29d  |
               {1} | -18a+21b        -21a-22b-8c-24d -19a-32b+28c+29d |

          3                               1
     2 : R  <--------------------------- R  : 2
               {2} | 24a-36b-30c-29d |
               {2} | 19a+19b-10c-29d |
               {2} | -8a-22b-29c-24d |

o6 : ComplexMap
i7 : g = randomComplexMap(D2, C2, Cycle => true)

                   1
o7 = 0 : 0 <----- R  : 0
              0

          1                                                                                                                  3
     1 : R  <-------------------------------------------------------------------------------------------------------------- R  : 1
               | 19a2+47ab-16b2-43ac-15bc-28c2-47cd 7a2+45ab-34b2+47ac-48bc-23c2-47bd 38a2+2ab+15b2+16ac+47bc+39c2+22ad |

          3                                                2
     2 : R  <-------------------------------------------- R  : 2
               {2} | -7b+19c          -38a+5b-16c-22d |
               {2} | -45a+34b+32c+47d 30a-34b-48c-47d |
               {2} | -43a+8b-28c-47d  -39a-23b        |

o7 : ComplexMap
i8 : h = f ++ g

                    1
o8 = -1 : 0 <----- R  : -1
               0

          1                                                          4
     0 : R  <------------------------------------------------------ R  : 0
               | -46a+17b-8c-24d 48a+6b+28c+29d 5a+3b-39c-29d 0 |

          4                                                                                                                                                                       6
     1 : R  <------------------------------------------------------------------------------------------------------------------------------------------------------------------- R  : 1
               {1} | -48a+3b-10c-29d -5a+36b+14c+29d 19b-34c          0                                  0                                 0                                 |
               {1} | 46a+17b-29c-24d -39a+39c        -24a-3b-24c+29d  0                                  0                                 0                                 |
               {1} | -18a+21b        -21a-22b-8c-24d -19a-32b+28c+29d 0                                  0                                 0                                 |
               {0} | 0               0               0                19a2+47ab-16b2-43ac-15bc-28c2-47cd 7a2+45ab-34b2+47ac-48bc-23c2-47bd 38a2+2ab+15b2+16ac+47bc+39c2+22ad |

          6                                                                3
     2 : R  <------------------------------------------------------------ R  : 2
               {2} | 24a-36b-30c-29d 0                0               |
               {2} | 19a+19b-10c-29d 0                0               |
               {2} | -8a-22b-29c-24d 0                0               |
               {2} | 0               -7b+19c          -38a+5b-16c-22d |
               {2} | 0               -45a+34b+32c+47d 30a-34b-48c-47d |
               {2} | 0               -43a+8b-28c-47d  -39a-23b        |

o8 : ComplexMap
i9 : assert isWellDefined h
i10 : assert(h == map(D1 ++ D2, C1 ++ C2, {{f,0},{0,g}}))

The direct sum of any sequence of complex maps can be computed as follows.

i11 : directSum(f, g, f[2])

                     1
o11 = -3 : 0 <----- R  : -3
                0

            1                                                        3
      -2 : R  <---------------------------------------------------- R  : -2
                 | -46a+17b-8c-24d 48a+6b+28c+29d 5a+3b-39c-29d |

            3                                                                  4
      -1 : R  <-------------------------------------------------------------- R  : -1
                 {1} | 0 -48a+3b-10c-29d -5a+36b+14c+29d 19b-34c          |
                 {1} | 0 46a+17b-29c-24d -39a+39c        -24a-3b-24c+29d  |
                 {1} | 0 -18a+21b        -21a-22b-8c-24d -19a-32b+28c+29d |

           4                                                                              5
      0 : R  <-------------------------------------------------------------------------- R  : 0
                {0} | -46a+17b-8c-24d 48a+6b+28c+29d 5a+3b-39c-29d 0 0               |
                {2} | 0               0              0             0 24a-36b-30c-29d |
                {2} | 0               0              0             0 19a+19b-10c-29d |
                {2} | 0               0              0             0 -8a-22b-29c-24d |

           5                                                                                                                                                                       6
      1 : R  <------------------------------------------------------------------------------------------------------------------------------------------------------------------- R  : 1
                {1} | -48a+3b-10c-29d -5a+36b+14c+29d 19b-34c          0                                  0                                 0                                 |
                {1} | 46a+17b-29c-24d -39a+39c        -24a-3b-24c+29d  0                                  0                                 0                                 |
                {1} | -18a+21b        -21a-22b-8c-24d -19a-32b+28c+29d 0                                  0                                 0                                 |
                {0} | 0               0               0                19a2+47ab-16b2-43ac-15bc-28c2-47cd 7a2+45ab-34b2+47ac-48bc-23c2-47bd 38a2+2ab+15b2+16ac+47bc+39c2+22ad |
                {3} | 0               0               0                0                                  0                                 0                                 |

           6                                                                3
      2 : R  <------------------------------------------------------------ R  : 2
                {2} | 24a-36b-30c-29d 0                0               |
                {2} | 19a+19b-10c-29d 0                0               |
                {2} | -8a-22b-29c-24d 0                0               |
                {2} | 0               -7b+19c          -38a+5b-16c-22d |
                {2} | 0               -45a+34b+32c+47d 30a-34b-48c-47d |
                {2} | 0               -43a+8b-28c-47d  -39a-23b        |

o11 : ComplexMap
i12 : h2 = directSum(mike => f, greg => g, dan => f[2])

                     1
o12 = -3 : 0 <----- R  : -3
                0

            1                                                        3
      -2 : R  <---------------------------------------------------- R  : -2
                 | -46a+17b-8c-24d 48a+6b+28c+29d 5a+3b-39c-29d |

            3                                                                  4
      -1 : R  <-------------------------------------------------------------- R  : -1
                 {1} | 0 -48a+3b-10c-29d -5a+36b+14c+29d 19b-34c          |
                 {1} | 0 46a+17b-29c-24d -39a+39c        -24a-3b-24c+29d  |
                 {1} | 0 -18a+21b        -21a-22b-8c-24d -19a-32b+28c+29d |

           4                                                                              5
      0 : R  <-------------------------------------------------------------------------- R  : 0
                {0} | -46a+17b-8c-24d 48a+6b+28c+29d 5a+3b-39c-29d 0 0               |
                {2} | 0               0              0             0 24a-36b-30c-29d |
                {2} | 0               0              0             0 19a+19b-10c-29d |
                {2} | 0               0              0             0 -8a-22b-29c-24d |

           5                                                                                                                                                                       6
      1 : R  <------------------------------------------------------------------------------------------------------------------------------------------------------------------- R  : 1
                {1} | -48a+3b-10c-29d -5a+36b+14c+29d 19b-34c          0                                  0                                 0                                 |
                {1} | 46a+17b-29c-24d -39a+39c        -24a-3b-24c+29d  0                                  0                                 0                                 |
                {1} | -18a+21b        -21a-22b-8c-24d -19a-32b+28c+29d 0                                  0                                 0                                 |
                {0} | 0               0               0                19a2+47ab-16b2-43ac-15bc-28c2-47cd 7a2+45ab-34b2+47ac-48bc-23c2-47bd 38a2+2ab+15b2+16ac+47bc+39c2+22ad |
                {3} | 0               0               0                0                                  0                                 0                                 |

           6                                                                3
      2 : R  <------------------------------------------------------------ R  : 2
                {2} | 24a-36b-30c-29d 0                0               |
                {2} | 19a+19b-10c-29d 0                0               |
                {2} | -8a-22b-29c-24d 0                0               |
                {2} | 0               -7b+19c          -38a+5b-16c-22d |
                {2} | 0               -45a+34b+32c+47d 30a-34b-48c-47d |
                {2} | 0               -43a+8b-28c-47d  -39a-23b        |

o12 : ComplexMap
i13 : h2_[greg,dan]

            1                                                        3
o13 = -2 : R  <---------------------------------------------------- R  : -2
                 | -46a+17b-8c-24d 48a+6b+28c+29d 5a+3b-39c-29d |

            3                                                                3
      -1 : R  <------------------------------------------------------------ R  : -1
                 {1} | -48a+3b-10c-29d -5a+36b+14c+29d 19b-34c          |
                 {1} | 46a+17b-29c-24d -39a+39c        -24a-3b-24c+29d  |
                 {1} | -18a+21b        -21a-22b-8c-24d -19a-32b+28c+29d |

           4                                 2
      0 : R  <----------------------------- R  : 0
                {0} | 0 0               |
                {2} | 0 24a-36b-30c-29d |
                {2} | 0 19a+19b-10c-29d |
                {2} | 0 -8a-22b-29c-24d |

           5                                                                                                                      3
      1 : R  <------------------------------------------------------------------------------------------------------------------ R  : 1
                {1} | 0                                  0                                 0                                 |
                {1} | 0                                  0                                 0                                 |
                {1} | 0                                  0                                 0                                 |
                {0} | 19a2+47ab-16b2-43ac-15bc-28c2-47cd 7a2+45ab-34b2+47ac-48bc-23c2-47bd 38a2+2ab+15b2+16ac+47bc+39c2+22ad |
                {3} | 0                                  0                                 0                                 |

           6                                                2
      2 : R  <-------------------------------------------- R  : 2
                {2} | 0                0               |
                {2} | 0                0               |
                {2} | 0                0               |
                {2} | -7b+19c          -38a+5b-16c-22d |
                {2} | -45a+34b+32c+47d 30a-34b-48c-47d |
                {2} | -43a+8b-28c-47d  -39a-23b        |

o13 : ComplexMap
i14 : assert(source oo == C2 ++ C1[2])

One can easily obtain the compositions with canonical injections and surjections.

i15 : h_[0]^[0] == f

o15 = true
i16 : h_[1]^[1] == g

o16 = true
i17 : h_[0]^[1] == 0

o17 = true
i18 : h_[1]^[0] == 0

o18 = true
i19 : h_[0] == h * (C1 ++ C2)_[0]

o19 = true
i20 : h_[1] == h * (C1 ++ C2)_[1]

o20 = true
i21 : h^[0] == (D1 ++ D2)^[0] * h

o21 = true
i22 : h^[1] == (D1 ++ D2)^[1] * h

o22 = true

See also