# Groups

- [Introduction](introduction.md)

  - [The Categories of Finite Groups](introduction.md#the-categories-of-finite-groups)

- [Construction of Elements](creation-symmetric.md)

  - [Construction of an Element](creation-symmetric.md#construction-of-an-element)

    - [`elt< G | L >: Grp, List(Elt) → GrpElt`](creation-symmetric.md#constructor-constructor-elt-grp-list-elt-grpelt)

    - [`G ! Q: Grp, [ Elt ] → GrpElt`](creation-symmetric.md#operation-op-grp-elt)

    - [`Identity(G): Grp → GrpElt`](creation-symmetric.md#function-identity-grp)

    - [`Id(G): Grp → GrpElt`](creation-symmetric.md#function-id-grp)

  - [Coercion](creation-symmetric.md#coercion)

    - [`G ! g: Grp, GrpElt → GrpElt`](creation-symmetric.md#operation-op-grp-grpelt)

  - [Homomorphisms](creation-symmetric.md#homomorphisms)

    - [`hom< G -> H | L >: Grp, Grp → Map`](creation-symmetric.md#constructor-constructor-hom-grp-grp-map)

    - [`hom< G -> H | x :-> e(x) >: Grp, Grp → Map`](creation-symmetric.md#constructor-constructor-hom-grp-grp-map-2)

    - [`IdentityHomomorphism(G): Grp → Map`](creation-symmetric.md#function-identityhomomorphism-grp)

    - [`Example: Homomorphisms`](creation-symmetric.md#example-ex-c624be)

    - [`Example: Homomorphisms 2`](creation-symmetric.md#example-ex-7e66d9)

  - [Arithmetic with Elements](creation-symmetric.md#arithmetic-with-elements)

    - [`g * h: GrpElt, GrpElt → GrpElt`](creation-symmetric.md#operation-op-times-grpelt-grpelt)

    - [`g ^ n: GrpElt, RngIntElt → GrpElt`](creation-symmetric.md#operation-op-pow-grpelt-rngintelt)

    - [`g / h: GrpElt, GrpElt → GrpElt`](creation-symmetric.md#operation-op-div-grpelt-grpelt)

    - [`g ^ h: GrpElt, GrpElt → GrpElt`](creation-symmetric.md#operation-op-pow-grpelt-grpelt)

    - [`(g, h): GrpElt, GrpElt → GrpElt`](creation-symmetric.md#literal-literal-g-h-grpelt-grpelt-grpelt)

    - [`(g₁, ..., gᵣ): GrpElt, ..., GrpElt → GrpElt`](creation-symmetric.md#literal-literal-g1-gr-grpelt-grpelt-grpelt)

    - [`g eq h: GrpElt, GrpElt → BoolElt`](creation-symmetric.md#operation-op-eq-grpelt-grpelt)

    - [`g ne h: GrpElt, GrpElt → BoolElt`](creation-symmetric.md#operation-op-ne-grpelt-grpelt)

    - [`IsId(g): GrpElt → BoolElt`](creation-symmetric.md#function-isid-grpelt)

    - [`IsIdentity(g): GrpElt → BoolElt`](creation-symmetric.md#function-isidentity-grpelt)

    - [`Order(g): GrpElt → RngIntElt`](creation-symmetric.md#function-order-grpelt)

    - [`Example: Arithmetic`](creation-symmetric.md#example-ex-7b16a3)

- [Construction of a General Group](creation-general.md)

  - [The General Group Constructors](creation-general.md#the-general-group-constructors)

    - [`PermutationGroup< X | L >: Set, List → GrpPerm, Hom`](creation-general.md#constructor-constructor-permutationgroup-set-list-grpperm-hom)

    - [`PermutationGroup< n | L >: RngIntElt, List → GrpPerm, Hom`](creation-general.md#constructor-constructor-permutationgroup-rngintelt-list-grpperm-hom)

    - [`MatrixGroup< n, R | L >: RngIntElt, Rng, List → GrpMat, Hom`](creation-general.md#constructor-constructor-matrixgroup-rngintelt-rng-list-grpmat-hom)

    - [`Group< X | R >: List(Identifiers), List(GrpFPRel) → GrpFP, Hom(Grp)`](creation-general.md#constructor-constructor-group-list-identifiers-list-grpfprel-grpfp-hom-grp)

    - [`PolycyclicGroup< X | R >: List(Identifiers), List(GrpFPRel) → GrpPC, Hom`](creation-general.md#constructor-constructor-polycyclicgroup-list-identifiers-list-grpfprel-grppc-hom)

    - [`AbelianGroup< X | R >: List(Identifiers), List(GrpAbRel) → GrpAb, Hom(GrpAb)`](creation-general.md#constructor-constructor-abeliangroup-list-identifiers-list-grpabrel-grpab-hom-grpab)

    - [`Example: Group Constructors`](creation-general.md#example-ex-b4177f)

    - [`Example: Polycyclic Group`](creation-general.md#example-ex-327598)

  - [Construction of Subgroups](creation-general.md#construction-of-subgroups)

    - [`sub<G | L>: Grp, List → Grp`](creation-general.md#constructor-constructor-sub-grp-list-grp)

    - [`ncl<G | L>: Grp, List → Grp`](creation-general.md#constructor-constructor-ncl-grp-list-grp)

    - [`Example: Subgroup`](creation-general.md#example-ex-2c1c5d)

  - [Construction of Quotient Groups](creation-general.md#construction-of-quotient-groups)

    - [`quo<G | L>: Grp, List → Grp, Map`](creation-general.md#constructor-constructor-quo-grp-list-grp-map)

    - [`G / N: Grp, Grp → Grp`](creation-general.md#operation-op-div-grp-grp)

    - [`Example: Quotient`](creation-general.md#example-ex-8f51d1)

- [Standard Groups and Extensions](extension-standard-group.md)

  - [Construction of a Standard Group](extension-standard-group.md#construction-of-a-standard-group)

    - [`AbelianGroup(C, Q): Cat, [ RngIntElt ] → GrpFin`](extension-standard-group.md#function-abeliangroup-cat-rngintelt)

    - [`AbelianGroup(Q): [ RngIntElt ] → GrpAb`](extension-standard-group.md#function-abeliangroup-rngintelt)

    - [`AlternatingGroup(C, n): Cat, RngIntElt → GrpFin`](extension-standard-group.md#function-alternatinggroup-cat-rngintelt)

    - [`AlternatingGroup(n): RngIntElt → GrpPerm`](extension-standard-group.md#function-alternatinggroup-rngintelt)

    - [`Alt(C, n): Cat, RngIntElt → GrpFin`](extension-standard-group.md#function-alt-cat-rngintelt)

    - [`Alt(n): RngIntElt → GrpPerm`](extension-standard-group.md#function-alt-rngintelt)

    - [`CyclicGroup(C, n): Cat, RngIntElt → GrpFin`](extension-standard-group.md#function-cyclicgroup-cat-rngintelt)

    - [`CyclicGroup(n): RngIntElt → GrpPerm`](extension-standard-group.md#function-cyclicgroup-rngintelt)

    - [`DihedralGroup(C, n): Cat, RngIntElt → GrpFin`](extension-standard-group.md#function-dihedralgroup-cat-rngintelt)

    - [`DihedralGroup(n): RngIntElt → GrpPerm`](extension-standard-group.md#function-dihedralgroup-rngintelt)

    - [`DicyclicGroup(n): RngIntElt → GrpFP`](extension-standard-group.md#function-dicyclicgroup-rngintelt)

    - [`DicyclicGroup(A, a): GrpAb, GrpAbElt → GrpFP`](extension-standard-group.md#function-dicyclicgroup-grpab-grpabelt)

    - [`SymmetricGroup(C, n): Cat, RngIntElt → GrpFin`](extension-standard-group.md#function-symmetricgroup-cat-rngintelt)

    - [`SymmetricGroup(n): RngIntElt → GrpPerm`](extension-standard-group.md#function-symmetricgroup-rngintelt)

    - [`Sym(GrpFin, n): Cat, RngIntElt → GrpFin`](extension-standard-group.md#function-sym-cat-rngintelt)

    - [`Sym(n): RngIntElt → GrpPerm`](extension-standard-group.md#function-sym-rngintelt)

    - [`ExtraSpecialGroup(C, p, n : parameters): Cat, RngIntElt, RngIntElt → GrpFin`](extension-standard-group.md#function-extraspecialgroup-cat-rngintelt-rngintelt)

    - [`ExtraSpecialGroup(p, n : parameters): RngIntElt, RngIntElt → GrpPerm`](extension-standard-group.md#function-extraspecialgroup-rngintelt-rngintelt)

    - [`Example: Standard Groups`](extension-standard-group.md#example-ex-a51dba)

  - [Construction of Extensions](extension-standard-group.md#construction-of-extensions)

    - [`DirectProduct(G, H): Grp, Grp → Grp`](extension-standard-group.md#function-directproduct-grp-grp)

    - [`DirectProduct(Q): [ Grp ] → Grp`](extension-standard-group.md#function-directproduct-grp)

    - [`SemidirectProduct(K, H, f: parameters): Grp, Grp, Map → Grp, Map, Map, Map`](extension-standard-group.md#function-semidirectproduct-grp-grp-map)

    - [`Example: semidirect`](extension-standard-group.md#example-ex-ba6db1)

    - [`AffineSplitExtension(M: parameters): ModGrp → Grp, Map, Map, Map`](extension-standard-group.md#function-affinesplitextension-modgrp)

    - [`Example: Affine Split`](extension-standard-group.md#example-ex-e704a5)

    - [`Example: Extensions`](extension-standard-group.md#example-ex-a6b832)

- [Transfer Functions Between Group Categories](category-transfer.md)

  - [`pQuotient(F, p, c: parameters): GrpFP, RngIntElt, RngIntElt → GrpPC, Map`](category-transfer.md#function-pquotient-grpfp-rngintelt-rngintelt)

  - [`CosetAction(G, H): Grp, Grp → Hom(Grp), GrpPerm, Grp`](category-transfer.md#function-cosetaction-grp-grp)

  - [`RegularRepresentation(G, H): Grp, Grp → Hom(Grp), GrpPerm, Grp`](category-transfer.md#function-regularrepresentation-grp-grp)

  - [`CosetImage(G, H): Grp, Grp → GrpPerm`](category-transfer.md#function-cosetimage-grp-grp)

  - [`CosetKernel(G, H): Grp, Grp → Grp`](category-transfer.md#function-cosetkernel-grp-grp)

  - [`MinimalDegreePermutationRepresentation(G: parameters): Grp → Hom(Grp), GrpPerm`](category-transfer.md#function-minimaldegreepermutationrepresentation-grp)

  - [`Example: Minimal Degree Permutation Representation`](category-transfer.md#example-ex-4a0ec6)

  - [`PermutationRepresentationQuotient(G, N : parameters): Grp, Grp → Hom(Grp), GrpPerm`](category-transfer.md#function-permutationrepresentationquotient-grp-grp)

  - [`GPCGroup(G): Grp → GrpGPC, Hom(Grp)`](category-transfer.md#function-gpcgroup-grp)

  - [`PCGroup(G): Grp → GrpPC, Hom(Grp)`](category-transfer.md#function-pcgroup-grp)

  - [`FPGroup(G: parameters): GrpPerm → GrpFP, Hom(Grp)`](category-transfer.md#function-fpgroup-grpperm)

  - [`Example: Coset Action`](category-transfer.md#example-ex-faa68a)

  - [`Example: CosetAction 2`](category-transfer.md#example-ex-4138bd)

  - [`Example: FP Group`](category-transfer.md#example-ex-35b71d)

- [Basic Operations](operation.md)

  - [Accessing Group Information](operation.md#accessing-group-information)

    - [`G . i: Grp, RngIntElt → GrpElt`](operation.md#operation-operation-grp-rngintelt-grpelt)

    - [`Generators(G): Grp → { GrpFinElt }`](operation.md#function-generators-grp)

    - [`NumberOfGenerators(G): Grp → RngIntElt`](operation.md#function-numberofgenerators-grp)

    - [`Ngens(G): Grp → RngIntElt`](operation.md#function-ngens-grp)

    - [`SmallestGeneratingSet(G: parameters): Grp → SetIndx`](operation.md#function-smallestgeneratingset-grp)

    - [`Generic(G): Grp → Grp`](operation.md#function-generic-grp)

    - [`Parent(g): GrpElt → Grp`](operation.md#function-parent-grpelt)

    - [`Example: Generators`](operation.md#example-ex-a47283)

    - [`Orbit(G, M, x): Grp, Any, Any → {Any}`](operation.md#function-orbit-grp-any-any)

    - [`OrbitClosure(G, M, S): Grp, Any, {Any} → Any`](operation.md#function-orbitclosure-grp-any-any)

  - [Names of Finite Groups](operation.md#names-of-finite-groups)

    - [`GroupName(G): Grp → MonStgElt`](operation.md#function-groupname-grp)

    - [`Example: Grp Groupname`](operation.md#example-ex-7a2387)

    - [`Group(s): MonStgElt → Grp`](operation.md#function-group-monstgelt)

    - [`Example: Grp Group`](operation.md#example-ex-06353f)

- [Operations on the Set of Elements](element.md)

  - [Order and Index Functions](element.md#order-and-index-functions)

    - [`Order(G): GrpFin → RngIntElt`](element.md#function-order-grpfin)

    - [`# G: GrpFin → RngIntElt`](element.md#operation-operation-grpfin-rngintelt)

    - [`FactoredOrder(G): GrpFin → [ <RngIntElt, RngIntElt> ]`](element.md#function-factoredorder-grpfin)

    - [`Index(G, H): GrpFin, GrpFin → RngIntElt`](element.md#function-index-grpfin-grpfin)

    - [`FactoredIndex(G, H): GrpFin, GrpFin → [ <RngIntElt, RngIntElt> ]`](element.md#function-factoredindex-grpfin-grpfin)

    - [`Example: Order`](element.md#example-ex-fd70fc)

  - [Membership and Equality](element.md#membership-and-equality)

    - [`g in G: GrpFinElt, GrpFin → BoolElt`](element.md#operation-op-in-grpfinelt-grpfin)

    - [`g notin G: GrpFinElt, GrpFin → BoolElt`](element.md#operation-op-notin-grpfinelt-grpfin)

    - [`S subset G: { GrpFinElt }, GrpFin → BoolElt`](element.md#operation-op-subset-grpfinelt-grpfin)

    - [`S notsubset G: { GrpFinElt }, GrpFin → BoolElt`](element.md#operation-operation-notsubset-grpfinelt-grpfin-boolelt)

    - [`H subset G: GrpFin, GrpFin → BoolElt`](element.md#operation-op-subset-grpfin-grpfin)

    - [`IsSubgroup(H,G): GrpFin, GrpFin → BoolElt`](element.md#function-issubgroup-grpfin-grpfin)

    - [`H notsubset G: GrpFin, GrpFin → BoolElt`](element.md#operation-operation-notsubset-grpfin-grpfin-boolelt)

    - [`H eq G: GrpFin, GrpFin → BoolElt`](element.md#operation-op-eq-grpfin-grpfin)

    - [`H ne G: GrpFin, GrpFin → BoolElt`](element.md#operation-op-ne-grpfin-grpfin)

  - [Set Operations](element.md#set-operations)

    - [`NumberingMap(G): GrpFin → Map`](element.md#function-numberingmap-grpfin)

    - [`Representative(G): GrpFin → GrpFinElt`](element.md#function-representative-grpfin)

    - [`Rep(G): GrpFin → GrpFinElt`](element.md#function-rep-grpfin)

    - [`Example: Set Operations`](element.md#example-ex-f73fa4)

  - [Random Elements](element.md#random-elements)

    - [`Random(G: parameters): GrpFin → GrpFinElt`](element.md#function-random-grpfin)

    - [`Example: Random Operations`](element.md#example-ex-79c950)

    - [`RandomProcess(G): GrpFin → Process`](element.md#function-randomprocess-grpfin)

    - [`RandomProcessWithWords(G): GrpFin → Process`](element.md#function-randomprocesswithwords-grpfin)

    - [`RandomProcessWithValues(G, Q): GrpFin, SeqEnum → Process`](element.md#function-randomprocesswithvalues-grpfin-seqenum)

    - [`RandomProcessWithWordsAndValues(G, Q): GrpFin, SeqEnum → Process`](element.md#function-randomprocesswithwordsandvalues-grpfin-seqenum)

    - [`Random(P): Process → GrpFinElt`](element.md#function-random-process)

    - [`Random(P): Process → GrpFinElt`](element.md#function-random-process-2)

    - [`InitialiseProspector(G:parameters): GrpMat`](element.md#function-initialiseprospector-grpmat)

    - [`InitialiseProspector(G:parameters): GrpPerm`](element.md#function-initialiseprospector-grpperm)

    - [`Prospector(G, f:parameters): Grp, UserProgram → BoolElt, GrpElt, GrpSLPElt`](element.md#function-prospector-grp-userprogram)

    - [`Example: Random Prospector`](element.md#example-ex-f1996a)

  - [Action on a Coset Space](element.md#action-on-a-coset-space)

    - [`CosetTable(G, H): GrpFin, GrpFin → Map`](element.md#function-cosettable-grpfin-grpfin)

    - [`CosetTable(G, f): GrpFin, Hom(GrpFin) → Hom(GrpFin)`](element.md#function-cosettable-grpfin-hom-grpfin)

    - [`Transversal(G, H): Grp, Grp → { @ GrpElt  @}, Map`](element.md#function-transversal-grp-grp)

    - [`RightTransversal(G, H): Grp, Grp → { @ GrpElt  @}, Map`](element.md#function-righttransversal-grp-grp)

    - [`CosetAction(G, H): Grp, Grp → Hom(Grp), GrpPerm, Grp`](element.md#function-cosetaction-grp-grp-2)

    - [`CosetImage(G, H): Grp, Grp → GrpPerm`](element.md#function-cosetimage-grp-grp-2)

    - [`CosetKernel(G, H): Grp, Grp → Grp`](element.md#function-cosetkernel-grp-grp-2)

- [Standard Subgroup Constructions](operation-subgroup.md)

  - [`H ^ g: GrpFin, GrpFinElt → GrpFin`](operation-subgroup.md#operation-op-pow-grpfin-grpfinelt)

  - [`Conjugate(H, g): GrpFin, GrpFinElt → GrpFin`](operation-subgroup.md#function-conjugate-grpfin-grpfinelt)

  - [`H meet K: GrpFin, GrpFin → GrpFin`](operation-subgroup.md#operation-op-meet-grpfin-grpfin)

  - [`CommutatorSubgroup(G, H, K): GrpFin, GrpFin, GrpFin → GrpFin`](operation-subgroup.md#function-commutatorsubgroup-grpfin-grpfin-grpfin)

  - [`CommutatorSubgroup(H, K): GrpFin, GrpFin → GrpFin`](operation-subgroup.md#function-commutatorsubgroup-grpfin-grpfin)

  - [`Centralizer(G, g): GrpFin, GrpFinElt → GrpFin`](operation-subgroup.md#function-centralizer-grpfin-grpfinelt)

  - [`Centraliser(G, g): GrpFin, GrpFinElt → GrpFin`](operation-subgroup.md#function-centraliser-grpfin-grpfinelt)

  - [`Centralizer(G, H): GrpFin, GrpFin → GrpFin`](operation-subgroup.md#function-centralizer-grpfin-grpfin)

  - [`Centraliser(G, H): GrpFin, GrpFin → GrpFin`](operation-subgroup.md#function-centraliser-grpfin-grpfin)

  - [`Core(G, H): GrpFin, GrpFin → GrpFin`](operation-subgroup.md#function-core-grpfin-grpfin)

  - [`H ^ G: GrpFin, GrpFin → GrpFin`](operation-subgroup.md#operation-op-pow-grpfin-grpfin)

  - [`NormalClosure(G, H): GrpFin, GrpFin → GrpFin`](operation-subgroup.md#function-normalclosure-grpfin-grpfin)

  - [`Normalizer(G, H): GrpFin, GrpFin → GrpFin`](operation-subgroup.md#function-normalizer-grpfin-grpfin)

  - [`Normaliser(G, H): GrpFin, GrpFin → GrpFin`](operation-subgroup.md#function-normaliser-grpfin-grpfin)

  - [`pCore(G, p): GrpFin, RngIntElt → GrpFin`](operation-subgroup.md#function-pcore-grpfin-rngintelt)

  - [`SylowSubgroup(G, p): GrpFin, RngIntElt → GrpFin`](operation-subgroup.md#function-sylowsubgroup-grpfin-rngintelt)

  - [`Sylow(G, p): GrpFin, RngIntElt → GrpFin`](operation-subgroup.md#function-sylow-grpfin-rngintelt)

  - [Abstract Group Predicates](operation-subgroup.md#abstract-group-predicates)

    - [`IsAbelian(G): GrpFin → BoolElt`](operation-subgroup.md#function-isabelian-grpfin)

    - [`IsCyclic(G): GrpFin → BoolElt`](operation-subgroup.md#function-iscyclic-grpfin)

    - [`IsElementaryAbelian(G): GrpFin → BoolElt`](operation-subgroup.md#function-iselementaryabelian-grpfin)

    - [`IsCentral(G, H): GrpFin, GrpFin → BoolElt`](operation-subgroup.md#function-iscentral-grpfin-grpfin)

    - [`IsConjugate(G, g, h): GrpFin, GrpFinElt, GrpFinElt → BoolElt, GrpFinElt`](operation-subgroup.md#function-isconjugate-grpfin-grpfinelt-grpfinelt)

    - [`IsConjugate(G, H, K): GrpFin, GrpFin, GrpFin → BoolElt, GrpFinElt`](operation-subgroup.md#function-isconjugate-grpfin-grpfin-grpfin)

    - [`IsExtraSpecial(G): GrpFin → BoolElt`](operation-subgroup.md#function-isextraspecial-grpfin)

    - [`IsHyperelementary(G): Grp → BoolElt, Grp, Grp`](operation-subgroup.md#function-ishyperelementary-grp)

    - [`Example: Grp Ishyperelementary`](operation-subgroup.md#example-ex-d7354f)

    - [`IsMaximal(G, H): GrpFin, GrpFin → BoolElt`](operation-subgroup.md#function-ismaximal-grpfin-grpfin)

    - [`IsNilpotent(G): GrpFin → BoolElt`](operation-subgroup.md#function-isnilpotent-grpfin)

    - [`IsNormal(G, H): GrpFin, GrpFin → BoolElt`](operation-subgroup.md#function-isnormal-grpfin-grpfin)

    - [`IsPerfect(G): GrpFin → BoolElt`](operation-subgroup.md#function-isperfect-grpfin)

    - [`IsQGroup(G): Grp → BoolElt`](operation-subgroup.md#function-isqgroup-grp)

    - [`Example: Grp Isqgroup`](operation-subgroup.md#example-ex-694ffe)

    - [`IsSelfNormalizing(G, H): GrpFin, GrpFin → BoolElt`](operation-subgroup.md#function-isselfnormalizing-grpfin-grpfin)

    - [`IsSelfNormalising(G, H): GrpFin, GrpFin → BoolElt`](operation-subgroup.md#function-isselfnormalising-grpfin-grpfin)

    - [`IsSimple(G): GrpFin → BoolElt`](operation-subgroup.md#function-issimple-grpfin)

    - [`IsSoluble(G): GrpFin → BoolElt`](operation-subgroup.md#function-issoluble-grpfin)

    - [`IsSolvable(G): GrpFin → BoolElt`](operation-subgroup.md#function-issolvable-grpfin)

    - [`IsSpecial(G): GrpFin → BoolElt`](operation-subgroup.md#function-isspecial-grpfin)

    - [`IsAbstractFrobeniusGroup(G): GrpFin → BoolElt, Grp, Grp`](operation-subgroup.md#function-isabstractfrobeniusgroup-grpfin)

    - [`IsSubnormal(G, H): GrpFin, GrpFin → BoolElt`](operation-subgroup.md#function-issubnormal-grpfin-grpfin)

    - [`IsTrivial(G): Grp → BoolElt`](operation-subgroup.md#function-istrivial-grp)

- [Characteristic Subgroups and Normal Structure](characteristic-subgroup-normal-structure.md)

  - [Characteristic Subgroups and Subgroup Series](characteristic-subgroup-normal-structure.md#characteristic-subgroups-and-subgroup-series)

    - [`Centre(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-centre-grpfin)

    - [`Center(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-center-grpfin)

    - [`Hypercentre(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-hypercentre-grpfin)

    - [`Hypercenter(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-hypercenter-grpfin)

    - [`DerivedLength(G): GrpFin → RngIntElt`](characteristic-subgroup-normal-structure.md#function-derivedlength-grpfin)

    - [`DerivedSeries(G): GrpFin → [ GrpFin ]`](characteristic-subgroup-normal-structure.md#function-derivedseries-grpfin)

    - [`DerivedSubgroup(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-derivedsubgroup-grpfin)

    - [`DerivedGroup(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-derivedgroup-grpfin)

    - [`FittingSubgroup(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-fittingsubgroup-grpfin)

    - [`FrattiniSubgroup(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-frattinisubgroup-grpfin)

    - [`JenningsSeries(G): GrpFin → [ GrpFin ]`](characteristic-subgroup-normal-structure.md#function-jenningsseries-grpfin)

    - [`LowerCentralSeries(G): GrpFin → [ GrpFin ]`](characteristic-subgroup-normal-structure.md#function-lowercentralseries-grpfin)

    - [`NilpotencyClass(G): GrpFin → RngIntElt`](characteristic-subgroup-normal-structure.md#function-nilpotencyclass-grpfin)

    - [`H ^ G: GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#operation-op-pow-grpfin)

    - [`NormalClosure(G, H): GrpFin, GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-normalclosure-grpfin-grpfin-2)

    - [`NormalLattice(G): GrpFin → NormalLattice`](characteristic-subgroup-normal-structure.md#function-normallattice-grpfin)

    - [`NormalSubgroups(G): GrpFin → [ Rec ]`](characteristic-subgroup-normal-structure.md#function-normalsubgroups-grpfin)

    - [`pCentralSeries(G, p): GrpFin, RngIntElt → [ GrpFin ]`](characteristic-subgroup-normal-structure.md#function-pcentralseries-grpfin-rngintelt)

    - [`Radical(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-radical-grpfin)

    - [`SolubleResidual(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-solubleresidual-grpfin)

    - [`SolvableResidual(G): GrpFin → GrpFin`](characteristic-subgroup-normal-structure.md#function-solvableresidual-grpfin)

    - [`SubnormalSeries(G, H): GrpFin, GrpFin → [ GrpFin ]`](characteristic-subgroup-normal-structure.md#function-subnormalseries-grpfin-grpfin)

    - [`UpperCentralSeries(G): GrpFin → [ GrpFin ]`](characteristic-subgroup-normal-structure.md#function-uppercentralseries-grpfin)

  - [The Abstract Structure of a Group](characteristic-subgroup-normal-structure.md#the-abstract-structure-of-a-group)

    - [`CompositionFactors(G): GrpFin → [ <RngIntElt, RngIntElt, RngIntElt> ]`](characteristic-subgroup-normal-structure.md#function-compositionfactors-grpfin)

    - [`PrimaryAbelianInvariants(G): GrpFin → [ RngIntElt ]`](characteristic-subgroup-normal-structure.md#function-primaryabelianinvariants-grpfin)

    - [`AbelianInvariants(G): GrpFin → [ RngIntElt ]`](characteristic-subgroup-normal-structure.md#function-abelianinvariants-grpfin)

    - [`PrimaryAbelianBasis(G): GrpFin → [ GrpFinElt ], [ RngIntElt ]`](characteristic-subgroup-normal-structure.md#function-primaryabelianbasis-grpfin)

    - [`AbelianBasis(G): GrpFin → [ GrpFinElt ], [ RngIntElt ]`](characteristic-subgroup-normal-structure.md#function-abelianbasis-grpfin)

- [Conjugacy Classes of Elements](conjugate.md)

  - [`Class(H, x): GrpFin, GrpFinElt → { GrpFinElt }`](conjugate.md#function-class-grpfin-grpfinelt)

  - [`Conjugates(H, x): GrpFin, GrpFinElt → { GrpFinElt }`](conjugate.md#function-conjugates-grpfin-grpfinelt)

  - [`ClassMap(G: parameters): GrpFin → Map`](conjugate.md#function-classmap-grpfin)

  - [`ConjugacyClasses(G: parameters): GrpFin → [ <RngIntElt, RngIntElt, GrpFinElt> ]`](conjugate.md#function-conjugacyclasses-grpfin)

  - [`Classes(G: parameters): GrpFin → [ <RngIntElt, RngIntElt, GrpFinElt> ]`](conjugate.md#function-classes)

  - [`ClassesData(G: parameters): GrpFin → [ <RngIntElt, RngIntElt> ]`](conjugate.md#function-classesdata-grpfin)

  - [`ClassRepresentative(G, x): GrpFin, GrpFinElt → GrpFinElt`](conjugate.md#function-classrepresentative-grpfin-grpfinelt)

  - [`IsConjugate(G, g, h): GrpFin, GrpFinElt, GrpFinElt → BoolElt, GrpFinElt`](conjugate.md#function-isconjugate-grpfin-grpfinelt-grpfinelt-2)

  - [`IsConjugate(G, H, K): GrpFin, GrpFin, GrpFin → BoolElt, GrpFinElt`](conjugate.md#function-isconjugate-grpfin-grpfin-grpfin-2)

  - [`Exponent(G): GrpFin → RngIntElt`](conjugate.md#function-exponent-grpfin)

  - [`NumberOfClasses(G): GrpFin → RngIntElt`](conjugate.md#function-numberofclasses-grpfin)

  - [`Nclasses(G): GrpFin → RngIntElt`](conjugate.md#function-nclasses-grpfin)

  - [`PowerMap(G): GrpFin → Map`](conjugate.md#function-powermap-grpfin)

  - [`Example: Classes`](conjugate.md#example-ex-63376d)

- [Conjugacy Classes of Subgroups](subgroup.md)

  - [Conjugacy Classes of Subgroups](subgroup.md#id1)

    - [`SubgroupClasses(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-subgroupclasses-grpfin)

    - [`Subgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-subgroups-grpfin)

    - [`Subgroups(G, N: parameters): GrpFin, GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-subgroups-grpfin-grpfin)

    - [`ElementaryAbelianSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-elementaryabeliansubgroups-grpfin)

    - [`AbelianSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-abeliansubgroups-grpfin)

    - [`CyclicSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-cyclicsubgroups-grpfin)

    - [`NilpotentSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-nilpotentsubgroups-grpfin)

    - [`SolubleSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-solublesubgroups-grpfin)

    - [`SolvableSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-solvablesubgroups-grpfin)

    - [`NonsolvableSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-nonsolvablesubgroups-grpfin)

    - [`PerfectSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-perfectsubgroups-grpfin)

    - [`SimpleSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-simplesubgroups-grpfin)

    - [`RegularSubgroups(G: parameters): GrpFin → [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]`](subgroup.md#function-regularsubgroups-grpfin)

    - [`SetVerbose("SubgroupLattice", i): MonStgElt, RngIntElt`](subgroup.md#function-setverbose-monstgelt-rngintelt)

    - [`Class(G, H): GrpFin, GrpFin → { GrpFin }`](subgroup.md#function-class-grpfin-grpfin)

    - [`Conjugates(G, H): GrpFin, GrpElt → { GrpElt }`](subgroup.md#function-conjugates-grpfin-grpelt)

    - [`Example: Subgroups`](subgroup.md#example-ex-ca0e1e)

  - [The Poset of Subgroup Classes](subgroup.md#the-poset-of-subgroup-classes)

    - [Creating the Poset of Subgroup Classes](subgroup.md#creating-the-poset-of-subgroup-classes)

      - [`SubgroupLattice(G): GrpFin → SubGrpLat`](subgroup.md#function-subgrouplattice-grpfin)

      - [`Example: Create Subgroup Poset`](subgroup.md#example-ex-c15cda)

    - [Operations on Subgroup Class Posets](subgroup.md#operations-on-subgroup-class-posets)

      - [`# L: SubGrpLat → RngIntElt`](subgroup.md#operation-operation-subgrplat-rngintelt)

      - [`L ! i: SubGrpLat, RngIntElt → SubGrpLatElt`](subgroup.md#operation-op-subgrplat-rngintelt)

      - [`L ! H: SubGrpLat, GrpFin → SubGrpLatElt`](subgroup.md#operation-op-subgrplat-grpfin)

      - [`Bottom(L): SubGrpLat → SubGrpLatElt`](subgroup.md#function-bottom-subgrplat)

      - [`Top(L): SubGrpLat → SubGrpLatElt`](subgroup.md#function-top-subgrplat)

      - [`Random(L): SubGrpLat → SubGrpLatElt`](subgroup.md#function-random-subgrplat)

      - [`Example: Lattice Operations`](subgroup.md#example-ex-b91cf9)

    - [Operations on Poset Elements](subgroup.md#operations-on-poset-elements)

      - [`IntegerRing() ! e: SubGrpLatElt → RngIntElt`](subgroup.md#literal-integerring-subgrplatelt)

      - [`e eq f: SubGrpLatElt, SubGrpLatElt → SubGrpLatElt`](subgroup.md#operation-op-eq-subgrplatelt-subgrplatelt)

      - [`e ge f: SubGrpLatElt, SubGrpLatElt → BoolElt`](subgroup.md#operation-op-ge-subgrplatelt-subgrplatelt)

      - [`e ge f: SubGrpLatElt, SubGrpLatElt → BoolElt`](subgroup.md#operation-op-ge-subgrplatelt-subgrplatelt-2)

      - [`e le f: SubGrpLatElt, SubGrpLatElt → BoolElt`](subgroup.md#operation-op-le-subgrplatelt-subgrplatelt)

      - [`e subset f: SubGrpLatElt, SubGrpLatElt → SubGrpLatElt`](subgroup.md#operation-op-subset-subgrplatelt-subgrplatelt)

      - [`e lt f: SubGrpLatElt, SubGrpLatElt → BoolElt`](subgroup.md#operation-op-lt-subgrplatelt-subgrplatelt)

    - [Class Information from a Conjugacy Class Poset](subgroup.md#class-information-from-a-conjugacy-class-poset)

      - [`Group(e): SubGrpLatElt → GrpFin`](subgroup.md#function-group-subgrplatelt)

      - [`Centraliser(e, f): SubGrpLatElt, SubGrpLatElt → SubGrpLatElt`](subgroup.md#function-centraliser-subgrplatelt-subgrplatelt)

      - [`Centralizer(e, f): SubGrpLatElt, SubGrpLatElt → SubGrpLatElt`](subgroup.md#function-centralizer-subgrplatelt-subgrplatelt)

      - [`Normaliser(e, f): SubGrpLatElt, SubGrpLatElt → SubGrpLatElt`](subgroup.md#function-normaliser-subgrplatelt-subgrplatelt)

      - [`Normalizer(e, f): SubGrpLatElt, SubGrpLatElt → SubGrpLatElt`](subgroup.md#function-normalizer-subgrplatelt-subgrplatelt)

      - [`Length(e): SubGrpLatElt → RngIntElt`](subgroup.md#function-length-subgrplatelt)

      - [`Order(e): SubGrpLatElt → RngIntElt`](subgroup.md#function-order-subgrplatelt)

      - [`MaximalSubgroups(e): SubGrpLatElt → { SubGrpLatElt }`](subgroup.md#function-maximalsubgroups-subgrplatelt)

      - [`MinimalOvergroups(e): SubGrpLatElt → { SubGrpLatElt }`](subgroup.md#function-minimalovergroups-subgrplatelt)

      - [`NumberOfInclusions(e, f): SubGrpLatElt, SubGrpLatElt → RngIntElt`](subgroup.md#function-numberofinclusions-subgrplatelt-subgrplatelt)

- [All Subgroups and Intermediate Subgroups](all-subgroups.md)

  - [`AllSubgroups(G): GrpFin → [ SeqEnum ]`](all-subgroups.md#function-allsubgroups-grpfin)

  - [`MinimalOvergroups(G,H): GrpFin, GrpFin → [ SeqEnum ]`](all-subgroups.md#function-minimalovergroups-grpfin-grpfin)

  - [`IntermediateSubgroups(G,H: parameters): GrpFin, GrpFin → [ SeqEnum ]`](all-subgroups.md#function-intermediatesubgroups-grpfin-grpfin)

- [Cohomology](cohomology.md)

  - [`pMultiplicator(G, p): GrpFin, RngIntElt → [ RngIntElt ]`](cohomology.md#function-pmultiplicator-grpfin-rngintelt)

  - [`pCover(G, F, p): GrpPerm, GrpFP, RngIntElt → GrpFinFP`](cohomology.md#function-pcover-grpperm-grpfp-rngintelt)

  - [`CohomologicalDimension(G, M, i): GrpFin, ModRng, RngIntElt → RngIntElt`](cohomology.md#function-cohomologicaldimension-grpfin-modrng-rngintelt)

  - [`ExtensionProcess(G, M, F): GrpPerm, ModRng, GrpFP → GrpFPExtProc`](cohomology.md#function-extensionprocess-grpperm-modrng-grpfp)

  - [`Extension(P, Q): Process → GrpFinFP`](cohomology.md#function-extension-process)

  - [`NextExtension(P): Process → GrpFinFP`](cohomology.md#function-nextextension-process)

  - [`SplitExtension(G, M, F): GrpPerm, ModRng, GrpFP → GrpFP`](cohomology.md#function-splitextension-grpperm-modrng-grpfp)

- [Characters and Representations](character-representation.md)

  - [Character Theory](character-representation.md#character-theory)

    - [`CharacterDegrees(G): GrpPC → [ Tup ]`](character-representation.md#function-characterdegrees-grppc)

    - [`CharacterTable(G): GrpFin → TabChtr`](character-representation.md#function-charactertable-grpfin)

    - [`PermutationCharacter(G): GrpPerm → AlgChtrElt`](character-representation.md#function-permutationcharacter-grpperm)

    - [`PermutationCharacter(G, H): GrpFin, GrpFin → AlgChtrElt`](character-representation.md#function-permutationcharacter-grpfin-grpfin)

    - [`BurnsideCokernel(G): Grp → GrpAb, UserProgram, SeqEnum[AlgChtrElt]`](character-representation.md#function-burnsidecokernel-grp)

    - [`Example: Grp Burnsidecokernel`](character-representation.md#example-ex-79dcca)

  - [Representation Theory](character-representation.md#representation-theory)

    - [`GModule(G, S): GrpFin, AlgMat → ModGrpFin`](character-representation.md#function-gmodule-grpfin-algmat)

    - [`GModule(G, A, B): GrpFin, GrpFin, GrpFin → ModGrpFin, Map`](character-representation.md#function-gmodule-grpfin-grpfin-grpfin)

    - [`PermutationModule(G, H, R): GrpFin, GrpFin, Rng → ModGrpFin`](character-representation.md#function-permutationmodule-grpfin-grpfin-rng)

    - [`PermutationModule(G, R): GrpPerm, Rng → ModGrpFin`](character-representation.md#function-permutationmodule-grpperm-rng)

    - [`Example: Modules`](character-representation.md#example-ex-652230)

    - [`Example: Modules 2`](character-representation.md#example-ex-36abf4)

- [Databases of Groups](databases.md)
