# edgeComplex -- the edge homomorphisms

## Synopsis

• Usage:
C = edgeComplex E
• Inputs:
• Outputs:
• C,

## Description

Suppose that E is a spectral sequence with the properties that:

1. E2p,q = 0 for all p < l and all q ∈ℤ;

2. E2p,q = 0 for all q < m and all p ∈ℤ;

3. E converges to the graded module {Hn} for n ∈ℤ.

Then E determines a 5-term exact sequence Hl+m+2 →E2l+2,m →E2l,m+1 →Hl+m+1 →E2l+1,m →0 which we refer to as the edge complex.

Note that the above properties are satisfied if E is the spectral sequence determined by a bounded filtration of a bounded chain complex.

The following is an easy example, of a spectral sequence which arises from a nested chain of simplical complexes, which illustrates this concept.

 `i1 : A = QQ[a,b,c,d];` `i2 : D = simplicialComplex {a*d*c, a*b, a*c, b*c};` `i3 : F2D = D;` `i4 : F1D = simplicialComplex {a*c, d};` `i5 : F0D = simplicialComplex {a,d};` `i6 : K = filteredComplex({F2D, F1D, F0D},ReducedHomology => false);` `i7 : C = K_infinity;` ```i8 : prune HH C o8 = -1 : 0 1 0 : QQ 1 1 : QQ 2 : 0 o8 : GradedModule```

The second page of the corresponding spectral sequences take the form:

 `i9 : E = spectralSequence(K);` `i10 : e = prune E;` ```i11 : E^2 +------------------------------------------------+------------------------------------------------------------------+---------------------------------------+ o11 = |subquotient (| 1 0 1 0 0 0 0 |, | 1 0 0 0 0 |)|subquotient (| 0 |, | 0 |) |image 0 | | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 | | | -1 | | -1 | | | | | 0 0 -1 0 0 0 0 | | -1 0 0 0 0 | | | 1 | | 1 | |{2, 0} | | | 0 1 0 0 0 0 0 | | 0 0 0 0 0 | | | 0 | | 0 | | | | | | -1 | | -1 | | | |{0, 0} | | | | |{1, 0} | | +------------------------------------------------+------------------------------------------------------------------+---------------------------------------+ |image 0 |subquotient (| 1 0 0 1 1 1 0 0 1 0 |, | 1 1 1 0 0 1 0 |)|subquotient (| 0 1 0 0 0 |, | 0 0 |)| | | | 0 0 0 -1 0 0 1 0 0 0 | | -1 0 0 1 0 0 0 | | | 0 -1 1 -1 1 | | -1 1 | | |{0, -1} | | 0 1 0 0 -1 0 -1 1 0 0 | | 0 -1 0 -1 1 0 0 | | | 1 0 0 1 0 | | 1 0 | | | | | 0 0 1 0 0 -1 0 -1 0 1 | | 0 0 -1 0 -1 0 1 | | | 0 1 0 0 0 | | 0 0 | | | | | | 0 0 1 -1 0 | | -1 0 | | | |{1, -1} | | | | |{2, -1} | +------------------------------------------------+------------------------------------------------------------------+---------------------------------------+ o11 : SpectralSequencePage``` ```i12 : e^2 +-------+-------+-------+ | 2 | | | o12 = |QQ |0 |0 | | | | | |{0, 0} |{1, 0} |{2, 0} | +-------+-------+-------+ | | | 2 | |0 |0 |QQ | | | | | |{0, -1}|{1, -1}|{2, -1}| +-------+-------+-------+ o12 : SpectralSequencePage```

The acyclic edge complex for this example has the form H1(C) →E22,-1 →E20,0 →H0(C) →E21, -1 →0 and is given by

 ```i13 : edgeComplex E o13 = subquotient (| 1 0 0 1 1 1 0 0 1 0 |, | 1 1 1 0 0 1 0 |) <-- cokernel | 1 1 1 0 0 | <-- subquotient (| 1 0 1 0 0 0 0 |, | 1 0 0 0 0 |) <-- subquotient (| 0 1 0 0 0 |, | 0 0 |) <-- subquotient (| 1 0 |, | 0 |) | 0 0 0 -1 0 0 1 0 0 0 | | -1 0 0 1 0 0 0 | | -1 0 0 1 0 | | 0 0 0 0 0 0 0 | | 0 0 0 0 0 | | 0 -1 1 -1 1 | | -1 1 | | -1 1 | | -1 | | 0 1 0 0 -1 0 -1 1 0 0 | | 0 -1 0 -1 1 0 0 | | 0 -1 0 -1 1 | | 0 0 -1 0 0 0 0 | | -1 0 0 0 0 | | 1 0 0 1 0 | | 1 0 | | 0 -1 | | 1 | | 0 0 1 0 0 -1 0 -1 0 1 | | 0 0 -1 0 -1 0 1 | | 0 0 -1 0 -1 | | 0 1 0 0 0 0 0 | | 0 0 0 0 0 | | 0 1 0 0 0 | | 0 0 | | 1 0 | | 0 | | 0 0 1 -1 0 | | -1 0 | | 0 1 | | -1 | 0 1 2 3 4 o13 : ChainComplex``` ```i14 : prune edgeComplex E 1 2 2 1 o14 = 0 <-- QQ <-- QQ <-- QQ <-- QQ 0 1 2 3 4 o14 : ChainComplex```

To see that it is acyclic we can compute

 ```i15 : prune HH edgeComplex E o15 = 0 : 0 1 : 0 2 : 0 3 : 0 4 : 0 o15 : GradedModule```

## Caveat

The method currently does not support pruned spectral sequences.

## Ways to use edgeComplex :

• edgeComplex(SpectralSequence)