Macaulay2 » Documentation
Packages » Complexes :: cone(ComplexMap)
next | previous | forward | backward | up | index | toc

cone(ComplexMap) -- make the mapping cone of a morphism of chain complexes

Synopsis

Description

Given a morphism $f \colon B \to C$, the mapping cone is the complex whose $i$-th term is $B_{i-1} \oplus C_i$, and whose $i$-th differential is given by \[ \begin{bmatrix} -\operatorname{dd}^{B[-1]} & 0 \\ f[-1] & \operatorname{dd}^C \end{bmatrix}. \]

A map between modules induces a map between their free resolutions, and we compute the associated mapping cone.

i1 : S = ZZ/32003[x,y,z];
i2 : M = ideal vars S

o2 = ideal (x, y, z)

o2 : Ideal of S
i3 : B = freeResolution(S^1/M^2)

      1      6      8      3
o3 = S  <-- S  <-- S  <-- S
                           
     0      1      2      3

o3 : Complex
i4 : C = freeResolution(S^1/M)

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

o4 : Complex
i5 : f = extend(C,B,id_(S^1))

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

          3                           6
     1 : S  <----------------------- S  : 1
               {1} | x y 0 0 0 0 |
               {1} | 0 0 y 0 0 0 |
               {1} | 0 0 0 x y z |

          3                               8
     2 : S  <--------------------------- S  : 2
               {2} | 0 y 0 0 0 0 0 0 |
               {2} | 0 0 x y 0 0 0 0 |
               {2} | 0 0 0 0 0 y 0 0 |

          1                     3
     3 : S  <----------------- S  : 3
               {3} | 0 y 0 |

o5 : ComplexMap
i6 : Cf = cone f

      1      4      9      9      3
o6 = S  <-- S  <-- S  <-- S  <-- S
                                  
     0      1      2      3      4

o6 : Complex
i7 : dd^Cf

          1                   4
o7 = 0 : S  <--------------- S  : 1
               | 1 x y z |

          4                                                9
     1 : S  <-------------------------------------------- S  : 2
               {0} | -x2 -xy -y2 -xz -yz -z2 0  0  0  |
               {1} | x   y   0   0   0   0   -y -z 0  |
               {1} | 0   0   y   0   0   0   x  0  -z |
               {1} | 0   0   0   x   y   z   0  x  y  |

          9                                          9
     2 : S  <-------------------------------------- S  : 3
               {2} | y  0  z  0  0  0  0  0  0  |
               {2} | -x y  0  z  0  0  0  0  0  |
               {2} | 0  -x 0  0  0  z  0  0  0  |
               {2} | 0  0  -x -y y  0  z  0  0  |
               {2} | 0  0  0  0  -x -y 0  z  0  |
               {2} | 0  0  0  0  0  0  -x -y 0  |
               {2} | 0  y  0  0  0  0  0  0  z  |
               {2} | 0  0  x  y  0  0  0  0  -y |
               {2} | 0  0  0  0  0  y  0  0  x  |

          9                        3
     3 : S  <-------------------- S  : 4
               {3} | -z 0  0  |
               {3} | 0  -z 0  |
               {3} | y  0  0  |
               {3} | -x y  0  |
               {3} | 0  y  -z |
               {3} | 0  -x 0  |
               {3} | 0  0  y  |
               {3} | 0  0  -x |
               {3} | 0  y  0  |

o7 : ComplexMap
i8 : prune HH Cf

o8 = cokernel {1} | z y x 0 0 0 0 0 0 |
              {1} | 0 0 0 z y x 0 0 0 |
              {1} | 0 0 0 0 0 0 z y x |
      
     1

o8 : Complex
i9 : assert(prune HH_1 Cf == prune(M/M^2))

The mapping cone fits into a canonical short exact sequence of chain complexes: $$0 \to C \to \operatorname{cone}(f) \to B[-1] \to 0.$$

i10 : g = canonicalMap(Cf,C)

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

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

           9                     3
      2 : S  <----------------- S  : 2
                {2} | 0 0 0 |
                {2} | 0 0 0 |
                {2} | 0 0 0 |
                {2} | 0 0 0 |
                {2} | 0 0 0 |
                {2} | 0 0 0 |
                {2} | 1 0 0 |
                {2} | 0 1 0 |
                {2} | 0 0 1 |

           9                 1
      3 : S  <------------- S  : 3
                {3} | 0 |
                {3} | 0 |
                {3} | 0 |
                {3} | 0 |
                {3} | 0 |
                {3} | 0 |
                {3} | 0 |
                {3} | 0 |
                {3} | 1 |

