Let G be a finite group and M an elementary abelian normal p-subgroup of G. Then the group of 1-cocycles Z1( G/M, M ) is defined as
% Z^1(G/M,M)={ y: G/M -> M | For all g1,g2 in G holds:
% y(g1 M * g2 M)= y(g1 M)^g2 * y(g2 M)
and is a GF(p)-vector space.
The group of 1-coboundaries B1( G/M, M ) is defined as
% B^1(G/M,M)={ y: G/M -> M | There is a m in M such that for all g in G
% y(gM)=m^-1*g*m holds }
It also is a GF(p)-vector space.
Let a be the isomorphism of M into a row vector space W and (g1, ..., gl) representatives for a generating set of G/M. Then there exists a monomorphism b of Z1( G/M, M ) in the l-fold direct sum of W, such that b( g) = ( a( g( g1M ) ), ..., a( g( glM ) ) ) for every g Î Z1( G/M, M ).
OneCocycles( G, M ) O
OneCocycles( gens, M ) O
OneCocycles( G, mpcgs ) O
OneCocycles( gens, mpcgs ) O
Computes the group of 1-Cocycles Z1(G /M ,M ). The normal subgroup
M may be given by a (Modulo)Pcgs mpcgs. In this case the whole
calculation is performed modulo the normal subgroup defined by the
DenominatorOfModuloPcgs(mpcgs) (see Polycyclic Generating Systems). Similarly the group G may instead be specified by a set of
elements gens that are representatives for a generating system for
the factor group G/M. If this is done the 1-Cocycles are computed
with respect to these generators (otherwise the routines try to select
suitable generators themselves).
OneCoboundaries( G, M ) O
computes the group of 1-coboundaries. Syntax of input and output
otherwise is the same as with OneCocycles except that entries that
refer to cocycles are not computed.
The operations OneCocycles and OneCoboundaries return a record with
(at least) the components:
generators
oneCocyclesgenerators
and pb the size of M.
oneCoboundaries
cocycleToListoneCocycles) to
a corresponding list of elements of M.
listToCocycle
isSplitExtensiongenerators and thus may not contain the
denominator of the modulo pcgs. In this case taking the closure with this
denominator will give the full preimage of the complement in the factor
group.
complement
cocycleToComplement(cyc)oneCocycles and returns the
corresponding complement to M in G (with respect to the fixed complement
complement).
complementToCocycle(U)
If the factor G/M is given by a (modulo) pcgs gens then special methods are used that compute a presentation for the factor implicitly from the pcgs.
Note that the groups of 1-cocycles and 1-coboundaries are not Groups in
the sense of GAP but vector spaces.
gap> g:=Group((1,2,3,4),(1,2));; gap> n:=Group((1,2)(3,4),(1,3)(2,4));; gap> oc:=OneCocycles(g,n); rec( oneCoboundaries := <vector space over GF(2), with 2 generators>, oneCocycles := <vector space over GF(2), with 2 generators>, generators := [ (3,4), (2,4,3) ], isSplitExtension := true, complement := Group([ (3,4), (2,4,3) ]), cocycleToList := function( c ) ... end, listToCocycle := function( L ) ... end, cocycleToComplement := function( c ) ... end, factorGens := [ (3,4), (2,4,3) ], complementToCocycle := function( K ) ... end ) gap> oc.cocycleToList([ 0*Z(2), Z(2)^0, 0*Z(2), Z(2)^0 ]); [ (1,2)(3,4), (1,2)(3,4) ] gap> oc.listToCocycle([(),(1,3)(2,4)]); [ 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2) ] gap> oc.cocycleToComplement([ 0*Z(2), Z(2)^0, 0*Z(2), Z(2)^0 ]); Group( [ (1,2), (1,2,3) ] ) gap> oc.cocycleToComplement([ 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2) ]); Group( [ (3,4), (1,3,4) ] ) gap> oc.complementToCocycle(Group((1,2,4),(1,4))); [ 0*Z(2), Z(2)^0, Z(2)^0, Z(2)^0 ]
The factor group H1(G/M,M) = Z1(G/M,M)/B1(G/M,M) is called the first cohomology group. Currently there is no function which explicitly computes this group. The easiest way to represent it is as a vector space complement to B1 in Z1.
If the only purpose of the calculation of H1 is the determination of
complements it might be desirable to stop calculations once it is known that
the extension cannot split. This can be achieved via the more technical
function OCOneCocycles.
OCOneCocycles( ocr, onlySplit ) O
is the more technical function to compute 1-cocycles. It takes an record
ocr as first argument which must contain at least the components
group for G and modulePcgs for a (modulo) pcgs of M. This record
will also be returned with components as described under OneCocycles
(with the exception of isSplitExtension which is indicated by the
existence of a complement)
but components such as oneCoboundaries will only be
computed if not already present.
If onlySplit is true, OneCocyclesOC returns false as soon as
possible if the extension does not split.
ComplementclassesEA( G, N ) O
computes Complementclasses to an elementary abelian normal subgroup
N via 1-Cohomology. Normally, a user program should call
Complementclasses (see Complementclasses) instead, which also works
for a solvable (not necessarily elementary abelian) N.
InfoCoh V
The info class for the cohomology calculations is InfoCoh.
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual