next | previous | forward | backward | up | top | index | toc | Macaulay2 website
ExactCouples :: longExactSequence

longExactSequence -- finds the long exact sequence associated to a map of R[d]/d^2-modules

Synopsis

Description

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         - -' 

Caveat

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.

See also

Ways to use longExactSequence:

For the programmer

The object longExactSequence is a method function.