[GAP Forum] presentations from GrpConst Program
Alexander Hulpke
hulpke at math.colostate.edu
Wed Nov 30 18:51:31 GMT 2011
Dear GAP-Forum,
Walter Becker wrote:
> distinguish them. The way I would like to do this is to
> construct presentations for these groups in the form
> (11 group) semi direct product with the (5-group)
Since the question of combining presentations (to build extensions) and of decomposing semidirect products seem to have more general interest, I have appended a procedure `SemidirectPresentation' that takes a group and a normal subgroup, and builds a presentation for it reflecting the semidirect product decomposition.
For example (generators n are the normal subgroup, s the complement). The presentations for N and S were determined automatically and are probably not as nice as can be.
gap> SemidirectPresentation(g,SylowSubgroup(g,11));
[ f3, f4, f1, f2 ] -> [ n1, n2, s1, s2 ]
gap> RelatorsOfFpGroup(Image(last));
[ n1^11*n2^-8, n2^-1*n1^-1*n2*n1, n2^11, s1^5, s2^-1*s1^-1*s2*s1, s2^5,
s1^-1*n1*s1*n2^-1*n1^-4, s2^-1*n1*s2*n1^-1, s1^-1*n2*s1*n2^-4,
s2^-1*n2*s2*n2^-1 ]
I hope this is of help,
Alexander Hulpke
-- Colorado State University, Department of Mathematics,
Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA
email: hulpke at math.colostate.edu, Phone: ++1-970-4914288
http://www.math.colostate.edu/~hulpke
SemidirectPresentation:=function(G,N)
local c,fpc,fc,fpn,fn,str,f,gens,r,i,j,a,rels,H,hom;
c:=Complementclasses(G,N);
if Length(c)=0 then Error("not split extension");fi;
c:=c[1];
fpc:=IsomorphismFpGroup(c);
fc:=Range(fpc);
fpn:=IsomorphismFpGroup(N);
fn:=Range(fpn);
r:=Length(GeneratorsOfGroup(fn));
str:=List([1..r],x->Concatenation("n",String(x)));
Append(str,List([1..Length(GeneratorsOfGroup(fc))],
x->Concatenation("s",String(x))));
f:=FreeGroup(str);
gens:=GeneratorsOfGroup(f);
rels:=[];
# n-rels
Append(rels,List(RelatorsOfFpGroup(fn),
x->MappedWord(x,FreeGeneratorsOfFpGroup(fn),gens{[1..r]})));
# s-rels
Append(rels,List(RelatorsOfFpGroup(fc),
x->MappedWord(x,FreeGeneratorsOfFpGroup(fc),
gens{[r+1..Length(gens)]})));
# action
for i in [1..r] do
for j in [1..Length(GeneratorsOfGroup(fc))] do
# conjugate
a:=PreImagesRepresentative(fpn,GeneratorsOfGroup(fn)[i])^
PreImagesRepresentative(fpc,GeneratorsOfGroup(fc)[j]);
# as word
a:=Image(fpn,a);
# rewrite in generators of new free group
a:=MappedWord(UnderlyingElement(a),FreeGeneratorsOfFpGroup(fn),
gens{[1..r]});
# relator
Add(rels,gens[i]^gens[r+j]/a);
od;
od;
H:=f/rels;
hom:=GroupHomomorphismByImages(G,H,
Concatenation(List(GeneratorsOfGroup(fn),
x->PreImagesRepresentative(fpn,x)),
List(GeneratorsOfGroup(fc),
x->PreImagesRepresentative(fpc,x))
),
GeneratorsOfGroup(H));
return hom;
end;
More information about the Forum
mailing list