# [GAP Forum] New features for the Polycyclic package ;

Bettina Eick beick at tu-bs.de
Thu Apr 15 13:59:52 BST 2004

```Dear Claude, dear Forum-members,

> 1) how are cocycle components ordered for Pcp groups ?

Let G be a pcp-group and let M = Z^d be a G-module. Suppose that G has l
relators in its polycyclic presentation. Then the cocycles are returned
as vectors of length l*d. Every vector is the concatenation of the l tails
to the polycyclic relations of G. The relators of G are sorted for this
purpose and the sorting is recorded in the cohomology record.

An example:
the infinite Dihedralgroup acting on Z as trivial module.

gap> G := DihedralPcpGroup(0);;
gap> mats := [IdentityMat(1), IdentityMat(1)];;

gap> CR := CRRecordByMats(G,mats);;
gap> CR.enumrels;
[ [ 1, 1 ], [ 2, 1 ], [ 2, 3 ] ]

gap> TwoCohomologyCR(CR).gcc;
[ [ 1, 0, 0 ], [ 0, 1, 1 ] ]

CR.enumrels tells you that there are three relations and they are sorted:
[1,1] corresponds to the power relation g1^2
[2,1] corresponds to the conjugate relation g2^g1
[2,3] corresponds to the conjugate relation with the inverse g2^(g1^-1)
Thus the cocycles are returned as vectors of length 3.

> 2)
> I would like to compute the second cohomology groups Z2(G,A) and B2(G,A)
> of an arbitrary finitely generated abelian group A. In the gap library,
> this is only possible if A is elementary abelian and G is polycyclic.

There is also Derek's Cohomolo Package for arbitrary finite groups G. If
you want to do a similar computation for finite abelian groups A which are
not elementary abelian, then you can use a G-invariant series through A
with elementary abelian factors and do induction along such a series.

The case of an elementary or free abelian module A and a polycyclic factor
G is covered in the Polycyclic package. Again, using induction along a series
you could use this to deal with finitely generated abelian groups A.

>  3) Is there some plan to provide automorphisms group of Pcp group ?

For a finite pcp-group you can translate the automorphism group from the
automorphism group of its corresponding pc-group.

>  4) Another nice posibility of the polycyclic package is to use non prime
> pcgs. But, if for a given pcp group G one wants to construct G one a non
> prime pcgs there is no function to do so without refining it into a prime
> pcgs.

I do not understand this comment. Surely, you can define a pcp-group in
GAP on a non-prime pcgs:

gap> G := DihedralPcpGroup(20);
Pcp-group with orders [ 2, 10 ]

Hope this helps,
Bettina

```