The Construction of Finitely Presented Groups
Construction of a Free Group
FreeGroup(n) : RngIntElt -> GrpFP
Example GrpFP_1_Free (H30E1)
Construction of Words
G ! [ i_1, ..., i_s ] : GrpFP, [ RngIntElt ] -> GrpFPElt
Identity(G) : GrpFP -> GrpFPElt
Random(G, m, n) : GrpFP, RngIntElt, RngIntElt -> GrpFPElt
Access Functions for Words
# w : GrpFPElt -> RngIntElt
ElementToSequence(w) : GrpFPElt -> [ RngIntElt ]
ExponentSum(w, x) : GrpFPElt, GrpFPElt -> RngIntElt
GeneratorNumber(w) : GrpFPElt -> RngIntElt
LeadingGenerator(w) : GrpFPElt -> GrpFPElt
Parent(w) : GrpFPElt -> GrpFP
Example GrpFP_1_WordAccess (H30E2)
Arithmetic Operators for Words
u * v : GrpFPElt, GrpFPElt -> GrpFPElt
u ^ n : GrpFPElt, RngIntElt -> GrpFPElt
u ^ v : GrpFPElt, GrpFPElt -> GrpFPElt
(u, v) : GrpFPElt, GrpFPElt -> GrpFPElt
(u_1, ..., u_n) : List(GrpFPElt) -> GrpFPElt
Comparison of Words
u eq v : GrpFPElt, GrpFPElt -> BoolElt
u ne v : GrpFPElt, GrpFPElt -> BoolElt
u lt v : GrpFPElt, GrpFPElt -> BoolElt
u le v : GrpFPElt, GrpFPElt -> BoolElt
u ge v : GrpFPElt, GrpFPElt -> BoolElt
u gt v : GrpFPElt, GrpFPElt -> BoolElt
Example GrpFP_1_Words (H30E3)
Relations
w_1 = w_2 : GrpFPElt, GrpFPElt -> GrpFPRel
LHS(r) : GrpFPRel -> GrpFPElt
RHS(r) : GrpFPRel -> GrpFPElt
r[1] = w : GrpFPRel, RngIntElt, GrpFPElt -> GrpFPRel
r[2] = w : GrpFPRel, RngIntElt, GrpFPElt -> GrpFPRel
f(r) : Hom(GrpFP), GrpFPRel -> GrpFPRel
Parent(r) : GrpFPRel -> GrpFP
Example GrpFP_1_Relations (H30E4)
The Quotient Group Constructor
quo< F | R > : GrpFP, List -> GrpFP, Hom(Grp)
G / H : GrpFP, GrpFP -> GrpFP
Example GrpFP_1_Symmetric1 (H30E5)
Example GrpFP_1_Symmetric2 (H30E6)
Example GrpFP_1_Modular (H30E7)
The FP-Group Constructor
Group< X | R > : List(Var), List(GrpFPRel) -> GrpFP, Hom(Grp)
Example GrpFP_1_Tetrahedral (H30E8)
Example GrpFP_1_ThreeInvols (H30E9)
Example GrpFP_1_Coxeter (H30E10)
Construction from a Finite Permutation or Matrix Group
FPGroup(G) : GrpPerm -> GrpFP, Hom(Grp)
FPGroupStrong(G) : GrpPerm -> GrpFP, Hom(Grp)
FPGroupStrong(G, N) : GrpPerm, GrpPerm -> GrpFP, Hom(Grp)
Example GrpFP_1_FPGroup1 (H30E11)
Construction of the Standard Presentation for a Coxeter Group
CoxeterGroup(GrpFP, W) : Cat, GrpFPCox -> GrpFP, Map
Example GrpFP_1_FPCoxeterGroups (H30E12)
Conversion from a Special Form of FP-Group
FPGroup(G) : GrpPC -> GrpFP, Hom(Grp)
Example GrpFP_1_FPGroup2 (H30E13)
Construction of a Standard Group
AbelianGroup(GrpFP, [n_1,...,n_r]): Cat, [ RngIntElt ] -> GrpFP
AlternatingGroup(GrpFP, n) : Cat, RngIntElt -> GrpFP
BraidGroup(GrpFP, n) : Cat, RngIntElt -> GrpFP
CoxeterGroup(GrpFP, t) : Cat, MonStgElt -> GrpFP
CyclicGroup(GrpFP, n) : Cat, RngIntElt -> GrpFP
DihedralGroup(GrpFP, n) : Cat, RngIntElt -> GrpFP
ExtraSpecialGroup(GrpFP, p, n : parameters) : Cat, RngIntElt, RngIntElt -> GrpFP
SymmetricGroup(GrpFP, n) : Cat, RngIntElt -> GrpFP
Example GrpFP_1_StandardGroups (H30E14)
Construction of Extensions
Darstellungsgruppe(G) : GrpFP -> GrpFP
DirectProduct(G, H) : GrpFP, GrpFP -> GrpFP
DirectProduct(Q) : [ GrpFP ] -> GrpFP
FreeProduct(G, H) : GrpFP, GrpFP -> GrpFP
FreeProduct(Q) : [ GrpFP ] -> GrpFP
Example GrpFP_1_ControlExtn (H30E15)
Example GrpFP_1_DirectProduct (H30E16)
Accessing the Defining Generators and Relations
G . i : GrpFP, RngIntElt -> GrpFPElt
Generators(G) : GrpFP -> { GrpFPElt }
NumberOfGenerators(G) : GrpFP -> RngIntElt
PresentationLength(G) : GrpFP -> RngIntElt
Relations(G) : GrpFP -> [ GrpFPRel ]
Construction of Homomorphisms
hom< P -> G | S > : Struct , Struct -> Map
IsSatisfied(U, E) : { RelElt }, [ GrpElt ] -> BoolElt
Accessing Homomorphisms
w @ f : GrpFPElt, Map -> GrpElt
H @ f : GrpFP, Map -> Grp
g @@ f : GrpElt, Map -> GrpFPElt
H @@ f : Grp, Map -> GrpFP
Domain(f) : Map -> Grp
Codomain(f) : Map -> Grp
Image(f) : Map -> Grp
Kernel(f) : Map -> Grp
Example GrpFP_1_Homomorphism (H30E17)
Computing Homomorphisms to Permutation Groups
Homomorphisms(F, G, A : parameters) : GrpFP, GrpPerm, GrpPerm -> [ HomGrp ]
Example GrpFP_1_Homomorphisms1 (H30E18)
Computing Homomorphisms to Permutation Groups Interactively
HomomorphismsProcess(F, G, A : parameters) : GrpFP, GrpPerm, GrpPerm -> GrpFPHomsProc
NextElement(~P) : GrpFPHomsProc ->
Complete(~P) : GrpFPHomsProc ->
IsEmpty(P) : GrpFPHomsProc -> BoolElt
IsValid(P) : GrpFPHomsProc -> BoolElt
DefinesHomomorphism(P) : GrpFPHomsProc -> BoolElt
Homomorphism(P) : GrpFPHomsProc -> HomGrp
# P : GrpFPHomsProc -> RngIntElt
Homomorphisms(P) : GrpFPHomsProc -> [ HomGrp ]
Example GrpFP_1_Homomorphisms2 (H30E19)
Example GrpFP_1_Homomorphisms2-2 (H30E20)
Finding Homomorphisms onto Simple Groups
SimpleQuotients(F, deg1, deg2, ord1, ord2: parameters) : GrpFP, RngIntElt, RngIntElt, RngIntElt, RngIntElt -> List
SimpleQuotientProcess(F, deg1, deg2, ord1, ord2: parameters) : GrpFP, RngIntElt, RngIntElt, RngIntElt, RngIntElt -> Rec
NextSimpleQuotient(~P) : Rec ->
IsEmptySimpleQuotientProcess(P) : Rec -> BoolElt
SimpleEpimorphisms(P) : Rec -> SeqEnum, Tup
Example GrpFP_1_SimpleQuotients (H30E21)
Searching for Isomorphisms
SearchForIsomorphism(F, G, m : parameters) : GrpFP, GrpFP, RngIntElt -> BoolElt, HomGrp, HomGrp
Example GrpFP_1_SearchForIso1 (H30E22)
Example GrpFP_1_SearchForIso2 (H30E23)
Abelian, Nilpotent and Soluble Quotient
Abelian Quotient
AbelianQuotient(G) : GrpFP -> GrpAb, Map
ElementaryAbelianQuotient(G, p) : GrpFP, RngIntElt -> GrpAb, Map
AbelianQuotientInvariants(G) : GrpFP -> [ RngIntElt ]
AbelianQuotientInvariants(H) : GrpFP -> [ RngIntElt ]
AbelianQuotientInvariants(G, n) : GrpFP, RngIntElt -> [ RngIntElt ]
AbelianQuotientInvariants(H, n) : GrpFP, RngIntElt -> [ RngIntElt ]
HasComputableAbelianQuotient(G) : GrpFP -> BoolElt, GrpAb, Map
HasInfiniteComputableAbelianQuotient(G) : GrpFP -> BoolElt, GrpAb, Map
TorsionFreeRank(G) : GrpFP -> RngIntElt
Example GrpFP_1_F27 (H30E24)
Example GrpFP_1_modular-abelian-quotient (H30E25)
The Construction of a p-Quotient
pQuotient(F, p, c: parameters) : GrpFP, RngIntElt, RngIntElt -> GrpPC, Map, SeqEnum , BoolElt
Example GrpFP_1_pQuotient1 (H30E26)
Example GrpFP_1_pQuotient2 (H30E27)
Example GrpFP_1_pQuotient3 (H30E28)
Example GrpFP_1_pQuotient4 (H30E29)
Nilpotent Quotient
NilpotentQuotient(G, c: parameters) : GrpFP, RngIntElt -> GrpGPC, Map
Example GrpFP_1_NilpotentQuotient1 (H30E30)
SetVerbose("NilpotentQuotient", n) : MonStgElt, RngIntElt ->
Example GrpFP_1_NilpotentQuotient2 (H30E31)
Soluble Quotient
SolvableQuotient(G : parameters): GrpFP, RngIntElt -> GrpPC, Map, SeqEnum, MonStgElt
Example GrpFP_1_SolubleQuotient1 (H30E32)
SolvableQuotient(F, n : parameters): GrpFP, RngIntElt -> GrpPC, Map, SeqEnum, MonStgElt
Example GrpFP_1_SolubleQuotient2 (H30E33)
Specification of a Subgroup
sub< G | L > : GrpFP, List -> GrpFP
sub< G | f > : GrpFP, Hom(Grp) -> GrpFP
ncl< G | L > : GrpFP, List -> GrpFP
ncl<G | f> : GrpFP, Hom(Grp) -> GrpFP
DerivedSubgroup(G) : GrpGPC -> GrpGPC
Example GrpFP_1_Subgroups1 (H30E34)
Example GrpFP_1_Subgroups2 (H30E35)
Index of a Subgroup: The Todd- Coxeter Algorithm
ToddCoxeter(G, H: parameters) : GrpFP, GrpFP -> RngIntElt, Map, RngIntElt, RngIntElt
Index(G, H: parameters) : GrpFP, GrpFP -> RngIntElt
Example GrpFP_1_Index1 (H30E36)
Order(G: parameters) : GrpFP -> RngIntElt
Example GrpFP_1_Order11 (H30E37)
Example GrpFP_1_HN (H30E38)
Example GrpFP_1_Family (H30E39)
Implicit Invocation of the Todd- Coxeter Algorithm
SetGlobalTCParameters(: parameters) : ->
UnsetGlobalTCParameters() : ->
Example GrpFP_1_ImplicitCosetEnumeration (H30E40)
Constructing a Presentation for a Subgroup
Rewriting
Rewrite(G, H : parameters) : GrpFP, GrpFP -> GrpFP, Map
Rewrite(G, ~H : parameters) : GrpFP, GrpFP ->
Example GrpFP_1_Rewrite (H30E41)
Example GrpFP_1_Rewrite2 (H30E42)
Low Index Subgroups
LowIndexSubgroups(G, R : parameters) : GrpFP, RngIntElt -> [ GrpFP ]
Example GrpFP_1_Lix1 (H30E43)
Example GrpFP_1_Lix2 (H30E44)
LowIndexProcess(G, R : parameters) : GrpFP, RngIntElt -> Process(Lix)
NextSubgroup(~P) : Process(Lix) ->
ExtractGroup(P) : Process(Lix) -> GrpFP
ExtractGenerators(P) : Process(Lix) -> { GrpFPElt }
IsEmpty(P) : Process(Lix) -> BoolElt
IsValid(P) : Process(Lix) -> BoolElt
Example GrpFP_1_Lix3 (H30E45)
Example GrpFP_1_Lix4 (H30E46)
Example GrpFP_1_Lix5 (H30E47)
LowIndexNormalSubgroups(G, n: parameters) : GrpFP, RingIntElt -> [ Rec ]
Subgroup Constructions
H ^ u : GrpFP, GrpFPElt -> GrpFP
H meet K : GrpFP, GrpFP -> GrpFP
Core(G, H) : GrpFP, GrpFP -> GrpFP
GeneratingWords(G, H) : GrpFP, GrpFP -> { GrpFPElt }
MaximalOvergroup(G, H) : GrpFP, GrpFP -> GrpFP
MinimalOvergroup(G, H) : GrpFP, GrpFP -> GrpFP
H ^ G : GrpFP, GrpFP -> GrpFP
Normaliser(G, H) : GrpFP, GrpFP -> GrpFP
SchreierGenerators(G, H : parameters) : GrpFP, GrpFP -> { GrpFPElt }
SchreierSystem(G, H) : GrpFP, GrpFP -> {@ GrpFPElt @}, Map
Transversal(G, H, K) : GrpFP, GrpFP, GrpFP -> {@ GrpFPElt @}, Map
Example GrpFP_1_SubgroupConstructions (H30E48)
Example GrpFP_1_SchreierGenerators (H30E49)
Properties of Subgroups
u in H : GrpFPElt, GrpFP -> BoolElt
u notin H : GrpFPElt, GrpFP -> BoolElt
H eq K : GrpFP, GrpFP -> BoolElt
H != K : GrpFP, GrpFP -> BoolElt
H subset K : GrpFP, GrpFP -> BoolElt
H notsubset K : GrpFP, GrpFP -> BoolElt
IsConjugate(G, H, K) : GrpFP, GrpFP, GrpFP -> BoolElt, GrpFPElt
IsNormal(G, H) : GrpFP, GrpFP -> BoolElt
IsMaximal(G, H) : GrpFP, GrpFP -> BoolElt
IsSelfNormalizing(G, H) : GrpFP, GrpFP -> BoolElt
Example GrpFP_1_SubgroupOps (H30E50)
Example GrpFP_1_BuildSubgroups (H30E51)
Coset Tables
CosetTable(G, H: parameters) : GrpFP, GrpFP -> Map
CosetTableToRepresentation(G, T): GrpFP, Map -> Map, GrpPerm, Grp
CosetTableToPermutationGroup(G, T) : GrpFP, Map -> GrpPerm
Example GrpFP_1_CosetTable1 (H30E52)
Coset Spaces: Construction
CosetSpace(G, H: parameters) : GrpFP, GrpFP: -> GrpFPCos
RightCosetSpace(G, H: parameters) : GrpFP, GrpFP -> GrpFPCos
Coset Spaces: Elementary Operations
H * g : GrpFP, GrpFPElt -> GrpFPCosElt
C * g : GrpFPCosElt, GrpFPElt -> GrpFPCosElt
C * D : GrpFPCosElt, GrpFPCosElt -> GrpFPCosElt
g in C : GrpFPElt, GrpFPCosElt -> BoolElt
g notin C : GrpFPElt, GrpFPCosElt -> BoolElt
C1 eq C2 : GrpFPCosElt, GrpFPCosElt -> BoolElt
C1 ne C2 : GrpFPCosElt, GrpFPCosElt -> BoolElt
Accessing Information
# V : GrpFPCos -> RngIntElt
Action(V) : GrpFPCos -> Map
<i, w> @ T : GrpFPCosElt, GrpFPElt, Map -> GrpFPElt
ExplicitCoset(V, i) : GrpFPCos, RngIntElt -> GrpFPCosElt
IndexedCoset(V, w) : GrpFPCos, GrpFPElt -> GrpFPCosElt
IndexedCoset(V, C) : GrpFPCos, GrpFPCosElt -> GrpFPCosElt
Group(V) : GrpFPCos -> GrpFP
Subgroup(V) : GrpFPCos -> GrpFP
IsComplete(V) : GrpFPCos -> BoolElt
ExcludedConjugates(V) : GrpFPCos -> { GrpFPElt }
Transversal(G, H) : GrpFP, GrpFP -> {@ GrpFPElt @}, Map
Example GrpFP_1_CosetTable2 (H30E53)
Example GrpFP_1_CosetSpace (H30E54)
Example GrpFP_1_DerSub (H30E55)
Example GrpFP_1_ExcludedConjugates (H30E56)
Double Coset Spaces: Construction
DoubleCoset(G, H, g, K ) : GrpFP, GrpFP, GrpFPElt, GrpFP -> GrpFPDcosElt
DoubleCosets(G, H, K) : GrpFP, GrpFP, GrpFP -> { GrpFPDcosElt }
Example GrpFP_1_DoubleCosets (H30E57)
Coset Spaces: Selection of Cosets
CosetsSatisfying(T, S: parameters) : Map, { GrpFPElt }: -> { GrpFPCosElt }
Example GrpFP_1_CosetSatisfying (H30E58)
Coset Spaces: Induced Homomorphism
CosetAction(G, H) : Grp, Grp -> Hom(Grp), GrpPerm, Grp
CosetAction(V) : GrpFPCos, Grp -> Hom(Grp), GrpPerm
CosetImage(G, H) : Grp, Grp -> GrpPerm
CosetImage(V) : GrpFPCos, Grp -> GrpPerm
CosetKernel(G, H) : GrpFP, GrpFP -> GrpFP
CosetKernel(V) : GrpFPCos -> GrpFP
Example GrpFP_1_Co1 (H30E59)
Example GrpFP_1_G23 (H30E60)
Reducing Generating Sets
ReduceGenerators(G) : GrpFP -> GrpFP, Map
Tietze Transformations
Simplify(G: parameters) : GrpFP -> GrpFP, Map
Example GrpFP_1_Simplify1 (H30E61)
SimplifyLength(G: parameters) : GrpFP -> GrpFP, Map
TietzeProcess(G: parameters) : GrpFP -> Process(Tietze)
ShowOptions(~P : parameters) : Process(Tietze) ->
SetOptions(~P : parameters) : Process(Tietze) ->
Simplify(~P : parameters) : Process(Tietze) ->
SimplifyLength(~P : parameters) : Process(Tietze) ->
Eliminate(~P: parameters) : Process(Tietze) ->
Search(~P: parameters) : Process(Tietze) ->
SearchEqual(~P: parameters) : Process(Tietze) ->
Group(P) : Process(Tietze) -> GrpFP, Map
NumberOfGenerators(P) : Process(Tietze) -> RngIntElt
NumberOfRelations(P) : Process(Tietze) -> RngIntElt
PresentationLength(P) : Process(Tietze) -> RngIntElt
Example GrpFP_1_F276 (H30E62)
Example GrpFP_1_ReduceGeneratingSet (H30E63)
Example GrpFP_1_F29 (H30E64)
Example GrpFP_1_L372 (H30E65)
Representation Theory
GModulePrimes(G, A) : GrpFP, GrpFP -> SetMulti
GModulePrimes(G, A, B) : GrpFP, GrpFP, GrpFP -> SetMulti
GModule(G, A, p) : GrpFP, GrpFP, RngIntElt -> ModGrp, Map
GModule(G, A, B, p) : GrpFP, GrpFP, GrpFP, RngIntElt -> ModGrp, Map
Pullback(f, N) : Map, ModGrp -> GrpFP
Example GrpFP_1_RepresentationTheory (H30E66)
Example GrpFP_1_gmoduleprimes (H30E67)