o10 : ComplexMap
i11 : h = canonicalMap(B[-1],Cf)

           1                   4
o11 = 1 : S  <--------------- S  : 1
                | 1 0 0 0 |

           6                                 9
      2 : S  <----------------------------- S  : 2
                {2} | 1 0 0 0 0 0 0 0 0 |
                {2} | 0 1 0 0 0 0 0 0 0 |
                {2} | 0 0 1 0 0 0 0 0 0 |
                {2} | 0 0 0 1 0 0 0 0 0 |
                {2} | 0 0 0 0 1 0 0 0 0 |
                {2} | 0 0 0 0 0 1 0 0 0 |

           8                                 9
      3 : S  <----------------------------- S  : 3
                {3} | 1 0 0 0 0 0 0 0 0 |
                {3} | 0 1 0 0 0 0 0 0 0 |
                {3} | 0 0 1 0 0 0 0 0 0 |
                {3} | 0 0 0 1 0 0 0 0 0 |
                {3} | 0 0 0 0 1 0 0 0 0 |
                {3} | 0 0 0 0 0 1 0 0 0 |
                {3} | 0 0 0 0 0 0 1 0 0 |
                {3} | 0 0 0 0 0 0 0 1 0 |

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

o11 : ComplexMap
i12 : assert(isWellDefined g and isWellDefined h)
i13 : assert(isShortExactSequence(h,g))

The most important application of mapping cones is to identify quasi-isomorphisms: $f$ is a quasi-isomorphism if and only if the mapping cone is acyclic.

i14 : aug = augmentationMap C

                                         1
o14 = 0 : cokernel | x y z | <--------- S  : 0
                                | 1 |

o14 : ComplexMap
i15 : assert isWellDefined aug
i16 : cone aug

                              1      3      3      1
o16 = cokernel | x y z | <-- S  <-- S  <-- S  <-- S
                                                   
      0                      1      2      3      4

o16 : Complex
i17 : assert(0 == prune HH cone aug)
i18 : assert isQuasiIsomorphism aug

Mapping cones can also be used to construct free resolutions of subschemes linked via a complete intersection to a arithmetically Cohen-Macaulay subscheme; see Peskine-Szpiro, Liaison des variétés algébriques I, Invent. math. 26 (1974) 271-302.

Here, we consider a random complete intersection of 2 cubics contained in the ideal of the twisted cubic curve, and we compute a free resolution of the linked curve of degree 6.

i19 : S = ZZ/32003[a..d]

o19 = S

o19 : PolynomialRing
i20 : I = monomialCurveIdeal(S, {1,2,3})

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

o20 : Ideal of S
i21 : K = ideal((gens I) * random(source gens I, S^{-3,-3}))

                    2         3        2                      2            2
o21 = ideal (8444a*b  - 10480b  - 8444a c + 14263a*b*c + 5052b c - 10252a*c 
      -----------------------------------------------------------------------
                2        3        2                      2               
      + 12946b*c  - 5570c  - 3783a d + 5200a*b*d - 11840b d - 1106a*c*d -
      -----------------------------------------------------------------------
                       2            2          2         2        3        2 
      9774b*c*d + 3187c d + 15344a*d  - 3187b*d , 8231a*b  + 5864b  - 8231a c
      -----------------------------------------------------------------------
                         2            2          2        3         2   
      + 6501a*b*c - 8482b c - 13277a*c  - 6827b*c  + 5071c  - 12365a d -
      -----------------------------------------------------------------------
                        2                                 2            2  
      10244a*b*d + 7606b d - 779a*c*d + 14982b*c*d - 6203c d + 11950a*d  +
      -----------------------------------------------------------------------
             2
      6203b*d )

o21 : Ideal of S
i22 : C = freeResolution(S^1/I)

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

o22 : Complex
i23 : B = freeResolution(S^1/K)

       1      2      1
o23 = S  <-- S  <-- S
                     
      0      1      2

o23 : Complex
i24 : f = dual extend(C,B,id_(S^1))

            1                                                                                                                                                                                                                                                                                                               2
