Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418386################################################################## ################################################################## InstallGlobalFunction(AutomorphismGroupAsCatOneGroup, function(G) local A,C, Smap,Tmap, CmapG; A:=AutomorphismGroup(G); C:=SemidirectProduct(A,G); Smap:=GroupHomomorphismByImagesNC(C,C,GeneratorsOfGroup(C), List(GeneratorsOfGroup(C),x-> ImageElm( Embedding(C,1), ImageElm( Projection(C),x) ))); ############################ CmapG:=function(x); return PreImagesRepresentative(Embedding(C,2), Image(Embedding(C,1), Image(Projection(C),x)^-1) *x); end; ############################ Tmap:=GroupHomomorphismByImagesNC(C,C,GeneratorsOfGroup(C), List(GeneratorsOfGroup(C),x-> Image(Embedding(C,1),InnerAutomorphism(G,CmapG(x)))* Image( Embedding(C,1), Image( Projection(C),x) ))); return Objectify(HapCatOneGroup, rec(sourceMap:=Smap, targetMap:=Tmap)); end); ################################################################## ################################################################## ################################################################## ################################################################## InstallGlobalFunction(GModuleAsCatOneGroup, function(G,alpha,M) local C,Smap; C:=SemidirectProduct(G,alpha,M); Smap:=GroupHomomorphismByImagesNC(C,C,GeneratorsOfGroup(C), List(GeneratorsOfGroup(C),x-> Image( Embedding(C,1), Image( Projection(C),x) ))); return Objectify(HapCatOneGroup, rec(sourceMap:=Smap, targetMap:=Smap)); end); ################################################################## ################################################################## ################################################################## ################################################################## InstallGlobalFunction(NormalSubgroupAsCatOneGroup, function(G,N) local C,hom,Im,ImGrp, Smap,Tmap, CmapG; Im:=List(GeneratorsOfGroup(G),x->ConjugatorAutomorphism(N,x)); ImGrp:=Group(Im); hom:=GroupHomomorphismByImages(G,ImGrp,GeneratorsOfGroup(G),Im); C:=SemidirectProduct(G,hom,N); Smap:=GroupHomomorphismByImagesNC(C,C,GeneratorsOfGroup(C), List(GeneratorsOfGroup(C),x-> Image( Embedding(C,1), Image( Projection(C),x) ))); ############################ CmapG:=function(x); return PreImagesRepresentative(Embedding(C,2), Image(Embedding(C,1), Image(Projection(C),x)^-1) *x); end; ############################ Tmap:=GroupHomomorphismByImagesNC(C,C,GeneratorsOfGroup(C), List(GeneratorsOfGroup(C),x-> Image(Embedding(C,1),CmapG(x))* Image( Embedding(C,1), Image( Projection(C),x) ))); return Objectify(HapCatOneGroup, rec(sourceMap:=Smap, targetMap:=Tmap)); end); ################################################################## ################################################################## ################################################################## ################################################################## InstallOtherMethod(Size, "Order of the underlying group of a cat-1-group", [IsHapCatOneGroup], function(C) return Order(Source(C!.sourceMap)); end); ################################################################## ################################################################## ################################################################## ################################################################## InstallOtherMethod(Order, "Order of the underlying group of a cat-1-group", [IsHapCatOneGroup], function(C) return Order(Source(C!.sourceMap)); end); ################################################################## ################################################################## ############################################# ############################################# InstallGlobalFunction(SylowSubgroupOfCatOneGroup, function(CC,p) local C,G,P,gens,s,t,sp,tp, Num,i,k; C:=XmodToHAP(CC); s:=C!.sourceMap; t:=C!.targetMap; G:=Source(s); P:=SylowSubgroup(Image(s,G),p); k:=1; Num:=Factors(Order(G)); for i in Num do if i=p then k:=k*p; fi; od; while Order(P)<k do P:=SylowSubgroup(Normalizer(G,P),p); od; gens:=GeneratorsOfGroup(P); sp:=GroupHomomorphismByImages(P,P,gens,List(gens,x->Image(s,x))); tp:=GroupHomomorphismByImages(P,P, gens,List(gens,x->Image(t,x))); return Objectify(HapCatOneGroup, rec( sourceMap:=sp, targetMap:=tp, )); end); ############################################ ############################################