# Algorithm for group cohomology

Let $$G$$ be a finite group, and let $$0\to M_1\xrightarrow{\iota} M_2\xrightarrow{\pi} M_3\to 0$$ be a short exact sequence of $$G$$-modules (finitely generated over $$\mathbb Z$$, not necessarily free). I have a description of my group in terms of generators and relations ($$G$$ is quite small), I have matrices describing the action of $$G$$ on the $$M_i$$, and matrices describing the homomorphisms $$\iota$$ and $$\pi$$ with respect to some bases of $$M_i$$. I would like to understand the surjectivity of the map $$H^1(G,M_2)\to H^1(G,M_3)$$, or equivalently whether $$H^1(G,M_3)\to H^2(G,M_1)$$ is the zero map or not.

I am interested in this calculation for many different sequences, some of which are not so nice, so I don't expect to be able to do this by hand (e.g. using some trick or nice observation).

Is there some way to do this with a computer?

• Related question mathoverflow.net/q/92567
– BS.
Feb 2 '19 at 23:55
• I was aware of that question, however it is about infinite groups acting on vector spaces, so it is quite unrelated. Feb 2 '19 at 23:59

While I do not have direct experience with using it myself, I believe there are several packages out there for GAP that might do the trick for you, especially the HAP package. See especially 6: Homology and Cohomology Groups. This gives some direct functions for calculating cohomology groups; the other parts of the package will likely prove very useful too for making sure that your group and its actions are input to HAP in a way that it can work with.

I doubt there is a pre-fabricated way of doing exactly what it is you wish to do, but you could likely piece together the many functions of HAP to achieve this.

• The problem with GAP/HAP is that it is mainly designed for trivial G-modules (i.e. the G-action is trivial). For example, I find it hard to compute tensor powers, symmetric powers, or exterior powers of a lattice. Feb 3 '19 at 0:02

It is possible to do this in Magma. I will illustrate by showing by an example how, given an arbitrary $$G$$-module homomorphism $$h:M \to N$$, you can compute the induced homomorphism $$\mathsf{c1h}:H^1(G,M) \to H^1(G,N)$$. You could then calculate the image as the submodule of $$H^1(G,N)$$ generated by the images of $$\mathsf{c1h}$$ on the generators of $$H^1(G,M)$$.

I don't know immediately how you could compute the connecting homomorphism $$H^1(G,M_3) \to H^2(G,M_1)$$, but it looks as though you do not necessarily need to compute that.

Anyway here is an example.

G := PSL(3,2);
I := IrreducibleModules(G,GF(2));
N := I;
M, i1, i2, p1, p2 := DirectSum(N,I);
//p1 is the projection from M to N
CM := CohomologyModule(G,M);
CM1 := CohomologyGroup(CM,1); //dimension 2
CN := CohomologyModule(G,N);
CN1 := CohomologyGroup(CN,1); //dimension 1
c1h := function(x)
//Image of x in CM1 in CM2 under mapping induced by p1: M -> N
local c, t;
c := OneCocycle(CM,x);
t := func< x | p1(c(x)) >;
return IdentifyOneCocycle(CN, t);
end function;

> c1h(CM1.1);
(1)
> c1h(CM1.2);
(0)
> sub< CN1 | c1h(CM1.1), c1h(CM1.2) > eq CN1;


true

After working out this example, I read your query again and I see that you want to do this for modules over $${\mathbb Z}$$, not necessarily free. That is also possible in Magma, although the modules have to be finitely generated. You have to provide the abelian invariants of the modules and describe the actions of $$G$$ by matrices over $${\mathbb Z}$$.

• By abelian invariants you mean the structure as finitely generated abelian groups? In my case, $M_2$ and $M_3$ are most naturally expressed as quotients of a (common) lattice by suitable sublattices (actually $M_3$ is also a lattice, but $M_2$ is not). Also, it seems to me that $N$ and $M$ are modules over $\mathbb{F}_2$ instead of $G$, am I wrong? Are there difficulties to consider $\mathbb Z$-modules in magma? Feb 3 '19 at 21:40
• (I am going to write $Z$ instead of ${\mathbb Z}$ for ease of typing.) Yes you define a finitely generated abelian group by its invariants, for example $[4,12,0,0]$ for $Z/(4Z) \oplus Z/(12Z) \oplus Z^2$, and then you define the action of the group $G$ on this group by matrices defining the action of the group generators. In this example they would be $4 \times 4$ matrices over $Z$. In the example I gave the modules were ${\mathbb F}_2G$-modules. Feb 3 '19 at 22:29