Module _ Array -- inclusion from summand

Synopsis

• Usage:
M_[i,j,...,k]
• Operator: _
• Inputs:
• M, , or
• [i,j,...,k], an array of indices
• Outputs:
• , or

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```