I tested the following code snippet in GAP:
gap> f:=FreeGroup("P" ,"Q");;
gap> G8_5:=f/ParseRelators(f, "P^4 = Q^4 = 1, Q*P = P^3*Q, Q^2 = P^2");;
gap> AssignGeneratorVariables(G8_5);
#I Global variable `P' is already defined and will be overwritten
#I Global variable `Q' is already defined and will be overwritten
#I Assigned the global variables [ P, Q ]
gap> g1:=Group( Elements(G8_5) );
Group([ P, P^3, Q, P^2*Q, P^2, P*Q, P^3*Q ])
gap> IsomorphismGroups(G8_5,g1);
#I Forcing finiteness test
[ P, Q ] -> [ <[ [ 1, 1 ] ]|P>, <[ [ 2, 1 ] ]|Q> ]
As you can see, it gives the description of the isomorphic mapping represented by the following relationship:
[ P, Q ] -> [ <[ [ 1, 1 ] ]|P>, <[ [ 2, 1 ] ]|Q> ]
But the form of image elements looks strange, and I failed to figure out the meaning of them. Any hints will be highly appreciated.
Regards, HZ
The notation
< [[a,b],[...]]| elm >describes elements that are (potentially) stored as a product in generators (to save on memory). The actual element is what is given between|and>, i.e. $P$ and $Q$ in your case, and these elements will compare as being equal to $P$ and $Q$.