You can actually use anupq to compute an explicit isomorphism; To do this, use EpimorphismStandardPresentation on the two input groups; this actually gives an isomorphism here. However, the image is an fp group, where we cannot effectively do all computations we need. So we first convert the images to pc groups q1 and a2, and construct new epis on these. Since the groups G1 and G2 are isomorphic, their standard presesentations are equal, which allows use to trivially write down an iso between q1 and q2. Combining everything, we get the desired isomorphism. The following shows how to actually do this here.
In addition, I logged an issue on the anupq issue tracker to remind me to implement that for the next anupq releases.
gap> LoadPackage("anupq", false);
true
gap>
gap> G1:=PcGroupCode(9556403270508841599070863433260379032496081212546573442518132526048398410492059282538199366514130891376584516018838185862263175961514556949107265352140179485923647166013334249976215990404614361585180498785500058844337971521291157218783355,1594323);
<pc group of size 1594323 with 13 generators>
gap>
gap> G2:=PcGroupCode(11988039149529377423309378696754293956288394781031666364622519619922950560121964737252998014372044125976295478459521707953799595514029043754425147805769728121121849582846112554279125935293754034335404366719215627371184752858002092155,1594323);
<pc group of size 1594323 with 13 generators>
gap>
gap> epi1:=EpimorphismStandardPresentation(G1);;
gap> epi2:=EpimorphismStandardPresentation(G2);;
gap> q1:=PcGroupFpGroup(Range(epi1));;
gap> q2:=PcGroupFpGroup(Range(epi2));;
gap>
gap> iso_pc := GroupHomomorphismByImages(q1, q2);
[ f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13 ] -> [ f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13 ]
gap> Assert(0, iso_pc <> fail); # verify the two groups are really isomorphic
gap>
gap> epi1_pc := epi1 * GroupHomomorphismByImages(Range(epi1), q1);;
gap> IsBijective(epi1_pc); # force GAP to verify that the map is bijective
true
gap> epi2_pc := epi2 * GroupHomomorphismByImages(Range(epi2), q2);;
gap> IsBijective(epi2_pc); # force GAP to verify that the map is bijective
true
gap>
gap> iso := epi1_pc * iso_pc * InverseGeneralMapping(epi2_pc);
[ f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13 ] -> [ f1^2*f2^2*f4^2*f5*f6^2*f7^2*f8^2*f9*f10*f11^2*f12, f2*f4^2*f6^2*f7*f9*f10*f12^2*f13^2, f3^2*f5*f6^2*f7*f9^2,
f4*f7*f8*f9^2*f10*f11^2*f13, f5^2*f7*f8*f9^2*f10^2*f11, f6*f7*f12^2*f13, f7^2*f8^2, f8*f10^2*f11*f12*f13, f9^2*f10^2*f12*f13, f10*f11*f13^2, f11^2*f13, f12*f13, f13^2 ]
gap>
PcGroup(library). Are you loading theautpgrp' package? Can you somehow post (e.g. useGapInputPcGroup`) what the groups are? – ahulpke Apr 24 '17 at 14:24GapInputPcGroup. I will try to find a better way to post the groups. However, any general suggestion for determining an explicit isomorphism between large $p$-groups in GAP will also be really helpful for me. Thanks. – usermath Apr 25 '17 at 14:01IsISomorphicPGroupbut it possibly comparesStdPresentationof the $p$-groups. I am not sure how to recover an isomorphism from there. Any suggestion will be greatly helpful. Thanks again. – usermath Apr 26 '17 at 00:32IsomorphismGroupsis not helping since it is taking too much time. – usermath Apr 27 '17 at 12:59