0

I've been looking for an explicit isomorphism between the following two groups (h and g):

gap> q := FreeGroup( "x", "y","z");; 
gap> g := q / [ q.1^25, q.2^5,q.3^5*q.1^-10,q.1^-1*q.2^-1*q.1*q.2*q.1^-5,q.1^-1*q.3^-1*q.1*q.3*q.2^-1,q.2^-1*q.3^-1*q.2*q.3 ]; 
gap> f := FreeGroup( "a", "b","c");; 
gap> h := f / [ f.1^25, f.2^5,f.3^5*f.1^-10,f.1^-1*f.2^-1*f.1*f.2,f.1^-1*f.3^-1*f.1*f.3*f.2^-1,f.2^-1*f.3^-1*f.2*f.3*f.1^-10 ];

I applied the GAP's Code at the link: Explicit Isomorphism Between Two $p$-Groups in GAP

However, it did not work for me. FYI, I loaded the "anupq" and "sonata" pakages, and used IsomorphismGroups and IsISomorphicPGroup. They are, however, extremely slow at computing the isomorphism between P-groups of a high order.

I'm not sure if MAGMA has a code that does the same thing for me. If so, could you please share it?

Any assistance with this situation would be greatly appreciated.

Thank you.

Mr. J
  • 49
  • 2
    Could you elaborate on "it did not work for me"? Do you get an error, or does the code run forever, or something else? On my GAP installation, IsomorphismGroups( g, h ) produces an isomorphism in ~400ms. – sTertooy Aug 10 '22 at 11:28
  • 2
    Convert to PcGroups, usig IsomorphismPGroup, then the calculation (use IsomorphismGroups) is instantaneous on my laptop. – ahulpke Aug 10 '22 at 12:18
  • G1:=IsomorphismPcGroup(g);;

    gap> H1:=IsomorphismPcGroup(h);; gap> IsomorphismGroups(G1,H1); #I Forcing finiteness test Error, no method found! F
    or debugging hints
    type ?Recovery fr
    om NoMethodFound Error, no 1st choi
    ce method found fo
    r `IsFinite' on 1
    arguments at /Applications/
    Gap.app/Contents/g
    ap/lib/methsel2.g: 249 called from IsFinite( G ); at /Applicatio
    ns/Gap.app/Content
    s/gap/lib/morpheus
    .gi:2233 called from <function "Isomorp
    hismGroups">( <arg
    uments> ) called from read-
    eval loop at stdin:27 type 'quit;' to qu
    it to outer loop

    – Mr. J Aug 10 '22 at 13:40
  • Above is my attempt. GAP returns an error. It would be great to share your attempts because I feel something went wrong with mine but am unsure. – Mr. J Aug 10 '22 at 13:46
  • 1
    Which version of GAP are you running? (and first thing, call Size on the finitely presented groups) – ahulpke Aug 10 '22 at 13:47
  • GAP 4.11.0 of 29-Feb-2020 – Mr. J Aug 10 '22 at 13:49
  • @sTertooy It will be better if there is another code as IsomorphismGroups( g, h ) does not work when we go to some groups of order 5^5=3125. – Mr. J Aug 10 '22 at 13:58
  • @MrJ Looking at your code, you are storing the isomorphisms in G1 and G2. You should be storing the images of these isomorphisms instead. – sTertooy Aug 10 '22 at 14:35
  • @sTertooy I need it in terms of x,y,z and a,b,c, GAP gave me the following gap> H:=Image(IsomorphismPcGroup(h)); Group( [ f1^4, f3, f2 ]) gap> G:=Image(IsomorphismPcGroup(g)); Group( [ f1^4, f3*f4^4, f2 ]) gap> IsomorphismGroups(H,G); [ f1^4, f3, f2 ] -> [ f2f3f4^4, f3^3f4, f1^3f2f3f4^3 ] gap> IsomorphismGroups(G,H); [ f1^4, f3*f4^4, f2 ] -> [ f2^3f3f4, f3^4f4^3, f1^3f3^2*f4 ] – Mr. J Aug 10 '22 at 14:41
  • 1
    @MrJ In that case, save the isomorphisms from FpGroups to PcGroups in separate variables and compose them with the isomorphism between the two PcGroups: isog := IsomorphismPcGroup( g );;isoh := IsomorphismPcGroup( h );; G1 := Image( isog );;G2 := Image( isoh );; isoG1G2 := IsomorphismGroups( G1, G2 );; iso := isog * isoG1G2 * InverseGeneralMapping( isoh ) – sTertooy Aug 10 '22 at 14:56
  • @sTertooy that works. Thank you very much. – Mr. J Aug 10 '22 at 15:08

0 Answers0