> < ^ Date: Wed, 13 Apr 1994 13:05:00 +0000 (GMT)
> ^ From: Chris Wensley <c.d.wensley@bangor.ac.uk >
> ^ Subject: GpHomByImages

I have a query about how GroupHomomorphismByImages works.
In the listing below Q,P are copies of D4 with Q an fp-group
and P a permutation group. When mapping Q to P there is only
one way to express the images of the generators. In the reverse
direction the image of generator (1,2,3,4) is listed
(surprisingly to me) as f.2^-1*f.1^-2*f.2^-1 rather than f.1
(although, of course, these are equal).

(Sorry if this is a trivial query, but I am a new user.)

Chris Wensley

```----------------------------- GAP listing ----------------------------------
LogTo("invmap.log");
Print("Isomorphisms between copies of dihedral D4\n\n");
f := FreeGroup(2, "f");
relQ := [ f.1^4, f.2^2, (f.1*f.2)^2 ];
Q := f/relQ;
genQ := Q.generators;
oQ := Size(Q);
elQ := Elements(Q);
Print("Q has generators:  ", genQ, "   and elements:\n", elQ, "\n\n");
P := Group( (1,2,3,4), (1,3) );
genP := P.generators;
P.name := "P";
oP := Size(P);
elP := Elements(P);
Print("P has generators:  ", genP, "   and elements:\n", elP, "\n\n");
isoQP := GroupHomomorphismByImages(Q,P,genQ,genP);
Print("   x             isoQP(x) \n");
Print("---------      ---------- \n");
for j in [1..oQ] do
x := elQ[j];
Print(x, "           ", Image(isoQP,x), "\n");
od;
invPQ := InverseMapping(isoQP);
Print("\n   x             invPQ(x) \n");
Print("--------      ---------- \n");
for j in [1..oP] do
x := elP[j];
Print(x, "           ", Image(invPQ,x), "\n");
od;

---------------------------- Output ------------------------------------
```

Isomorphisms between copies of dihedral D4

```Q has generators:  [ f.1, f.2 ]   and elements:
[ IdWord, f.1, f.2, f.1^2, f.1*f.2, f.2*f.1, f.1^3, f.1^2*f.2 ]

P has generators:  [ (1,2,3,4), (1,3) ]   and elements:
[ (), (2,4), (1,2)(3,4), (1,2,3,4), (1,3), (1,3)(2,4), (1,4,3,2), (1,4)(2,3) ]

x             isoQP(x)
---------      ----------
IdWord           ()
f.1           (1,2,3,4)
f.2           (1,3)
f.1^2           (1,3)(2,4)
f.1*f.2           (1,2)(3,4)
f.2*f.1           (1,4)(2,3)
f.1^3           (1,4,3,2)
f.1^2*f.2           (2,4)

x             invPQ(x)
--------      ----------
()           IdWord
(2,4)           f.2^-1*f.1^-2
(1,2)(3,4)           f.2^-1*f.1^-1
(1,2,3,4)           f.2^-1*f.1^-2*f.2^-1*f.1^-1
(1,3)           f.2^-1
(1,3)(2,4)           f.2^-1*f.1^-2*f.2^-1
(1,4,3,2)           f.1^-1
(1,4)(2,3)           f.2^-1*f.1^-3
```

> < [top]