Given a morphism $f : 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 matrix\{\{-dd^{B[-1]}, 0\}, \{f[-1], dd^C\}\}.
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 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 varieties algebrique 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 2 3 2
o21 = ideal (8444a*b - 10480b - 8444a c + 14263a*b*c + 5052b c - 10252a*c + 12946b*c - 5570c - 3783a d + 5200a*b*d -
---------------------------------------------------------------------------------------------------------------------------
2 2 2 2 2 3 2 2
11840b d - 1106a*c*d - 9774b*c*d + 3187c d + 15344a*d - 3187b*d , 8231a*b + 5864b - 8231a c + 6501a*b*c - 8482b c -
---------------------------------------------------------------------------------------------------------------------------
2 2 3 2 2 2 2 2
13277a*c - 6827b*c + 5071c - 12365a d - 10244a*b*d + 7606b d - 779a*c*d + 14982b*c*d - 6203c d + 11950a*d + 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 2 2 2 2
o28 = ideal (a b + 13164a*b + 7073b + 14275a c + 12412a*b*c + 5971b c + 5936a*c - 1626b*c - 13990a d + 2551a*b*d + 4239b d +
---------------------------------------------------------------------------------------------------------------------------
2 2 2 2 3 3 2 2 3 2
713a*c*d + 13423b*c*d - 14082c d - 8823a*d - 4362b*d - 14372c*d - 5192d , a - 4564a b - 12518a*b + 5971b - 13990a c +
---------------------------------------------------------------------------------------------------------------------------
2 2 2 2 2 2 2
13569a*b*c - 9576b c - 1274a*c - 4545b*c - 5082a d + 14176a*b*d - 14035b d - 8823a*c*d + 9663b*c*d - 4810c d + 3896a*d -
---------------------------------------------------------------------------------------------------------------------------
2 2 3 2 2 2 3 2 2
9562b*d - 5192c*d , - 9554b + 9553a*b*c - 13087b c - 14275a*c + 14732b*c - 5936c + a d - 4641a*b*d + 15218b d +
---------------------------------------------------------------------------------------------------------------------------
2 2 2 2 3 2 2 2
2053a*c*d + 13354b*c*d + 14511c d - 7418a*d - 14511b*d , 9554a*b + 675b - 9554a c - 10456a*b*c - 15417b c - 10757a*c -
---------------------------------------------------------------------------------------------------------------------------
2 3 2 2 2 2 2
4044b*c + 4082c + 9781a d - 5829a*b*d + 1585b d + 2459a*c*d - 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) |