next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Complexes :: map(Complex,Complex,Function)

map(Complex,Complex,Function) -- make a map of chain complexes

Synopsis

Description

A map of complexes $f : C \rightarrow D$ of degree $d$ is a sequence of maps $f_i : C_i \rightarrow D_{d+i}$. No relationship between the maps $f_i$ and and the differentials of either $C$ or $D$ is assumed.

We construct a map of chain complexes by specifying a function which determines the maps between the terms.

i1 : R = ZZ/101[x]/x^3;
i2 : M = coker vars R

o2 = cokernel | x |

                            1
o2 : R-module, quotient of R
i3 : C = freeResolution(M, LengthLimit => 6)

      1      1      1      1      1      1      1
o3 = R  <-- R  <-- R  <-- R  <-- R  <-- R  <-- R
                                                
     0      1      2      3      4      5      6

o3 : Complex
i4 : D = C[1]

      1      1      1      1      1      1      1
o4 = R  <-- R  <-- R  <-- R  <-- R  <-- R  <-- R
                                                
     -1     0      1      2      3      4      5

o4 : Complex
i5 : f = map(D, C, i ->
         if odd i then
             map(D_i, C_i, {{x}})
         else map(D_i, C_i, {{x^2}})
         )

          1                  1
o5 = 0 : R  <-------------- R  : 0
               {1} | x2 |

          1                 1
     1 : R  <------------- R  : 1
               {3} | x |

          1                  1
     2 : R  <-------------- R  : 2
               {4} | x2 |

          1                 1
     3 : R  <------------- R  : 3
               {6} | x |

          1                  1
     4 : R  <-------------- R  : 4
               {7} | x2 |

          1                 1
     5 : R  <------------- R  : 5
               {9} | x |

o5 : ComplexMap
i6 : assert isWellDefined f
i7 : assert isCommutative f
i8 : assert(source f == C)
i9 : assert(target f == D)

See also