An exact couple is a pair of R-modules E and A together with maps A --> E --> A and A --> A with the conditions that
im(A --> E) = ker(E --> A)
im(E --> A) = ker(A --> A)
im(A --> A) = ker(A --> E).
Every exact couple gives rise to a spectral sequence, and most spectral sequences can be constructed by means of an exact couple. Exact couples were introduced in
Massey, W. (1952). Exact Couples in Algebraic Topology (Parts I and II). Annals of Mathematics, 56(2), second series, 363-396.
This package constructs the exact couple arising from a bounded chain complex of finitely generated modules $C_*$ and an endomorphism $f : C_* \to C_*$. Then, we take A to be the homology of $C_*$, and E to be the homology of the mapping cone of $f$. The maps of the exact couple come from the usual long exact sequence, and the resulting spectral sequence converges to the homology of $C_*$. For example, several standard exact sequences for Tor and Ext are of this form; see Exact couples for Tor and Ext. Another example is the spectral sequence of a filtered simplicial complex; see filteredSimplicialComplexCouple.
Since an exact couple of R-modules is itself an R-module with some extra action maps, it can be considered a module for a larger ring with new variables acting by these extra maps. This observation allows us to encode exact couples as modules and thereby compute with them using Groebner bases and other standard Macaulay2 methods.
This encoding strategy works generally for commuting diagrams; see Encoding diagrams as modules. This style may feel unfamiliar at first. For example, the r-page of a spectral sequence is often considered as a grid of R-modules with differentials of degree {r,1-r}; in this package, this information is encoded as a module for a ring like
R[$D_r$, Degrees => {{r,1-r}} ] / $(D_r)^2$
so that the differential is encoded by the action of $D_r$. See pageModule. One benefit comes in our approach to functoriality; see Functoriality for Tor and Ext couples, restackRing and restackModule.
If this encoding makes sense to you, read Conventions and first examples for the specifics of our approach to exact couples.
A common complaint
It may seem strange or useless to compute a spectral sequence converging to $H_* C_*$, since under our assumptions it would be much easier to compute these modules directly. However, it is a misconception that the purpose of a spectral sequence is to compute its abutment.
Rather, spectral sequences enable proofs, which are easier to construct if you can look at examples.
For the serious user of this package, there is at least one common mathematical difficulty:
Even if a spectral sequence with finitely generated entries can be constructed by means of a couple, the auxiliary data is often not finitely generated. The author of this package would be interested in any systematic method of replacing such couples with finitely generated versions that recover the same spectral sequence. If you have information or ideas, please send an email!
This documentation describes version 0.6 of ExactCouples.
The source code from which this documentation is derived is in the file ExactCouples.m2. The auxiliary files accompanying it are in the directory ExactCouples/.
The object ExactCouples is a package.