Macaulay2 » Documentation
Packages » Complexes :: extend(Complex,Complex,Matrix,Sequence)
next | previous | forward | backward | up | index | toc

extend(Complex,Complex,Matrix,Sequence) -- extend a map of modules to a map of chain complexes

Synopsis

Description

Let $C$ be a chain complex such that each term is a free module. Let $D$ be a chain complex which is exact at the $k$-th term for all $k > j$. Given a map of modules $f \colon C_i \to D_j$ such that the image of $f \circ \operatorname{dd}^C_{i+1}$ is contained in the image of $\operatorname{dd}^D_{j+1}$, this method constructs a morphism of chain complexes $g \colon C \to D$ of degree $j-i$ such that $g_i = f$.

$\phantom{WWWW} \begin{array}{cccccc} 0 & \!\!\leftarrow\!\! & C_{i} & \!\!\leftarrow\!\! & C_{i+1} & \!\!\leftarrow\!\! & C_{i+2} & \dotsb \\ & & \downarrow \, {\scriptstyle f} & & \downarrow \, {\scriptstyle g_{i+1}} && \downarrow \, {\scriptstyle g_{i+2}} \\ 0 & \!\!\leftarrow\!\! & D_{j} & \!\!\leftarrow\!\! & D_{j+1} & \!\!\leftarrow\!\! & D_{j+2} & \dotsb \\ \end{array} $

A map between modules extends to a map between their free resolutions.

i1 : S = ZZ/101[a..d];
i2 : I = ideal(a*b*c, b*c*d, a*d^2)

                             2
o2 = ideal (a*b*c, b*c*d, a*d )

o2 : Ideal of S
i3 : C = S^{{-3}} ** freeResolution (I:a*c*d)

      1      2      1
o3 = S  <-- S  <-- S
                    
     0      1      2

o3 : Complex
i4 : D = freeResolution I

      1      3      2
o4 = S  <-- S  <-- S
                    
     0      1      2

o4 : Complex
i5 : f = map(D_0, C_0, matrix{{a*c*d}})

o5 = | acd |

             1      1
o5 : Matrix S  <-- S
i6 : g = extend(D, C, f)

          1               1
o6 = 0 : S  <----------- S  : 0
               | acd |

          3                   2
     1 : S  <--------------- S  : 1
               {3} | 0 0 |
               {3} | a 0 |
               {3} | 0 c |

          2                 1
     2 : S  <------------- S  : 2
               {4} | 0 |
               {5} | 1 |

o6 : ComplexMap
i7 : assert isWellDefined g
i8 : assert isComplexMorphism g
i9 : assert(g_0 == f)
i10 : E = cone g

       1      4      4      1
o10 = S  <-- S  <-- S  <-- S
                            
      0      1      2      3

o10 : Complex
i11 : dd^E

           1                           4
o11 = 0 : S  <----------------------- S  : 1
                | acd abc bcd ad2 |

           4                            4
      1 : S  <------------------------ S  : 2
                {3} | -b -d 0  0   |
                {3} | 0  0  -d 0   |
                {3} | a  0  a  -ad |
                {3} | 0  c  0  bc  |

           4                  1
      2 : S  <-------------- S  : 3
                {4} | d  |
                {4} | -b |
                {4} | 0  |
                {5} | 1  |

o11 : ComplexMap

Extension of maps to complexes is also useful in constructing a free resolution of a linked ideal.

i12 : I = monomialCurveIdeal(S, {1,2,3})

              2                    2
o12 = ideal (c  - b*d, b*c - a*d, b  - a*c)

o12 : Ideal of S
i13 : K = ideal(I_1^2, I_2^2)

              2 2               2 2   4       2     2 2
o13 = ideal (b c  - 2a*b*c*d + a d , b  - 2a*b c + a c )

o13 : Ideal of S
i14 : FI = freeResolution I

       1      3      2
o14 = S  <-- S  <-- S
                     
      0      1      2

o14 : Complex
i15 : FK = freeResolution K

       1      2      1
o15 = S  <-- S  <-- S
                     
      0      1      2

o15 : Complex
i16 : f = map(FI_0, FK_0, 1)

o16 = | 1 |

              1      1
o16 : Matrix S  <-- S
i17 : g = extend(FI, FK, f)

           1             1
o17 = 0 : S  <--------- S  : 0
                | 1 |

           3                         2
      1 : S  <--------------------- S  : 1
                {2} | b2-ac c2  |
                {2} | 0     -ad |
                {2} | 0     ac  |

           2                                      1
      2 : S  <---------------------------------- S  : 2
                {3} | -ab2c2+a2c3+ab3d-a2bcd |
                {3} | -ab3c+a2bc2+a2b2d-a3cd |

o17 : ComplexMap
i18 : assert isWellDefined g
i19 : assert isComplexMorphism g
i20 : assert(g_0 == f)
i21 : C = cone (dual g)[- codim K]

       1      4      4      1
o21 = S  <-- S  <-- S  <-- S
                            
      0      1      2      3

o21 : Complex
i22 : dd^C

           1                                                                                             4
o22 = 0 : S  <----------------------------------------------------------------------------------------- S  : 1
                {-8} | -ab2c2+a2c3+ab3d-a2bcd -ab3c+a2bc2+a2b2d-a3cd b2c2-2abcd+a2d2 -b4+2ab2c-a2c2 |

           4                                             4
      1 : S  <----------------------------------------- S  : 2
                {-3} | c     -b  a  0               |
                {-3} | -d    c   -b 0               |
                {-4} | b2-ac 0   0  b4-2ab2c+a2c2   |
                {-4} | c2    -ad ac b2c2-2abcd+a2d2 |

           4                       1
      2 : S  <------------------- S  : 3
                {-2} | -b2+ac |
                {-2} | -bc+ad |
                {-2} | -c2+bd |
                {0}  | 1      |

o22 : ComplexMap
i23 : dd^(minimize C)

           1                                                                                             4
o23 = 0 : S  <----------------------------------------------------------------------------------------- S  : 1
                {-8} | -ab2c2+a2c3+ab3d-a2bcd -ab3c+a2bc2+a2b2d-a3cd b2c2-2abcd+a2d2 -b4+2ab2c-a2c2 |

           4                             3
      1 : S  <------------------------- S  : 2
                {-3} | c     -b  a  |
                {-3} | -d    c   -b |
                {-4} | b2-ac 0   0  |
                {-4} | c2    -ad ac |

o23 : ComplexMap
i24 : assert(ideal relations HH_0 C == K:I)

Inspired by a yonedaMap computation, we extend a map of modules to a map between free resolutions having homological degree $-1$.

i25 : f = map(FK_0, FI_1, matrix {{a*c^2-a*b*d, -b*c^2+a*c*d, -c^3+a*d^2}}, Degree => 1)

o25 = | ac2-abd -bc2+acd -c3+ad2 |

              1      3
o25 : Matrix S  <-- S
i26 : assert isHomogeneous f
i27 : assert isWellDefined f
i28 : g = extend(FK, FI, f, (0,1))

           1                                    3
o28 = 0 : S  <-------------------------------- S  : 1
                | ac2-abd -bc2+acd -c3+ad2 |

           2                   2
      1 : S  <--------------- S  : 2
                {4} | 0 0 |
                {4} | 1 0 |

o28 : ComplexMap
i29 : assert isWellDefined g
i30 : assert isCommutative g
i31 : assert(degree g === -1)
i32 : assert isHomogeneous g

See also

Ways to use this method: