A short exact sequence of complexes \[ 0 \to B \xrightarrow{f} C \xrightarrow{g} D \to 0\] consists of two morphisms of complexes $f \colon B \to C$ and $g \colon C \to D$ such that $g f = 0$, $\operatorname{image} f = \operatorname{ker} g$, $\operatorname{ker} f = 0$, and $\operatorname{coker} g = 0$.
i1 : R = ZZ/101[a,b,c];
|
i2 : B = freeResolution coker matrix{{a^2*b, a*b*c, c^3}}
1 3 2
o2 = R <-- R <-- R
0 1 2
o2 : Complex
|
i3 : C = freeResolution coker vars R
1 3 3 1
o3 = R <-- R <-- R <-- R
0 1 2 3
o3 : Complex
|
i4 : h = randomComplexMap(C, B, Cycle => true)
1 1
o4 = 0 : R <----------- R : 0
| -47 |
3 3
1 : R <------------------------------------------------------------------------------------------ R : 1
{1} | 35ab+10b2+8ac-50bc+29c2 34ab+19b2-43ac+39bc-28c2 39ab+18b2-2ac-3bc-22c2 |
{1} | 19a2-10ab-29ac+24bc+38c2 -34a2-19ab-9ac-34bc-48c2 -39a2-18ab-13ac+47bc-38c2 |
{1} | -8a2-22ab-24b2-29ac-38bc 43a2+24ab+34b2+28ac+48bc 2a2+16ab-47b2+22ac+38bc-47c2 |
3 2
2 : R <--------------------------------------------------------------------------------------- R : 2
{2} | -34a2-19ab-44ac+15bc+2c2 -39a2b-18ab2+24a2c-49abc+18b2c+4ac2-47c3 |
{2} | 43a2+40ab-5b2+36ac+49bc+29c2 -22a2b-49ab2-18b3-49abc+19b2c-43ac2-15bc2-28c3 |
{2} | -16a2+39ab+21ac+24bc+38c2 24a3-36a2b-29ab2-30a2c+19abc+45ac2-34bc2-48c3 |
o4 : ComplexMap
|
i5 : f = canonicalMap(C, image h)
1
o5 = 0 : R <----------- image | -47 | : 0
| -47 |
3
1 : R <------------------------------------------------------------------------------------------ image {1} | 35ab+10b2+8ac-50bc+29c2 34ab+19b2-43ac+39bc-28c2 39ab+18b2-2ac-3bc-22c2 | : 1
{1} | 35ab+10b2+8ac-50bc+29c2 34ab+19b2-43ac+39bc-28c2 39ab+18b2-2ac-3bc-22c2 | {1} | 19a2-10ab-29ac+24bc+38c2 -34a2-19ab-9ac-34bc-48c2 -39a2-18ab-13ac+47bc-38c2 |
{1} | 19a2-10ab-29ac+24bc+38c2 -34a2-19ab-9ac-34bc-48c2 -39a2-18ab-13ac+47bc-38c2 | {1} | -8a2-22ab-24b2-29ac-38bc 43a2+24ab+34b2+28ac+48bc 2a2+16ab-47b2+22ac+38bc-47c2 |
{1} | -8a2-22ab-24b2-29ac-38bc 43a2+24ab+34b2+28ac+48bc 2a2+16ab-47b2+22ac+38bc-47c2 |
3
2 : R <--------------------------------------------------------------------------------------- image {2} | -34a2-19ab-44ac+15bc+2c2 -39a2b-18ab2+24a2c-49abc+18b2c+4ac2-47c3 | : 2
{2} | -34a2-19ab-44ac+15bc+2c2 -39a2b-18ab2+24a2c-49abc+18b2c+4ac2-47c3 | {2} | 43a2+40ab-5b2+36ac+49bc+29c2 -22a2b-49ab2-18b3-49abc+19b2c-43ac2-15bc2-28c3 |
{2} | 43a2+40ab-5b2+36ac+49bc+29c2 -22a2b-49ab2-18b3-49abc+19b2c-43ac2-15bc2-28c3 | {2} | -16a2+39ab+21ac+24bc+38c2 24a3-36a2b-29ab2-30a2c+19abc+45ac2-34bc2-48c3 |
{2} | -16a2+39ab+21ac+24bc+38c2 24a3-36a2b-29ab2-30a2c+19abc+45ac2-34bc2-48c3 |
1
3 : R <----- image 0 : 3
0
o5 : ComplexMap
|
i6 : g = canonicalMap(coker h, C)
1
o6 = 0 : cokernel | -47 | <----- R : 0
0
3
1 : cokernel {1} | 35ab+10b2+8ac-50bc+29c2 34ab+19b2-43ac+39bc-28c2 39ab+18b2-2ac-3bc-22c2 | <----------------- R : 1
{1} | 19a2-10ab-29ac+24bc+38c2 -34a2-19ab-9ac-34bc-48c2 -39a2-18ab-13ac+47bc-38c2 | {1} | 1 0 0 |
{1} | -8a2-22ab-24b2-29ac-38bc 43a2+24ab+34b2+28ac+48bc 2a2+16ab-47b2+22ac+38bc-47c2 | {1} | 0 1 0 |
{1} | 0 0 1 |
3
2 : cokernel {2} | -34a2-19ab-44ac+15bc+2c2 -39a2b-18ab2+24a2c-49abc+18b2c+4ac2-47c3 | <----------------- R : 2
{2} | 43a2+40ab-5b2+36ac+49bc+29c2 -22a2b-49ab2-18b3-49abc+19b2c-43ac2-15bc2-28c3 | {2} | 1 0 0 |
{2} | -16a2+39ab+21ac+24bc+38c2 24a3-36a2b-29ab2-30a2c+19abc+45ac2-34bc2-48c3 | {2} | 0 1 0 |
{2} | 0 0 1 |
1 1
3 : R <------------- R : 3
{3} | 1 |
o6 : ComplexMap
|
i7 : assert isShortExactSequence(g,f)
|
i8 : I = ideal(a^3, b^3, c^3)
3 3 3
o8 = ideal (a , b , c )
o8 : Ideal of R
|
i9 : J = I + ideal(a*b*c)
3 3 3
o9 = ideal (a , b , c , a*b*c)
o9 : Ideal of R
|
i10 : K = I : ideal(a*b*c)
2 2 2
o10 = ideal (c , b , a )
o10 : Ideal of R
|
i11 : SES = complex{
map(comodule J, comodule I, 1),
map(comodule I, (comodule K) ** R^{-3}, {{a*b*c}})
}
o11 = cokernel | a3 b3 c3 abc | <-- cokernel | a3 b3 c3 | <-- cokernel {3} | c2 b2 a2 |
0 1 2
o11 : Complex
|
i12 : assert isWellDefined SES
|
i13 : assert isShortExactSequence(dd^SES_1, dd^SES_2)
|
i14 : (g,f) = horseshoeResolution SES
1 2 2
o14 = (0 : R <----------- R : 0 , 0 : R
| 0 1 |
4 7
1 : R <------------------------- R : 1 7
{3} | 0 0 0 1 0 0 0 | 1 : R
{3} | 0 0 0 0 1 0 0 |
{3} | 0 0 0 0 0 1 0 |
{3} | 0 0 0 0 0 0 1 |
6 9
2 : R <----------------------------- R : 2
{5} | 0 0 0 1 0 0 0 0 0 |
{5} | 0 0 0 0 1 0 0 0 0 |
{5} | 0 0 0 0 0 1 0 0 0 | 9
{6} | 0 0 0 0 0 0 1 0 0 | 2 : R
{6} | 0 0 0 0 0 0 0 1 0 |
{6} | 0 0 0 0 0 0 0 0 1 |
3 4
3 : R <------------------- R : 3
{7} | 0 1 0 0 |
{7} | 0 0 1 0 |
{7} | 0 0 0 1 |
4
3 : R
-----------------------------------------------------------------------
1
<------------- R : 0 )
{3} | 1 |
{0} | 0 |
3
<----------------- R : 1
{5} | 1 0 0 |
{5} | 0 1 0 |
{5} | 0 0 1 |
{3} | 0 0 0 |
{3} | 0 0 0 |
{3} | 0 0 0 |
{3} | 0 0 0 |
3
<----------------- R : 2
{7} | 1 0 0 |
{7} | 0 1 0 |
{7} | 0 0 1 |
{5} | 0 0 0 |
{5} | 0 0 0 |
{5} | 0 0 0 |
{6} | 0 0 0 |
{6} | 0 0 0 |
{6} | 0 0 0 |
1
<------------- R : 3
{9} | 1 |
{7} | 0 |
{7} | 0 |
{7} | 0 |
o14 : Sequence
|
i15 : assert isShortExactSequence(g,f)
|