i1 : R = ZZ[a..d]; |
i2 : F = (vars R) ++ ((vars R) ++ matrix{{a-1,b-3}})
o2 = | a b c d 0 0 0 0 0 0 |
| 0 0 0 0 a b c d 0 0 |
| 0 0 0 0 0 0 0 0 a-1 b-3 |
3 10
o2 : Matrix R <--- R
|
i3 : F_[1]
o3 = | 0 0 0 0 0 0 |
| a b c d 0 0 |
| 0 0 0 0 a-1 b-3 |
3 6
o3 : Matrix R <--- R
|
i4 : F_[1]^[1]
o4 = | a b c d 0 0 |
| 0 0 0 0 a-1 b-3 |
2 6
o4 : Matrix R <--- R
|
If the components have been given names (see directSum), use those instead.
i5 : N = (a=>vars R) ++ (b=>vars R)
o5 = | a b c d 0 0 0 0 |
| 0 0 0 0 a b c d |
2 8
o5 : Matrix R <--- R
|
i6 : N_[a]
o6 = | a b c d |
| 0 0 0 0 |
2 4
o6 : Matrix R <--- R
|
i7 : N = directSum(x1 => matrix{{a,b-1}}, x2 => matrix{{a-3,b-17,c-35}}, x3 => vars R)
o7 = | a b-1 0 0 0 0 0 0 0 |
| 0 0 a-3 b-17 c-35 0 0 0 0 |
| 0 0 0 0 0 a b c d |
3 9
o7 : Matrix R <--- R
|
i8 : N_[x1,x3]
o8 = | a b-1 0 0 0 0 |
| 0 0 0 0 0 0 |
| 0 0 a b c d |
3 6
o8 : Matrix R <--- R
|
This works the same way for maps between chain complexes.