> < ^ Date: Thu, 19 Oct 2000 21:54:38 -0400 (EDT)
> < ^ From: Alexander Hulpke <hulpke@math.colostate.edu >
< ^ Subject: Re: Subgroup Presentations

Dear GAP-Forum,

I have a question about Presentation of subgroups
of finitely presented subgroups. It is maybe trivial
but I do not find an answer in the manuals.
If we give a subgroup by a list of generators,
is it possible to describe these generators
in term of the new generators obtained by
either PresentationSubgroup or PresentationNormalClosure?

The `PresentationSubgroup' functions are a bit technical and make it
slightly complicated to get the necessary information to connect the
presentation to the subgroup. (The generators of the subgroup are held in
the attribute `PrimaryGeneratorWords' of the presentation, but that might
not be the only information you want.)

It is therefore usually much more convenient to use `IsomorphismFpGroup(u)'
or `IsomorphismFpGroupByGenerators(u,gens)' (in case a presentation in a
given generating system is desired) to obtain a finitely presented group
isomorphic to the subgroup u. You can take preimages of the generators
of the range to get the corresponding group elements.

For example:

```gap> f:=FreeGroup(2);;
gap> g:=f/[f.1^2,f.2^3,(f.1*f.2)^5];
<fp group on the generators [ f1, f2 ]>
gap> u:=Subgroup(g,[g.1*g.2]);
Group([ f1*f2 ])
gap> hom:=IsomorphismFpGroup(u);
[ f2^-1*f1^-1 ] -> [ _x1 ]
gap> new:=Range(hom);
<fp group on the generators [ _x1 ]>
gap> List(GeneratorsOfGroup(new),i->PreImagesRepresentative(hom,i));
[ f2^-1*f1^-1 ]
```

or

gap> hom:=IsomorphismFpGroupByGenerators(u,[u.1]);
[ f1*f2 ] -> [ _x1 ]
gap> new:=Range(hom);
<fp group on the generators [ _x1 ]>
gap> List(GeneratorsOfGroup(new),i->PreImagesRepresentative(hom,i));
[ f1*f2 ]

(Note that at the moment it is not yet possible to compute arbitrary *images*
under such a homomorphism in general. This feature exists already in our
development version and will be added in the next release.)

I hope this is of help,

Alexander Hulpke

PS: I also just amended the manual for the next version so that it will
point to `IsomorphismFpGroup' more prominently as a solution for this type
of problem. AH

> < [top]