Low Level Operations on Presentations and Words
Modifying Presentations
AddGenerator(G) : GrpFP -> GrpFP
AddGenerator(G, w) : GrpFP, GrpFPElt -> GrpFP
AddRelation(G, r) : GrpFP, GrpFPRel -> GrpFP
AddRelation(G, g) : GrpFP, GrpFPElt -> GrpFP
AddRelation(G, r, i) : GrpFP, GrpFPRel, RngIntElt -> GrpFP
AddRelation(G, g, i) : GrpFP, GrpFPElt, RngIntElt -> GrpFP
DeleteGenerator(G, x) : GrpFP, GrpFPElt -> GrpFP
DeleteRelation(G, r) : GrpFP, GrpFPRel -> GrpFP
DeleteRelation(G, g) : GrpFP, GrpFPElt -> GrpFP
DeleteRelation(G, i) : GrpFP, RngIntElt -> GrpFP
ReplaceRelation(G, s, r) : GrpFP, GrpFPRel, GrpFPRel -> GrpFP
ReplaceRelation(G, i, r) : GrpFP, RngIntElt, GrpFPRel -> GrpFP
ReplaceRelation(G, i, g) : GrpFP, RngIntElt, GrpFPElt -> GrpFP
Example GrpFP_2_Replace (H31E1)
Low Level Operations on Words
Eliminate(u, x, v) : GrpFPElt, GrpFPElt, GrpFPElt -> GrpFPElt
Eliminate(U, x, v) : { GrpFPElt }, GrpFPElt, GrpFPElt -> { GrpFPElt }
Match(u, v, f) : GrpFPElt, GrpFPElt, RngIntElt -> BoolElt, RngIntElt
RotateWord(u, n) : GrpFPElt, RngIntElt -> GrpFPElt
Substitute(u, f, n, v) : GrpFPElt, RngIntElt, RngIntElt, GrpFPElt -> GrpFPElt
Subword(u, f, n) : GrpFPElt, RngIntElt, RngIntElt -> GrpFPElt
Example GrpFP_2_WordOps (H31E2)
Constructing and Modifying a Coset Enumeration Process
CosetEnumerationProcess(G, H: parameters) : GrpFP, GrpFP -> GrpFPCosetEnumProc
AddRelator(~P, w) : GrpFPCosetEnumProc, GrpFPElt ->
AddSubgroupGenerator(~P, w) : GrpFPCosetEnumProc, GrpFPElt ->
SetProcessParameters(~P: parameters) : GrpFPCosetEnumProc ->
Starting and Restarting an Enumeration
StartEnumeration(~P: parameters) : GrpFPCosetEnumProc ->
RedoEnumeration(~P: parameters) : GrpFPCosetEnumProc ->
CanRedoEnumeration(P) : GrpFPCosetEnumProc -> BoolElt
ContinueEnumeration(~P: parameters) : GrpFPCosetEnumProc ->
CanContinueEnumeration(P) : GrpFPCosetEnumProc -> BoolElt
ResumeEnumeration(~P: parameters) : GrpFPCosetEnumProc ->
Accessing Information
CosetsSatisfying(P : parameters) : GrpFPCosetEnumProc -> { GrpFPElt }
CosetTable(P) : GrpFPCosetEnumProc -> Map
HasValidCosetTable(P) : GrpFPCosetEnumProc -> BoolElt
HasClosedCosetTable(P) : GrpFPCosetEnumProc -> BoolElt
ExcludedConjugate(P) : GrpFPCosetEnumProc -> GrpFPElt
ExistsCosetSatisfying(P : parameters) : GrpFPCosetEnumProc -> BoolElt, GrpFPElt
ExistsExcludedConjugate(P) : GrpFPCosetEnumProc -> BoolElt, GrpFPElt
ExistsNormalisingCoset(P) : GrpFPCosetEnumProc -> BoolElt, GrpFPElt
Group(P) : GrpFPCosetEnumProc -> GrpFP
Index(P) : GrpFPCosetEnumProc -> RngIntElt
HasValidIndex(P) : GrpFPCosetEnumProc -> BoolElt
MaximalNumberOfCosets(P) : GrpFPCosetEnumProc -> RngIntElt
Subgroup(P) : GrpFPCosetEnumProc -> GrpFP
TotalNumberOfCosets(P) : GrpFPCosetEnumProc -> RngIntElt
Example GrpFP_2_ACEProc1 (H31E3)
Example GrpFP_2_ACEProc2 (H31E4)
Example GrpFP_2_ACEProc3 (H31E5)
Example GrpFP_2_ACEProc4 (H31E6)
Induced Permutation Representations
CosetAction(P) : GrpFPCosetEnumProc -> Map, GrpPerm, GrpFP
CosetImage(P) : GrpFPCosetEnumProc -> GrpPerm
CosetKernel(P) : GrpFPCosetEnumProc -> GrpFP
Coset Spaces and Transversals
CosetSpace(P) : GrpFPCosetEnumProc -> GrpFPCos
RightCosetSpace(P) : GrpFPCosetEnumProc -> GrpFPCos
Transversal(P) : GrpFPCosetEnumProc -> {@ GrpFPElt @}, Map
Example GrpFP_2_ACEProcTransversal (H31E7)
Example GrpFP_2_ACEProcCosetSpace (H31E8)
The p-Quotient Process
pQuotientProcess(F, p, c: parameters) : GrpFP, RngIntElt, RngIntElt -> Process
NextClass(~P : parameters) : Process(pQuot) ->
Using p-Quotient Interactively
StartNewClass(~P: parameters) : Process(pQuot) ->
Tails(~P: parameters) : Process(pQuot) ->
Consistency(~P: parameters) : Process(pQuot) ->
CollectRelations(~P) : Process(pQuot) ->
ExponentLaw(~P : parameters) : Proc(pQuot) ->
EliminateRedundancy(~P) : Process(pQuot) ->
Display(P) : Process(pQuot) ->
RevertClass(~P) : Process(pQuot) ->
pCoveringGroup(~P) : Process(pQuot) ->
GeneratorStructure(P) : Process(pQuot) ->
Jacobi(~P, c, b, a, ~r) : Process(pQuot), RngIntElt, RngIntElt, RngIntElt -> RngIntElt ->
Collect(P, Q) : Process(pQuot), [ <RngIntElt, RngIntElt> ] -> [ RngIntElt ] ->
EcheloniseWord(~P, ~r) : Process(pQuot) -> RngIntElt
SetDisplayLevel(~P, Level) : Process(pQuot), RngIntElt ->
ExtractGroup(P) : Process(pQuot) -> GrpPC
Order(P) : Process(pQuot) -> RngIntElt
FactoredOrder(P) : Process(pQuot) -> [ <RngIntElt, RngIntElt> ]
NumberOfPCGenerators(P) : Process(pQuot) -> RngIntElt
pClass(P) : Process(pQuot) -> RngIntElt
NuclearRank(G) : GrpPC -> RngIntElt
pMultiplicatorRank(G) : GrpPC -> RngIntElt
Example GrpFP_2_pQuotient5 (H31E9)
Example GrpFP_2_pQuotient6 (H31E10)
Example GrpFP_2_pQuotient7 (H31E11)
Example GrpFP_2_pQuotient8 (H31E12)
Calculating the Relevant Primes
The Functions
SolubleQuotient(F, n : parameters): GrpFP, RngIntElt -> GrpPC, Map, SeqEnum, MonStgElt
Initialisation
Initialize(F) : GrpFP -> SQProc
Initialize(e) : Map -> SQProc
SolubleQuotientProcess(F : parameters): GrpFP -> SQProc
Access Functions
PrintQuotient(SQP) : SQProc ->
GetQuotient(SQP) : SQProc -> GrpPC, Map
PrintCollector(SQP) : SQProc ->
PrintPrimes(SQP) : SQProc ->
GetPrimes(SQP) : SQProc -> SetEnum, BoolElt
PrintModules(SQP) : SQProc ->
GetModules(SQP, p ) : SQProc, RngIntElt -> List
PrintExtensions(SQP) : SQProc ->
PrintRelat(SQP) : SQProc ->
GetParent(SQP) : SQProc -> List
GetChildren(SQP) : SQProc -> List
GetChild(SQP, i) : SQProc, RngIntElt -> List
PrintSeries(SQP) : SQProc ->
PrintProcess(SQP) : SQProc ->
Symbolic Collector
NonsplitCollector(SQP, p) : SQProc, RngIntElt ->
DeleteCollector(SQP, p) : SQProc, RngIntElt ->
DeleteCollector(SQP) : SQProc, RngIntElt ->
Relevant Primes
Primes(SQP): SQProc ->
AddPrimes(SQP, p): SQProc, RngIntElt ->
ReplacePrimes(SQP, m): SQProc, SetEnum ->
Irreducible Modules
Modules(SQP : parameters): SQProc ->
Extension Spaces
SplitExtensionSpace(SQP): SQProc -> SeqEnum
NonsplitExtensionSpace(SQP): SQProc -> SeqEnum
DeleteSplitSolutionspace(SQP, p, i, k): SQProc, RngIntElt, RngIntElt, RngIntElt ->
Lifting a Quotient
LiftSplitExtension(SQP, p, i, k : parameters) : SQProc, RngIntElt, RngIntElt, RngIntElt -> RngIntElt, SQProc
LiftSplitExtensionRow(SQP): SQProc -> RngIntElt, SQProc
LiftNonsplitExtension(SQP, p, i, k : parameters) : SQProc, RngIntElt, RngIntElt, RngIntElt -> RngIntElt, SQProc
LiftNonsplitExtensionRow(SQP, p, l) : SQProc, RngIntElt, RngIntElt -> RngIntElt, SQProc
Lifting a Quotient by Choosing an Individual Cocycle
Soluble Quotient Process Tools
Checking the soluble quotient
SQ_check(SQP) : SQProc -> BoolElt
EquivalentQuotients(SQP, SQR : parameters) : SQProc, SQProc -> BoolElt, SQProc
Tools for the calculation of specific normal series
KeepPrimePower(SQP, p) : SQProc, RngIntElt -> SeqEnum
KeepGeneratorOrder(SQG, SQH) : SQProc, SQProc -> SeqEnum
KeepGeneratorAction(SQG, SQH) : SQProc, SQProc -> SeqEnum
KeepSplit(SQG, SQH) : SQProc, SQProc -> SeqEnum
KeepElementary(SQG, SQH) : SQProc, SQProc -> SeqEnum
KeepAbelian(SQG, SQH) : SQProc, SQProc -> SeqEnum
KeepElementaryAbelian(SQG, SQH) : SQProc, SQProc -> SeqEnum
[Future release] KeepDirect(SQG, SQH) : SQProc, SQProc -> SeqEnum
KeepSplitAbelian(SQG, SQH) : SQProc, SQProc -> SeqEnum
KeepSplitElementaryAbelian(SQG, SQH) : SQProc, SQProc -> SeqEnum
Miscellaneous Functions
IntersectKernels(SQP, SQR) : SQProc, SQProc -> SQProc, Map, Map
ComposeQuotients(SQ1, SQ2, SQ3: parameter) : SQProc, SQProc, SQProc -> BoolElt, SQProc
Calculation of Standard Sections
AbelianSection(SQP: parameter) : SQProc -> BoolElt, SQProc
ElementaryAbelianSection(SQP: parameter) : SQProc -> BoolElt, SQProc
SplitSection(SQP: parameter) : SQProc -> BoolElt, SQProc
SplitAbelianSection(SQP: parameter) : SQProc -> BoolElt, SQProc
SplitElementaryAbelianSection(SQP: parameter) : SQProc -> BoolElt, SQProc
NonsplitSection(SQP: parameter) : SQProc -> BoolElt, SQProc
NilpotentSection(SQP: parameter) : SQProc -> BoolElt, SQProc