A (homological, or lower index) spectral sequence consists of:

1. A sequence of modules *{E ^{r}_{p,q}}* for

2. A collection of homomorphisms *{d ^{r}_{p,q}: E^{r}_{p,q} →E^{r}_{p-r,q+r-1} }*, for

3. A collection of isomorphisms *E ^{r+1}_{p,q} →ker d^{r}_{p,q} / image d^{r}_{p+r,q-r+1}*.

Alternatively a (cohomological, or upper index) spectral sequence consists of:

1’. A sequence of modules *{E _{r}^{p,q}}* for

2’. A collection of homomorphisms *{d _{r}^{p,q}: E_{r}^{p,q} →E_{r}^{p+r,q-r+1}}* for

3’. A collection of isomorphisms *E _{r+1}^{p,q} *→

The type `SpectralSequence` is a data type for working with spectral sequences. In this package, a spectral sequence is represented by a sequence of spectral sequence pages.

All spectral sequences arise from bounded filtrations of bounded chain complexes. Ascending filtrations of degree *-1* chain complexes determine spectral sequences of the first type. Descending filtrations of degree *1* chain complex determine spectral sequences of the second type.

- SpectralSequencePage -- the type of all spectral sequence pages
- SpectralSequencePageMap -- the type of all spectral sequence page maps
- Filtered complexes and simplicial complexes
- Filtrations and tensor product complexes
- Filtrations and homomorphism complexes

- minimalPresentation(SpectralSequence) -- a minimal presentation of a spectral sequence
- prune(SpectralSequence), see minimalPresentation(SpectralSequence) -- a minimal presentation of a spectral sequence
- spectralSequence(FilteredComplex) -- construct a spectral sequence from a filtered complex

- chainComplex(SpectralSequence) -- the underlying chain complex of a Spectral Sequence
- describe(SpectralSequence) -- real description
- edgeComplex(SpectralSequence), see edgeComplex -- the edge homomorphisms
- expression(SpectralSequence)
- filteredComplex(SpectralSequence) -- obtain the filtered complex associated to the spectral sequence
- homologyIsomorphism(SpectralSequence,ZZ,ZZ,ZZ) -- the homology isomorphism
- net(SpectralSequence)
- SpectralSequence ^ InfiniteNumber -- the infinity page of a spectral sequence
- SpectralSequence _ InfiniteNumber, see SpectralSequence ^ InfiniteNumber -- the infinity page of a spectral sequence
- SpectralSequence ^ ZZ -- the kth page of a spectral sequence
- SpectralSequence _ ZZ -- the kth page of a spectral sequence

The object SpectralSequence is a type, with ancestor classes MutableHashTable < HashTable < Thing.