# Program for computing group cohomology

Is there any computer program with which I can compute the group cohomology H^n(G,V) for a group G acting linearly on a vector space? I mainly care about infinite groups.

• With a presentation for the group and the matrices corresponding to the generators, or with some other description? – Will Sawin Mar 29 '12 at 14:33
• The answer is "no". – Steve D Mar 29 '12 at 14:53
• :( any nonnegative answer would have made me happy – google Mar 29 '12 at 15:14
• Actually, the answer is only "no" if one asks whether such a program exists that works for every group. But for many clases of (interesting) groups, it is indeed possible go compute cohomology beyond $H^1$. For example, for (even infinite) polycyclic groups (as implemented in GAP and the GAP package polycyclic). So, if you are interested in specific groups, then telling us more about these groups might lead to some less "negative" answers ;-) – Max Horn Mar 29 '12 at 16:04

GAP can be used to compute free $\mathbb ZG$-resolutions of $\mathbb Z$ for some infinite groups G. These resolutions can then be used to compute homology and cohomology of $G$. I hope the following examples give a flavour of the kind of infinite groups that can be handled at present. (A range of finite groups can also be handled.)

EXAMPLE $H_{99}(SL_2(\mathbb Z[1/7]),\mathbb Z) = \mathbb Z_4 \oplus \mathbb Z_{12}$

gap> R:=ResolutionSL2Z(7,100);;

gap> Homology(TensorWithIntegers(R),99);

[ 4, 12 ]

EXAMPLE $H_3(SL_3(\mathbb Z),\mathbb Z) = \mathbb Z_{12} \oplus \mathbb Z_{12}$

gap> R:=ResolutionArithmeticGroup("SL(3,Z)",4);;

gap> Homology(TensorWithIntegers(R),3);

[ 12, 12 ]

