Cohomology

In the following description, G is a group in the category GrpPerm, p is a prime number, and K is the finite field of order p. Further, F is a finitely presented group having the same number of generators as G, and is such that its relations are satisfied by the corresponding generators of G. In other words, the mapping taking the i-th generator of F to the i-th generator of G must be an epimorphism. Usually this mapping will be an isomorphism, although this is not mandatory.

pMultiplicator(G, p) : GrpFin, RngIntElt -> [ RngIntElt ]
Given the group G and a prime p, return the invariant factors of the p-part of the Schur multiplicator of G.
pCover(G, F, p) : GrpPerm, GrpFP, RngIntElt -> GrpFinFP
Given the group G and the finitely presented group F such that G is an epimorphic image of G in the sense described above, return a presentation for the p-cover of G, constructed as an extension of the p-multiplier by F.
CohomologicalDimension(G, M, i) : GrpFin, ModRng, RngIntElt -> RngIntElt
Given the group G, the K[G]-module M and an integer i (equal to 1 or 2), return the dimension of the i-th cohomology group of G acting on M.
ExtensionProcess(G, M, F) : GrpPerm, ModRng, GrpFP -> GrpFPExtProc
Create an extension process for the group G by the module M.
Extension(P, Q) : Process -> GrpFinFP
[Future release] NextExtension(P) : Process -> GrpFinFP
Return the next extension of G as defined by the process P.

Assume that F is isomorphic to the permutation group G, and that we wish to determine presentations for one or more extensions of the K-module M by F, where K is the field of p elements. We first create an extension process using ExtensionProcess(G, M, F). The possible extensions of M by G are in one-one correspondence with the elements of the second cohomology group H2(G, M) of G acting on M. Let b1, ..., bl be a basis of H2(G, M). A general element of H2(G, M) therefore has the form a1b1 + ... + albl and so can be defined by a sequence Q of l integers [a1, ..., al]. Now, to construct the corresponding extension of M by G we call the function Extension(P, Q). The required extension is returned as a finitely presented group. If all the extensions are required then they may be obtained successively by making pl calls to the function NextExtension.

SplitExtension(G, M, F) : GrpPerm, ModRng, GrpFP -> GrpFP
The split extension of the module M by the group G.
V2.28, 13 July 2023