Description
A complex map $f : C \to C$ can be composed with itself. This method produces these new maps of chain complexes.
The differential on a chain complex always composes with itself to give the zero map.
i1 : S = ZZ/101[a..c];
|
i2 : C = freeResolution coker matrix{{a^2, b^2, c^2}}
1 3 3 1
o2 = S <-- S <-- S <-- S
0 1 2 3
o2 : Complex
|
i3 : f = dd^C
1 3
o3 = 0 : S <---------------- S : 1
| a2 b2 c2 |
3 3
1 : S <----------------------- S : 2
{2} | -b2 -c2 0 |
{2} | a2 0 -c2 |
{2} | 0 a2 b2 |
3 1
2 : S <--------------- S : 3
{4} | c2 |
{4} | -b2 |
{4} | a2 |
o3 : ComplexMap
|
i4 : f^2
o4 = 0
o4 : ComplexMap
|
i5 : assert(source f == target f)
|
i6 : assert(degree f == -1)
|
i7 : assert(degree f^2 == -2)
|
i8 : g = randomComplexMap(C, C, Degree => -1)
1
o8 = -1 : 0 <----- S : 0
0
1 3
0 : S <-------------------------------------------------------------------------------------------------- S : 1
| 24a2-36ab-29b2-30ac+19bc+19c2 -10a2-29ab-22b2-8ac-29bc-24c2 -38a2-16ab+21b2+39ac+34bc+19c2 |
3 3
1 : S <-------------------------------------------------------------------------------------------------------- S : 2
{2} | -47a2-39ab-13b2-18ac-43bc-15c2 -16a2+7ab-23b2+15ac+39bc+43c2 a2-3ab-47b2+22ac-23bc-7c2 |
{2} | -28a2-47ab+2b2+38ac+16bc+22c2 -17a2-11ab+36b2+48ac+35bc+11c2 2a2+29ab+15b2-47ac-37bc-13c2 |
{2} | 45a2-34ab-47b2-48ac+47bc+19c2 -38a2+33ab+11b2+40ac+46bc-28c2 -10a2+30ab+39b2-18ac+27bc-22c2 |
3 1
2 : S <------------------------------------------ S : 3
{4} | 32a2-9ab-20b2-32ac+24bc-30c2 |
{4} | -48a2-15ab+39ac+33bc-49c2 |
{4} | -33a2-19ab-20b2+17ac+44bc-39c2 |
o8 : ComplexMap
|
i9 : g^2
1 3
o9 = 0 : S <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ S : 2
| -33a4-16a3b+13a2b2-13ab3-48b4-43a3c+15a2bc+47ab2c-21b3c+19a2c2-35abc2-16b2c2-40ac3+21bc3-48c4 18a4-6a3b-34a2b2+37ab3+5b4+19a3c-36a2bc+13ab2c-22b3c-27a2c2+40b2c2+49ac3+18bc3+21c4 -20a4-22a3b-14a2b2+5ab3+34b4+34a3c-3a2bc-24ab2c+26b3c-3a2c2-34abc2-42b2c2-47ac3-45bc3-37c4 |
3 1
1 : S <------------------------------------------------------------------------------------------------------- S : 3
{2} | 39a4-33a3b+28a2b2-27ab3-12b4-14a3c+19a2bc-39ab2c-b3c-37a2c2-37abc2+3b2c2-25ac3+17bc3+30c4 |
{2} | -45a4-50a3b+14a2b2+22ab3-37b4+23a3c+4a2bc-22ab2c-7b3c+37a2c2+41abc2+49b2c2-34ac3-29bc3+15c4 |
{2} | -42a4+26a3b-31a2b2+ab3-42b4+5a3c+42a2bc+45ab2c-24b3c+7a2c2+35abc2+12b2c2+27ac3+8bc3+44c4 |
o9 : ComplexMap
|
i10 : g^3
1 1
o10 = 0 : S <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ S : 3
| -48a6-20a4b2-29a3b3+23a2b4-28ab5-23b6+28a5c-17a4bc-4a3b2c+46a2b3c-27ab4c+5b5c+31a4c2-30a3bc2-39a2b2c2-48ab3c2+34b4c2-13a3c3-15a2bc3+47ab2c3-41b3c3+20a2c4+40abc4-34b2c4+35ac5-26bc5+36c6 |
o10 : ComplexMap
|
i11 : assert(g^4 == 0)
|
The zero-th power returns the identity map
i12 : f^0 == id_C
o12 = true
|
i13 : g^0 == id_C
o13 = true
|
When $n$ is negative, the result is the $n$-fold power of the inverse complex map, if it exists.
i14 : h = randomComplexMap(C, C)
1 1
o14 = 0 : S <---------- S : 0
| 36 |
3 3
1 : S <----------------------- S : 1
{2} | 9 13 -49 |
{2} | -39 -26 -11 |
{2} | 4 22 -8 |
3 3
2 : S <---------------------- S : 2
{4} | 43 -3 41 |
{4} | -8 -22 16 |
{4} | 36 -30 -28 |
1 1
3 : S <-------------- S : 3
{6} | -6 |
o14 : ComplexMap
|
i15 : h^-1
1 1
o15 = 0 : S <----------- S : 0
| -14 |
3 3
1 : S <---------------------- S : 1
{2} | 31 -46 -13 |
{2} | 6 -35 24 |
{2} | 32 7 -29 |
3 3
2 : S <----------------------- S : 2
{4} | 32 -45 50 |
{4} | -17 -6 33 |
{4} | -20 -37 -18 |
1 1
3 : S <--------------- S : 3
{6} | -17 |
o15 : ComplexMap
|
i16 : assert(h * h^-1 == id_C)
|
i17 : h^-4
1 1
o17 = 0 : S <---------- S : 0
| 36 |
3 3
1 : S <----------------------- S : 1
{2} | -43 41 -32 |
{2} | -16 41 -10 |
{2} | 31 -33 -29 |
3 3
2 : S <----------------------- S : 2
{4} | -6 -30 11 |
{4} | 4 15 -50 |
{4} | -31 -23 -1 |
1 1
3 : S <-------------- S : 3
{6} | -6 |
o17 : ComplexMap
|
i18 : assert(h^-4 * h^4 == id_C)
|