# Homology of a chain complex with unknow boundary map

Question. Let $$(C_\bullet,\partial)$$ be a $$\mathbb{Z}/2\mathbb{Z}$$-chain complex generated by $$a$$, $$b_1,b_2,b_3$$, $$c_1,c_2$$ with gradings: $$|a|=2,|b_1|=|b_2|=|b_3|=1,|c_1|=|c_2|=0.$$ Which graded modules (polynomial) can be realized as (the Poincaré polynomial of) $$H_\bullet(C_\bullet,\partial)$$?

I can always do a case by case computation, but I am exhausted just thinking about it, as we know that: \begin{align}\partial a&\in\{0,b_1,b_2,b_3,b_1+b_2,b_1+b_3,b_2+b_3,b_1+b_2+b_3\},\\\partial b_1,\partial b_2,\partial b_3&\in\{0,c_1,c_2,c_1+c_2\},\\\partial c_1,\partial c_2&=0,\end{align} there is $$512$$ different $$\partial_i$$, but some of them will not satisfy $$\partial_i\circ\partial_i=0$$.

• Is there a clever way to carry on the computation?
• Can a computer algebra software, as SageMath, solve my problem?

Any enlightenment will be greatly appreciated.

Context. I have a chain complex $$(C_\bullet,\partial)$$ coming from a geometric setting, for which I know $$C_\bullet$$ as a graded module (I am able to compute its generators and their grading), but whose boundary map $$\partial$$ is unknown to me (and I am actually interested in a lot of different boundary map on $$C$$).

I want to find all chain complex $$(C_\bullet,\partial_i)$$ and compute their homology, said explicitely:

• the graded module $$C_\bullet$$ is fixed,
• I look for endomorphisms $$\partial_i$$ with $$\partial_i\colon C_\bullet\to C_{\bullet-1}$$ and $$\partial_i\circ\partial_i=0$$,
• I want to compute $$H_\bullet(C_\bullet,\partial_i)=\ker(\partial_i)/\textrm{im}(\partial_i)$$ as a graded module.

With sufficient partial information on the boundary map $$\partial$$, I hope to be able to compute the homology of $$(C_\bullet,\partial)$$ guessing which of the $$H_\bullet(C_\bullet,\partial_i)$$ it is.

Precise context. I want to compute all the mixed generating family homologies of the Hopf link with Maslov potential from the lower strand to the upper strand being $$0,1,1,2$$.

In general, it is really hard to compute the boundary map of the mixed generating family homology, as it basically involves knowing the gradient flow lines of a qualitatively constructed map and structural results on this homology are still to be discovered.

You can do it in SageMath as follows, if I understood it correctly:

var('t')
poincare_polynomials = set([])
import itertools
for (a_to_b, b_to_c) in itertools.product(itertools.product(GF(2),repeat=3), itertools.product(GF(2),repeat=6)):
try:
C = ChainComplex({2: matrix(GF(2), 3, 1, a_to_b), 1: matrix(GF(2), 2, 3, b_to_c)}, degree=-1)
#print C.homology(generators=True)
#P_C = sum(C.free_module_rank(deg)*t^deg for deg in C.nonzero_degrees())
P_H = sum(C.homology(deg).dimension()*t^deg for deg in C.nonzero_degrees())
#print ((P_C - P_H)/(1+t)).full_simplify()
except ValueError:
# differentials not compatible
pass
print poincare_polynomials


which outputs

set([0, 2*t + 2, t^2 + t, t^2 + 3*t + 2, t^2 + 2*t + 1, t + 1])


You can modify the code to get any additional information you want. See Chain complexes in the Sage reference manual.

• Your code seems to do the job, the outputs match my expectation! It helps a lot, thank you! – C. Falcon Jan 26 at 23:08