o24 = -2 : S  <----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- S  : -2
                 {-6} | a2b+13164ab2+7073b3+14275a2c+12412abc+5971b2c+5936ac2-1626bc2-13990a2d+2551abd+4239b2d+713acd+13423bcd-14082c2d-8823ad2-4362bd2-14372cd2-5192d3 a3-4564a2b-12518ab2+5971b3-13990a2c+13569abc-9576b2c-1274ac2-4545bc2-5082a2d+14176abd-14035b2d-8823acd+9663bcd-4810c2d+3896ad2-9562bd2-5192cd2 |

            2                                                                          3
      -1 : S  <---------------------------------------------------------------------- S  : -1
                 {-3} | a-9704b-6703d -815a-6222b-2797d  -3046a+6364b-4113c+5637d |
                 {-3} | b+6234d       12692a+4634b+3570d 9317a+14985b+4650c+3653d |

           1             1
      0 : S  <--------- S  : 0
                | 1 |

o24 : ComplexMap
i25 : Cf = (cone f)[-2]

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

o25 : Complex
i26 : prune HH Cf

o26 = cokernel {-6} | b3+12691abc+4634b2c+9317ac2+14985bc2+4650c3-12692a2d-13951abd-8751b2d-6234acd-1080bcd+3653c2d-3570ad2-3653bd2 ab2-a2c+14809abc-2101b2c+647ac2-828bc2-4743c3-14809a2d+1454abd+3191b2d-2363acd-14023bcd-4975c2d-13237ad2+4975bd2 a2b-4564a2c+1981abc+7733b2c-3338ac2-9826bc2+8633c3+3514a2d+10063abd-12128b2d-6723acd+9014bcd-12568c2d-13047ad2-5876bd2-14372cd2-5192d3 a3+9352a2c-11170abc+3656b2c-10684ac2-5185bc2+11464c3+14456a2d+6480abd-4521b2d-7255acd+6319bcd-1015c2d-3792ad2+8120bd2+7150cd2-14068d3 |
       
      0

o26 : Complex
i27 : Cf' = minimize Cf

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

o27 : Complex
i28 : J = ideal dd^Cf'_1

              2            2        3         2                      2   
o28 = ideal (a b + 13164a*b  + 7073b  + 14275a c + 12412a*b*c + 5971b c +
      -----------------------------------------------------------------------
             2          2         2                     2              
      5936a*c  - 1626b*c  - 13990a d + 2551a*b*d + 4239b d + 713a*c*d +
      -----------------------------------------------------------------------
                         2           2          2           2        3   3  
      13423b*c*d - 14082c d - 8823a*d  - 4362b*d  - 14372c*d  - 5192d , a  -
      -----------------------------------------------------------------------
           2            2        3         2                      2   
      4564a b - 12518a*b  + 5971b  - 13990a c + 13569a*b*c - 9576b c -
      -----------------------------------------------------------------------
             2          2        2                       2               
      1274a*c  - 4545b*c  - 5082a d + 14176a*b*d - 14035b d - 8823a*c*d +
      -----------------------------------------------------------------------
                       2           2          2          2         3  
      9663b*c*d - 4810c d + 3896a*d  - 9562b*d  - 5192c*d , - 9554b  +
      -----------------------------------------------------------------------
                        2            2           2        3    2             
      9553a*b*c - 13087b c - 14275a*c  + 14732b*c  - 5936c  + a d - 4641a*b*d
      -----------------------------------------------------------------------
              2                                   2           2           2 
      + 15218b d + 2053a*c*d + 13354b*c*d + 14511c d - 7418a*d  - 14511b*d ,
      -----------------------------------------------------------------------
             2       3        2                       2            2  
      9554a*b  + 675b  - 9554a c - 10456a*b*c - 15417b c - 10757a*c  -
      -----------------------------------------------------------------------
             2        3        2                     2               
      4044b*c  + 4082c  + 9781a d - 5829a*b*d + 1585b d + 2459a*c*d -
      -----------------------------------------------------------------------
                       2         2          2
      4115b*c*d - 5151c d + 33a*d  + 5151b*d )

o28 : Ideal of S
i29 : freeResolution J

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

o29 : Complex
i30 : assert(degree J == 6)

See also

Ways to use this method: