## Background

I am currently working on the homology of some moduli space and there exists a much simpler chain complex with the same homology. It is a quotient of a bisimplicial complex by a subcomplex. One could say that some faces are degenerate, thus are zero. Unfortunately, it's too hard to compute the homology groups by hand.

Given a free chain complex of finite type over the coefficient ring $\mathbb{Z}$ or $\mathbb{Z}/{p^k}$, with $p$ prime, I cannot compute the homology groups by hand. Some matrices have approximately $18.000.000 \times 15.000.000$ entries.

**Question:** Is there a C/C++ library or an external program that does the following (in descending order of importance)?

- computes the homology groups of the given chain complex
- describes the image of one or multiple cycles as a linear combination of homology classes
- is efficient (e.g. it is capable of using multiple CPUs)