EXAMPLE $H_3(SL_2(O_{-11}),\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z_{24}$ where $O_{-11}$ is the ring of integers of $\mathbb Q(\sqrt{-11})$.

gap> R:=ResolutionArithmeticGroup("SL(2,O-11)",4);;

gap> Homology(TensorWithIntegers(R),3);

[ 2, 24 ]

EXAMPLE $H_3(G,\mathbb Z)= \mathbb Z_2 \oplus \mathbb Z_2 \oplus \mathbb Z$ for $G$ the space group P62.

gap> G:=Image(IsomorphismPcpGroup(SpaceGroupBBNWZ("P62")));;

gap> R:=ResolutionAlmostCrystalGroup(G,4);;

gap> Homology(TensorWithIntegers(R),3);

[ 2, 2, 0 ]

EXAMPLE $H_3(G,\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z^{110}$ for $G$ the Heisenberg group of degree 5.

gap> R:=ResolutionNilpotentGroup(HeisenbergPcpGroup(5),4);;

gap> Homology(TensorWithIntegers(R),3);

[ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

EXAMPLE $H_3(G,\mathbb Z) = \mathbb Z_2$ for $G$ the braid group on eight braids (or seven generators).

gap> Dynkin:=[[1,[2,3]],[2,[3,3]],[3,[4,3]],[4,[5,3]],[5,[6,3]],[6,[7,3]]];;

gap> R:=ResolutionArtinGroup(Dynkin,4);;

gap> Homology(TensorWithIntegers(R),3);

[ 2 ]

I'm going to assume you mean a group given by a finite presentation. The program GAP (see http://www.gap-system.org/) has algorithms to compute $$H^1(G;M)$$ for a finitely presentable group $$G$$ and a $$G$$-vector space $$M$$. I also wrote some code at some point for dealing with $$M$$ a $$G$$-vector space over a field of finite characteristic (it is a little more efficient than GAP, and can deal with "larger" groups and vector space); the code can be downloaded here, and was used in my paper

A. Putman The Picard group of the moduli space of curves with level structures, Duke Math. J. 161 (2012), no. 4, 623–674.

For $$H^k(G;M)$$ for $$k \geq 2$$, this is impossible. In

C. M. Gordon, Some embedding theorems and undecidability questons for groups, in: Combinatorial and Geometric Group Theory, A. J. Duncan, N. D. Gilbert, and James Howie, eds., London Math. Soc. Lecture Note Series 204 (CUP, 1995), 105-110.

it is shown that determining whether $$H^2(G;M) = 0$$ for a finitely presentable group $$G$$ is undecidable.

EDIT : Since there has been some discussion in the comments about which classes of finitely presentable groups possess algorithms for computing their homology, I thought I'd point out the paper

Bridson, M and Reeves, L "On the algorithmic construction of classifying spaces and the isomorphism problem for biautomatic groups", http://people.maths.ox.ac.uk/bridson/papers/BReeves/

This paper shows that there exists an algorithm for calculating the homology groups of an automatic group. This is a fairly broad class of group (eg it includes mapping class groups by a famous theorem of Lee Mosher, though it doesn't include higher rank lattices). But I don't know how practical the given algorithm is.

• One should emphasis that this undecidability result only holds "in general", i.e. "there are groups $G$ such that we cannot decide whether $H^2(G;M)=0$". But for some specific classes of groups $G$, one can actually compute their cohomology. – Max Horn Mar 29 '12 at 16:06
• Max - if you believe in random groups, say, then in fact the 'average' group is rather nice! It's the bad groups that are in some sense exceptional. – HJRW Mar 30 '12 at 10:09
• True enough. But the problem with this is that while random groups are "nice", that doesn't really equal "we know how to expose and use its niceness"... E.g. in certain models, random groups are hyperbolic with probability 1, so you know the word problem is solvable in them... Unfortunately, in general you have no idea how one can solve it in them. There's a big gap between some data being "decidable" and "we can actually, in a timely manner. For (co)homology, this seems to be hard for "average" groups. At least as far as I know. – Max Horn Mar 30 '12 at 10:40
• An algorithm for constructing a free $\mathbb ZG$-resolution for automatic groups is outlined also in [G.Ellis, "Computing group resolutions", J. Symbolic Computation, 38 (3) 2004, 1077-1118]. This algorithm is implemented in GAP just for finite groups and can be used to construct n terms of a resolution for a finite group $G$ using the following command. gap> ResolutionFiniteGroup(G,n); – Graham Apr 4 '12 at 10:53
• @Graham : Thanks for pointing that out! I was unaware that this was already known. – Andy Putman Apr 4 '12 at 15:31

For groups given by matrix generators, most questions are undecidable. For groups given by a presentation, many questions are undecidable anyhow:

(un)decidability in matrix groups

Is any interesting question about a group G decidable from a presentation of G?

computing abelianizations

• For groups given by matrix generators over $\mathbb{Z}$ this is certainly true, but for groups given by matrix generators over a finite field (another common setting), certainly most questions are decidable, and the question then becomes one of whether there are provably efficient algorithms and/or practical implementations. – Joshua Grochow Jun 20 '19 at 5:11

Computing group cohomology

One should probably see this in terms of computing resolutions of a group; then it is a partly a question of what data defines the group in question, and clearly a computation is not always possible.

For one approach using Homological Perturbation Theory, see papers involving Larry Lambe at http://mssrc.com for example

Computing Resolutions Over Finite p-Groups, with Johannes Grabmeier, Algebraic Combinatorics and Applications, A. Betten, A. Kohnert, R. Laue, and A. Wassermann (Eds), Springer-Verlag, Heidelberg, (2001).

See also papers of Johannes Huebschmann, such as MR1031239 (92c:20093) Huebschmann, Johannes(D-HDBG) Cohomology of metacyclic groups. Trans. Amer. Math. Soc. 328 (1991), no. 1, 1–72.

My paper with Razak Salleh`Free crossed crossed resolutions of groups and presentations of modules of identities among relations', LMS J. Comp. and Math. 2 (1999) 28-61. brought forward the idea of computing resolutions not by "killing kernels" but by "constructing a home for a contracting homotopy", i.e. working to construct the universal cover with a contracting homotopy: this was kind of inspired by Homological Perturbation Theory, where the construction of homotopies is paramount.

Carried much further in this direction and well implemented is the work of Graham Ellis on Homological Algebra Programming at http://hamilton.nuigalway.ie/ .

• Two of the papers you listed (the one with Lambe and the one of Huebschmann) deal only with finite groups; I haven't had a chance to look at the other ones. Are any of the ideas here relevant to infinite groups (like in the OP's question)? – Andy Putman Mar 29 '12 at 21:57
• I haven't looked at this before, but at least the page hamilton.nuigalway.ie/Hap/www refers explicitly to infinite groups: "HAP is a homological algebra library for use with the GAP computer algebra system, and is still under development. Its initial focus is on computations related to the cohomology of groups. Both finite and infinite groups are handled, with emphasis on integral coefficients." So this seems very relevant to the original question. – Christian Nassau Mar 30 '12 at 6:05
• Certainly Ellis is one of the main people working on the GAP packages for group cohomology (the other major player being Derek Holt). – Andy Putman Mar 30 '12 at 6:29