Suppose $m:A \to B$ where $A$ and $B$ are both $R[d]/d^2$-modules considered as cochain complexes. Writing C(m) for the mapping cone of the map m, the long exact sequence in cohomology takes the form
$\cdots \to H^p A \to H^p B \to H^p C(m) \to H^{p+1} A \to \cdots$
The output module M is bigraded, and encodes this sequence as follows:
$\cdots \to M_{(1,2p)} \to M_{(-1,2p+2)} \to M_{(0,2p+2)} \to M_{(1,2p+2)} \to \cdots $
where the maps are multiplication by $e$ or $f$, in the repeating pattern $...,e,f,e,e,f,e,e,f,e...$. In other words, for all $p \in \ZZ$,
$M_{(1,2p)} = H^p A$
$M_{(-1,2p)} = H^{p-1} B$
$M_{(0,2p)} = H^{p-1} B$;
Multiplication by e induces the maps $H^{p-1} B \to H^{p-1} C(m) \to H^{p}A$ and
Multiplication by f induces diagonal maps $H^p A \to H^p B$.
Note that this setup leaves the odd rows empty. The reasoning behind these conventions is explained in Conventions and first examples.
i1 : R = QQ[x]; S = R[d] / ideal(d^2); declareGenerators(S, {a => {0,0}}); A = cospan(x^2*a, d*x*a) o4 = cokernel | x2 xd | 1 o4 : S-module, quotient of S |
i5 : declareGenerators(S, {b => {0,0}}); B = cospan(x^2*b, d*b) o6 = cokernel | x2 d | 1 o6 : S-module, quotient of S |
i7 : m = map(B, A, matrix {b}); o7 : Matrix |
i8 : LES = longExactSequence m; warning: clearing value of symbol f to allow access to subscripted variables based on it : debug with expression debug 3406 or with command line option --debug 3406 |
i9 : excerptLES(0,2,LES) o9 = .- -> 0 0 ( \ 0 \ .- -> 0 - - -> 0 - - -> 0 - -' 0 ( 0 \ 0 \ .- -> cokernel | x2 | - - - -> cokernel | x | - - -> 0 - -' | x |( | 1 | \ 0 \ .- -> 0 - - -> 0 - - -> cokernel {1} | x | - -' 0 ( 0 \ \ 0 - -' |
The source and target of m must be homogeneous, and m itself must be degree-preserving. If the variable d has degree different from 1, then the other degrees are adjusted to match d.
The output module usually has nonzero entries outside of the three columns of interest indicated above. This is because we compute M by building a natural exact couple associated to m, and other nonzero entries appear organically.
The object longExactSequence is a method function.