[GAP Forum] Needed: Isomorphism onto SmallGroup

Robert F. Morse rm43 at evansville.edu
Mon Jul 25 22:21:53 BST 2005


Ken W Smith wrote:
> Hi,
>     I am constructing a database of certain combinatorial subsets of 
> finite groups and I  would like to use GAP's Small Group library to 
> provide a standard way of referencing the groups in my list and certain 
> subsets of these groups.   But in order to do this, I need code that 
> constructs an explicit isomorphism between a finite group (with a given 
> presentation) and an isomorphic group in the Small Groups library.
> 
>     I have hundreds of examples like the following.  Suppose we have a 
> group, say,
>     G := < x, y, z : x^5 = y^5 = z^4 = [x,y] = z*x*z^-1*x^3  = 
> z*y*z^-1*y^3 >
> and a special subset of G, say,
>     D = {1, x, x^2, x*y, x*y*z^2, x^-1*y^2*z^3}.
>     GAP tells me that G is isomorphic to the group [100,11] in the Small 
> Group Library.  But now I need an explicit isomorphism from G onto 
> SmallGroup( 100, 11 ) so that I can identify the set D with some subset 
> of   Elements( SmallGroup( 100, 11 ) ).    Is there a convenient way to 
> do this?  (Note that the SmallGroup library views groups of order 100 as 
> having 4 generators ... and I've given a different presentation, using 3 
> generators.)
> 
>     Any help here will be greatly appreciated!
> 
> thanks,
> Ken
> 
Dear Ken,
You can use the IsomorphismGroups command in GAP to find one isomorphism 
from G to SmallGroup([100,11]).

gap> F := FreeGroup("x","y","z");
<free group on the generators [ x, y, z ]>

gap> AssignGeneratorVariables(F);
#I  Assigned the global variables [ x, y, z ]

gap> R := [x^5, y^5, y^5, z^4, Comm(x,y), z*x*z^-1*x^3, z*y*z^-1*y^3];
[ x^5, y^5, y^5, z^4, x^-1*y^-1*x*y, z*x*z^-1*x^3, z*y*z^-1*y^3 ]

gap> G := F/R;
<fp group on the generators [ x, y, z ]>

gap> IdGroup(G);
[ 100, 11 ]

gap> H := SmallGroup([100,11]);
<pc group of size 100 with 4 generators>

gap> iso := IsomorphismGroups(G,H);
[ x, y, z ] -> [ f3^2*f4, f4^3, f1*f2*f3^2*f4^2 ]

gap> IsBijective(iso);
true

Regards, Robert F. Morse











More information about the Forum mailing list