Macaulay2 » Documentation
Packages » Complexes :: ComplexMap ^ ZZ
next | previous | forward | backward | up | index | toc

ComplexMap ^ ZZ -- the n-fold composition

Synopsis

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)

See also

Ways to use this method: