> < ^ Date: Wed, 06 Nov 2002 16:40:01 +0100
> < ^ From: Stefan Kohl <kohl@mathematik.uni-stuttgart.de >
< ^ Subject: Re: order in factor group

Dear Forum,

Phil Meier wrote:

I have a finitely presented group G, generated by x_1, ..., x_n,
and would like to know the order of x_i (i = 1,...,n) in the abelianization
of G,
i.e. the order of phi(x_i), where phi: G ->
FactorGroup(G,DerivedSubgroup(G)).
What is the best way to this in GAP?

I think the easiest and most efficient way is just to add the commutator relations to the relations
defining your group and then to compute the orders of the generators of the resulting group, e.g.

```gap> F := FreeGroup( "a","b","c" );  # A free group of some rank.
<free group on the generators [ a, b, c ]>
gap> a := F.1;; b := F.2;; c := F.3;;
gap> relsG := [a^2,b^4,c^8,(a*b)^4,(b*c)^16,(a*c)^8];; # Relators defining your
gap> G := F/relsG;                 # finitely presented group -- insert what you want.
<fp group on the generators [ a, b, c ]>
gap> relscomm := [Comm(a,b),Comm(a,c),Comm(b,c)]; # The commutator relations.
[ a^-1*b^-1*a*b, a^-1*c^-1*a*c, b^-1*c^-1*b*c ]
gap> H := F/Union(relsG,relscomm); # The abelianization (commutator factor group) of G.
<fp group on the generators [ a, b, c ]>
gap> List(GeneratorsOfGroup(H),Order); # Get the desired orders.
[ 2, 4, 8 ]
```

There is also a suitable method for `CommutatorFactorGroup',
thus you can get H immediately by

```gap> H := CommutatorFactorGroup(G);
Group([ f1, f2, f4 ])
```

but the manual apparently does not guarantee specific generators in this case.

Hope this helps,

Stefan Kohl

> < [top]