Dear GAP-Forum, Dear Will, On Jan 30, 2017, at 5:30 PM, Will Chen <oxei...@gmail.com<mailto:oxei...@gmail.com>> wrote:
Let [image: F] be the free group in two generators [image: x,y], and [image: n] an integer. I would like to create the group [image: F/F''F^n]. This is a finitely generated solvable group of exponent [image: n], and hence is finite. Unfortunately, the subgroups [image: F'',F^n] are infinitely generated. Creating [image: F'] via "DerivedSubgroup(F)" seems to work, since [image: F] is finitely generated, but creating [image: F''] by calling "DerivedSubgroup" doesn't seem to halt. Also, I don't know of a command that can create [image: F^n]. Is it possible to construct the finite group [image: F/F''F^n] in GAP? I would go by suitable quotients. First look at the largest abelian, exponent n quotient of the group, that must be C_n^2. Then take the kernel, and take again the largest abelian exponent -n quotient. For example, for n=6: gap> F:=FreeGroup(2); <free group on the generators [ f1, f2 ]> gap> a1:=AbelianGroup(IsPermGroup,[6,6]); Group([ (1,2,3,4,5,6), (7,8,9,10,11,12) ]) gap> q1:=GroupHomomorphismByImages(F,a1,GeneratorsOfGroup(F), > GeneratorsOfGroup(a1)); [ f1, f2 ] -> [ (1,2,3,4,5,6), (7,8,9,10,11,12) ] gap> k:=Kernel(q1); Group(<free, no generators known>) gap> Length(GeneratorsOfGroup(k)); 37 To avoid constructing a regular representation of the factor of order 6^37 we take individual quotients of order 6, take their kernels and then intersect (Because of the iterated maps we use permutation representations — this is not implemented for other representations) gap> ims:=List([1..37],x->ListWithIdenticalEntries(37,One(cyc)));; gap> for i in [1..37] do ims[i][i]:=cyc.1;od; gap> qs:=List(ims,x->GroupHomomorphismByImages(k,cyc, > GeneratorsOfGroup(k),x));; gap> ks:=List(qs,Kernel);; gap> kk:=Intersection(ks); Group(<free, no generators known>) gap> Index(F,kk)/Index(F,k); 61886548790943213277031694336 gap> 6^37; 61886548790943213277031694336 So we have the correct kernel. Now take the quotient map that is used to store it and verify that it does not represent an even larger quotient: gap> q:=DefiningQuotientHomomorphism(kk); [ f1, f2 ] -> [ (1,2,4,8,14,22)(3,6,11,18,27,37,46,5,9,15,23,32)(7,10,16,24,33,42)(12,19, 28,38,47,55)(13,17,25,34,43,52)(20,29,39,48,56,62)(21,26,35,44,53,60)(30, […] gap> Size(Image(q)); 2227915756473955677973140996096 gap> Index(F,kk); 2227915756473955677973140996096 The Image, H is a finite group of which we want a quotient: gap> H:=Image(q); <permutation group of size 2227915756473955677973140996096 with 2 generators> But H has elements of higher order. Factor out 6-th powers (somewhat trial-and error, we verify below that the quotient has exponent 6): gap> s:=TrivialSubgroup(H); Group(()) gap> for i in [1..100] do s:=ClosureGroup(s,Random(H)^6);od; gap> s:=NormalClosure(H,s);; gap> Index(H,s); 544195584 gap> gq:=NaturalHomomorphismByNormalSubgroup(H,s); This is the quotient you want: gap> G:=Range(gq); <pc group of size 544195584 with 22 generators> gap> DerivedSeries(G); [ <pc group of size 544195584 with 22 generators>, <pc group of size 15116544 with 18 generators>, Group([ ]) ] gap> Exponent(G); 6 By tracing through the homomorphisms from F properly, you can remember how it is an image of F. All the best, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hul...@colostate.edu<mailto:hul...@colostate.edu>, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum