> < ^ From:

< ^ Subject:

Dear GAP Forum,

Piotr Dowbor wrote:

I do not work with GAP at all, I am also not a specialist

in group theory but I would like to know whether one can

compute the second cohomology groups of finite groups with

coefficients in Z using some version of the GAP system.

The answer is yes, if the group is given by a finite

presentation and a matrix for the action of each generator

on a Z-lattice. The computation of the cohomology with

trivial coefficients is a special case with 1x1-matrices

whose only entry is 1 for each generator.

gap> RequirePackage( "cryst" ); gap> F := FreeGroup( 2 ); ## define the symmetric group on 3 letters. gap> G := F / [ F.1^2, F.2^3, (F.1*F.2)^2 ];; ## Matrices for the generators, permutation action. gap> mats := [ [[0,1,0],[0,0,1],[1,0,0]], [[0,1,0],[1,0,0],[0,0,1]] ];; gap> M := MatJacobianMatrix( G, mats );; gap> sol := SolveHomEquationsModZ( M );; gap> sol[1]; [ [ 0, 0, 0, 0, 0, 0 ], [ 1/2, 1/2, 1/2, 0, 0, 0 ] ] ## Matrices for the generators, trivial action. gap> mats := [ [[1]], [[1]] ];; gap> M := MatJacobianMatrix( G, mats );; gap> sol := SolveHomEquationsModZ( M );; gap> sol[1]; [ [ 0, 0 ], [ 1/2, 0 ] ]

The returned list contains the elements of the second

cohomology group with coefficients in Z. Addition has to be

performed modulo Z, that is [1/2,0]+[1/2,0] = [0,0]. So in

this case we obtain the cyclic group of order 2. The

elements are written as 6-tuples and pairs, respectively, of

rational numbers because this allows the explicit

construction the extensions of S_3.

The second cohomology with coefficients in Z or any

Z-lattice M with (possibly non-trivial) G-action is computed

as the first cohomology with coefficients in Q/Z via a

dimension shift that comes from the long exact sequence

obtained by applying the cohomology functor to

0 ---> M ---> Q^n ---> Q^n/M ---> 0.

This is why arithmetic in the examples above has to be done

modulo Z.

GAP has an extensive library of crystallographic groups and

finite integer matrix groups which are useful if one is

looking for examples.

A final remark: GAP has the capability of computing a

presentation for a given finite group. In the example above

a presentation for S_3 could have been obtained from the

permutation group by the command

gap> FpGroup( Group( (1,2,3),(1,2) ) );

I am happy to assist with any further question.

I hope this helps,

all the best, Werner Nickel.

> < [top]