OneCocycles( G, M )
Let M be a normal p-elementary abelian subgroup of G. Then
OneCocycles
computes the vector space {cal V} = beta( Z^1( <G>/<M>,
<M> ) ), which is isomorphic to the group of one cocyles Z^1( G, M )
as described in One Cohomology Group. The function returns a record
C with the following components.
oneCoboundaries
:
oneCocycles
:
generators
:
isSplitExtension
:C.isSplitExtension
is true
,
otherwise it is false
. In case of a split extension
three more components C.complement
,
C.cocycleToComplement
and C.complementToCycles
are returned.
complement
:
cocycleToList
:
listToCocycles
:cocycleToList
.
cocycleToComplement
:
complementToCocycle
:
OneCocycles( G, alpha, M )
In that form OneCocycles
computes the one cocycles in the semidirect
product of G and M where G acts on M using alpha (see
SemidirectProduct). In that case C only contains
C.oneCoboundaries
, C.oneCocycles
, C.generators
,
C.cocycleToList
and C.listToCocycle
.
gap> s4xc2 := DirectProduct( s4, CyclicGroup( AgWords, 2 ) );; gap> s4xc2.name := "s4xc2";; gap> m := CompositionSubgroup( s4xc2, 3 ); Subgroup( s4xc2, [ a3, a4, b ] ) gap> oc := OneCocycles( s4xc2, m );; gap> oc.oneCocycles; RowSpace( GF(2), [ [ 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2) ], [ 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ] ] ) gap> v := Base( oc.oneCocycles ); [ [ 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2) ], [ 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ] ] gap> oc.cocycleToList( v[1] ); [ a4, a4 ] gap> oc.cocycleToList( v[2] ); [ b, IdAgWord ] gap> oc.cocycleToList( v[2] ); [ b, IdAgWord ] gap> oc.cocycleToList( v[3] ); [ IdAgWord, a3 ] gap> Igs( oc.complement ); [ a1, a2 ] gap> Igs( oc.cocycleToComplement( v[1]+v[2]+v[3] ) ); [ a1*a4*b, a2*a3*a4 ] gap> z4 := CyclicGroup( AgWords, 4 ); Group( c4_1, c4_2 ) gap> m := CompositionSubgroup( z4, 2 ); Subgroup( Group( c4_1, c4_2 ), [ c4_2 ] ) gap> OneCocycles( z4, m ); rec( oneCoboundaries := RowSpace( GF(2), [ [ 0*Z(2) ] ] ), oneCocycles := RowSpace( GF(2), [ [ Z(2)^0 ] ] ), generators := [ c4_1 ], isSplitExtension := false )
GAP 3.4.4