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
|
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])
|