Page 111 - Ellingham, Mark, Mariusz Meszka, Primož Moravec, Enes Pasalic, 2014. 2014 PhD Summer School in Discrete Mathematics. Koper: University of Primorska Press. Famnit Lectures, 3.
P. 111
mož Moravec: Some Topics in the Theory of Finite Groups 99

Conversely, assume that φ1 + B 2(G , A) = φ2 + B 2(G , A). Write φ1 = φ2 + ψ∗ for some
ψ: G → A as above. Define θ : E1 → E2 by the rule (x τ1 a µ1 )θ = x τ2 (a + (x )ψ)µ2 for x ∈ G

and a ∈ A. θ is a well defined homomorphism, µ1θ = µ2 and ε1 = θ ε2. Hence we have a

commutative diagram
A / µ1 / E1 ε1 / /G

1 θ1

/ µ2 / ε2 / /G
A E
2

and θ must be an isomorphism.

Theorem 3.4.8 Let G be a group and A a G -module. Then there is a bijection between the
set of equivalence classes of of extensions of A by G inducing the given module structure
and the group Z 2(G , A)/B 2(G , A). The split extension corresponds to B 2(G , A).

Let A be a G -module. We define H 2(G , A) = Z 2(G , A)/B 2(G , A) to be the second coho-
mology group of G with coefficients in A. The elements of H 2(G , A) thus correspond
to equivalence classes of extensions of A by G . Unfortunately, different elements of
H 2(G , A) can still produce extensions of A by G that are isomorphic as groups.

Example 3.4.9 Consider p as a trivial Cp -module. From Example 3.2.26 it follows that

there are only two non-isomorphic extensions of A = p by G = Cp , namely Cp × Cp and
Cp2 . On the other hand, one can show that H 2(Cp , p ) =∼ Cp .

GAP can compute extensions of elementary abelian p -groups by solvable groups,

which have to be presented as pc groups. One has to define an elementary abelian

group A together with an action of G on A as a MeatAxe module for G over a finite field;

we refer to GAP’s manual for further information. The action of G on A can be represented

by matrices over GF(p ). It is a requirement that the matrices that define the module must
correspond to the pcgs of the group G . In this case, Z 2(G , A), B2(G , A) and H 2(G , A) are

elementary abelian p -groups and can be considered as vector spaces over GF(p ).

As another example we build all the extensions of A = 2 ⊕ 2 by G = D8, where we
consider 2 ⊕ 2 as a trivial D8-module. Along the way we show commands for comput-
ing 2-cocycles, extensions corresponding to given 2-cocycles, and split extensions. The

way we build the action is as follows. To each element of Pcgs(G) we assign 2×2 identity
matrix over GF(2). Then we build the module using the command GModuleByMats. The

other commands we use are self-evident:

gap> G := DihedralGroup(8);;
gap> mats := List( Pcgs( G ), x -> IdentityMat( 2, GF(2) ) );;
gap> A := GModuleByMats( mats, GF(2) );;
gap> co := TwoCocycles( G, A );;
gap> Extension( G, A, co[2] );;
gap> StructureDescription(last);
"C2 x (C4 : C4)"
   106   107   108   109   110   111   112   113   114   115   116