[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Cohomology

Cohomology

In the following description, G is a finite permutation group, 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) : GrpPerm, 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 -> GrpFP
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) : GrpPerm, ModRng, RngIntElt -> RngIntElt
Given the group G, the KG-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 -> Process
Create an extension process for the group G by the module M.
Extension(P, Q) : Process -> GrpFP
[Future release] NextExtension(P) : Process -> GrpFP
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 H^2(G, M) of G acting on M. Let b_1, ..., b_l be a basis of H^2(G, M). A general element of H^2(G, M) therefore has the form a_1b_1 + ... + a_lb_l and so can be defined by a sequence Q of l integers [a_1, ..., a_l]. 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 p^l calls to the function NextExtension.

SplitExtension(G, M, F) : GrpPerm, ModRng, GrpFP -> GrpFP
The split extension of the module M by the group G.
[Next] [Prev] [Right] [Left] [Up] [Index] [Root]