Macaulay2 » Documentation
Packages » Macaulay2Doc :: Module _ Array
next | previous | forward | backward | up | index | toc

Module _ Array -- inclusion from summand

Synopsis

Description

The module or chain complex M should be a direct sum, and the result is the map corresponding to inclusion from the sum of the components numbered or named i, j, ..., k. Free modules are regarded as direct sums of modules.

i1 : M = ZZ^2 ++ ZZ^3

       5
o1 = ZZ

o1 : ZZ-module, free
i2 : M_[0]

o2 = | 1 0 |
     | 0 1 |
     | 0 0 |
     | 0 0 |
     | 0 0 |

              5       2
o2 : Matrix ZZ  <-- ZZ
i3 : M_[1]

o3 = | 0 0 0 |
     | 0 0 0 |
     | 1 0 0 |
     | 0 1 0 |
     | 0 0 1 |

              5       3
o3 : Matrix ZZ  <-- ZZ
i4 : M_[1,0]

o4 = | 0 0 0 1 0 |
     | 0 0 0 0 1 |
     | 1 0 0 0 0 |
     | 0 1 0 0 0 |
     | 0 0 1 0 0 |

              5       5
o4 : Matrix ZZ  <-- ZZ

If the components have been given names (see directSum), use those instead.
i5 : R = QQ[a..d];
i6 : M = (a => image vars R) ++ (b => coker vars R)

o6 = subquotient (| a b c d 0 |, | 0 0 0 0 |)
                  | 0 0 0 0 1 |  | a b c d |

                               2
o6 : R-module, subquotient of R
i7 : M_[a]

o7 = {1} | 1 0 0 0 |
     {1} | 0 1 0 0 |
     {1} | 0 0 1 0 |
     {1} | 0 0 0 1 |
     {0} | 0 0 0 0 |

o7 : Matrix
i8 : isWellDefined oo

o8 = true
i9 : M_[b]

o9 = {1} | 0 |
     {1} | 0 |
     {1} | 0 |
     {1} | 0 |
     {0} | 1 |

o9 : Matrix
i10 : isWellDefined oo

o10 = true

This works the same way for chain complexes.
i11 : C = res coker vars R

       1      4      6      4      1
o11 = R  <-- R  <-- R  <-- R  <-- R  <-- 0
                                          
      0      1      2      3      4      5

o11 : ChainComplex
i12 : D = (a=>C) ++ (b=>C)

       2      8      12      8      2
o12 = R  <-- R  <-- R   <-- R  <-- R  <-- 0
                                           
      0      1      2       3      4      5

o12 : ChainComplex
i13 : D_[a]

           2             1
o13 = 0 : R  <--------- R  : 0
                | 1 |
                | 0 |

           8                       4
      1 : R  <------------------- R  : 1
                {1} | 1 0 0 0 |
                {1} | 0 1 0 0 |
                {1} | 0 0 1 0 |
                {1} | 0 0 0 1 |
                {1} | 0 0 0 0 |
                {1} | 0 0 0 0 |
                {1} | 0 0 0 0 |
                {1} | 0 0 0 0 |

           12                           6
      2 : R   <----------------------- R  : 2
                 {2} | 1 0 0 0 0 0 |
                 {2} | 0 1 0 0 0 0 |
                 {2} | 0 0 1 0 0 0 |
                 {2} | 0 0 0 1 0 0 |
                 {2} | 0 0 0 0 1 0 |
                 {2} | 0 0 0 0 0 1 |
                 {2} | 0 0 0 0 0 0 |
                 {2} | 0 0 0 0 0 0 |
                 {2} | 0 0 0 0 0 0 |
                 {2} | 0 0 0 0 0 0 |
                 {2} | 0 0 0 0 0 0 |
                 {2} | 0 0 0 0 0 0 |

           8                       4
      3 : R  <------------------- R  : 3
                {3} | 1 0 0 0 |
                {3} | 0 1 0 0 |
                {3} | 0 0 1 0 |
                {3} | 0 0 0 1 |
                {3} | 0 0 0 0 |
                {3} | 0 0 0 0 |
                {3} | 0 0 0 0 |
                {3} | 0 0 0 0 |

           2                 1
      4 : R  <------------- R  : 4
                {4} | 1 |
                {4} | 0 |

      5 : 0 <----- 0 : 5
               0

o13 : ChainComplexMap

See also

Ways to use this method: