Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 521636#(C) Graham Ellis 2005-2006 ##################################################################### InstallGlobalFunction(ResolutionAlmostCrystalQuotient, function(arg) local G,K,KK,bool, GhomP,P,T,Derived,i, RGD, pcpGD, GD, GDhomPCGD,PCGD,GhomGD, GDhomG, GDhomP, TD, gensP, RP,RTD, iso, isoTD; G:=arg[1]; K:=arg[2]; KK:=arg[3]; if Length(arg)>3 then bool:=false; else bool:=true; fi; if not (IsAlmostCrystallographic(G) and IsPcpGroup(G)) then Print("This function can only be applied to Almost Crystallographic pcp groups. \n"); return fail; fi; GhomP:=NaturalHomomorphismOnHolonomyGroup(G); P:=Image(GhomP); T:=Kernel(GhomP); Derived:=T; for i in [2..KK] do Derived:=CommutatorSubgroup(G,Derived); od; pcpGD:=Pcp(G,Derived); GhomGD:=NaturalHomomorphism(G,Derived); GD:=Image(GhomGD); if IsNilpotent(GD) and bool then if IsFinite(GD) then GDhomPCGD:=IsomorphismPermGroup(GD); PCGD:=Image(GDhomPCGD); RGD:=ResolutionNormalSeries(BigStepLCS(PCGD,4),K); ###MIGHT WANT TO VARY THIS 4 RGD!.quotientHomomorphism:= GroupHomomorphismByFunction(G,PCGD, x->Image(GDhomPCGD,Image(GhomGD,x))); return RGD; else RGD:=ResolutionNilpotentGroup(GD,K); fi; else #GDhomG:=GroupHomomorphismByImagesNC(GD,G,GeneratorsOfGroup(GD),GeneratorsOfPcp(pcpGD)); gensP:=List(GeneratorsOfPcp(pcpGD),x->Image(GhomP,x)); GDhomP:=GroupHomomorphismByImagesNC(GD,P, GeneratorsOfGroup(GD),gensP); TD:=Kernel(GDhomP); RP:=ResolutionFiniteGroup(P,K); if 0 in AbelianInvariants(TD) then RTD:=ResolutionNilpotentGroup(TD,K); else RTD:=ResolutionFiniteGroup(TD,K); #TD:=Group(TorsionGeneratorsAbelianGroup(TD)); #iso:=IsomorphismPcGroup(TD); #isoTD:=Image(iso); #RTD:=ResolutionFiniteGroup(isoTD,K); #RTD!.elts:=List(RTD!.elts,x->PreImagesRepresentative(iso,x)); fi; RGD:=ResolutionExtension(GDhomP,RTD,RP,"Don't Test Finiteness"); fi; RGD!.quotientHomomorphism:=GhomGD; return RGD; end); ##################################################################### ##################################################################### InstallGlobalFunction(RelativeCentralQuotientSpaceGroup, function(G,c) local Q; if not IsSpaceGroup(G) then Print("This function must be applied to a space group.\n"); return fail; fi; Q:=Image(IsomorphismPcpGroup(G));; Q:=ResolutionAlmostCrystalQuotient(Q,0,c)!.group;; return Q; end); #####################################################################