Dear GAP-Forum,
Enrique Artal asked:
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