# isShortExactSequence(Complex) -- whether a chain complex is a short exact sequence

## Synopsis

• Function: isShortExactSequence
• Usage:
isShortExactSequence C
• Inputs:
• C, ,
• Outputs:
• , that is true if $C$ is a short exact sequence

## Description

A short exact sequence of modules is a complex $0 \to L \xrightarrow{f} M \xrightarrow{g} N \to 0$ consisting of two homomorphisms of modules $f \colon L \to M$ and $g \colon M \to N$ such that $g f = 0$, $\operatorname{image} f = \operatorname{ker} g$, $\operatorname{ker} f = 0$, and $\operatorname{coker} g = 0$.

From a homomorphism $h \colon M \to N$, one obtains a short exact sequence $0 \to \operatorname{image} h \to N \to \operatorname{coker} h \to 0.$

 i1 : R = ZZ/101[a,b,c]; i2 : h = random(R^3, R^{4:-1}) o2 = | 24a-36b-30c -22a-29b-24c -47a-39b-18c 2a+16b+22c | | -29a+19b+19c -38a-16b+39c -13a-43b-15c 45a-34b-48c | | -10a-29b-8c 21a+34b+19c -28a-47b+38c -47a+47b+19c | 3 4 o2 : Matrix R <--- R i3 : f = inducedMap(target h, image h) o3 = | 24a-36b-30c -22a-29b-24c -47a-39b-18c 2a+16b+22c | | -29a+19b+19c -38a-16b+39c -13a-43b-15c 45a-34b-48c | | -10a-29b-8c 21a+34b+19c -28a-47b+38c -47a+47b+19c | o3 : Matrix i4 : g = inducedMap(cokernel h, target h) o4 = | 1 0 0 | | 0 1 0 | | 0 0 1 | o4 : Matrix i5 : C = complex {g, f} 3 o5 = cokernel | 24a-36b-30c -22a-29b-24c -47a-39b-18c 2a+16b+22c | <-- R <-- image | 24a-36b-30c -22a-29b-24c -47a-39b-18c 2a+16b+22c | | -29a+19b+19c -38a-16b+39c -13a-43b-15c 45a-34b-48c | | -29a+19b+19c -38a-16b+39c -13a-43b-15c 45a-34b-48c | | -10a-29b-8c 21a+34b+19c -28a-47b+38c -47a+47b+19c | 1 | -10a-29b-8c 21a+34b+19c -28a-47b+38c -47a+47b+19c | 0 2 o5 : Complex i6 : isWellDefined C o6 = true i7 : assert isShortExactSequence C i8 : assert isShortExactSequence(C[10]) i9 : assert not isShortExactSequence(C ++ C[6]) i10 : D = complex(R^1, Base=>4) ++ complex(R^1, Base=>2) 1 1 o10 = R <-- 0 <-- R 2 3 4 o10 : Complex i11 : assert not isShortExactSequence D