Standard Subgroup Constructions#
Some functions described in this section may not exist or may have restrictions for some categories of groups. Details can be found in the chapters on the individual categories.
- H ^ g: GrpFin, GrpFinElt -> GrpFin#
- Conjugate(H, g): GrpFin, GrpFinElt -> GrpFin#
Construct the conjugate \(g^{-1}Hg\) of the group \(H\) by the element \(g\). The group \(H\) and the element \(g\) must belong to the same generic group.
- H meet K: GrpFin, GrpFin -> GrpFin#
Given groups \(H\) and \(K\) which belong to the same symmetric group, construct the intersection of \(H\) and \(K\).
- CommutatorSubgroup(G, H, K): GrpFin, GrpFin, GrpFin -> GrpFin#
- CommutatorSubgroup(H, K): GrpFin, GrpFin -> GrpFin#
Given groups \(H\) and \(K\), both subgroups of the group \(G\), construct the commutator subgroup of \(H\) and \(K\) in the group \(G\). If \(K\) is a subgroup of \(H\), then the group \(G\) may be omitted.
- Centralizer(G, g): GrpFin, GrpFinElt -> GrpFin#
- Centraliser(G, g): GrpFin, GrpFinElt -> GrpFin#
Construct the centralizer of the element \(g\) in the group \(G\).
- Centralizer(G, H): GrpFin, GrpFin -> GrpFin#
- Centraliser(G, H): GrpFin, GrpFin -> GrpFin#
Construct the centralizer of the group \(H\) in the group \(G\).
- Core(G, H): GrpFin, GrpFin -> GrpFin#
Given a subgroup \(H\) of the group \(G\), construct the maximal normal subgroup of \(G\) that is contained in the subgroup \(H\).
- H ^ G: GrpFin, GrpFin -> GrpFin#
- NormalClosure(G, H): GrpFin, GrpFin -> GrpFin#
Given a subgroup \(H\) of the group \(G\), construct the normal closure of \(H\) in \(G\).
- Normalizer(G, H): GrpFin, GrpFin -> GrpFin#
- Normaliser(G, H): GrpFin, GrpFin -> GrpFin#
Given a subgroup \(H\) of the group \(G\), construct the normalizer of \(H\) in \(G\).
- pCore(G, p): GrpFin, RngIntElt -> GrpFin#
Given a group \(G\) and a prime \(p\) dividing the order of \(G\), construct the maximal normal \(p\)-subgroup of \(G\).
- SylowSubgroup(G, p): GrpFin, RngIntElt -> GrpFin#
- Sylow(G, p): GrpFin, RngIntElt -> GrpFin#
Given a group \(G\) and a prime \(p\), construct a Sylow \(p\)-subgroup of \(G\).
Abstract Group Predicates#
Some functions described in this section may not exist or may have restrictions for some categories of groups. Details can be found in the chapters on the individual categories.
- IsAbelian(G): GrpFin -> BoolElt#
Returns
trueif the group \(G\) is abelian,falseotherwise.
- IsCyclic(G): GrpFin -> BoolElt#
Returns
trueif the group \(G\) is cyclic,falseotherwise.
- IsElementaryAbelian(G): GrpFin -> BoolElt#
Returns
trueif the group \(G\) is elementary abelian,falseotherwise.
- IsCentral(G, H): GrpFin, GrpFin -> BoolElt#
Return
trueif the subgroup \(H\) of the group \(G\) lies in the centre of \(G\),falseotherwise.
- IsConjugate(G, g, h): GrpFin, GrpFinElt, GrpFinElt -> BoolElt, GrpFinElt#
Given a group \(G\) and elements \(g\) and \(h\) belonging to \(G\), return the value
trueif \(g\) and \(h\) are conjugate in \(G\). The function returns a second value if the elements are conjugate: an element \(k\) which conjugates \(g\) into \(h\). For permutation groups it is sufficient that \(G\), \(g\) and \(h\) have a common covering group.
- IsConjugate(G, H, K): GrpFin, GrpFin, GrpFin -> BoolElt, GrpFinElt#
Given a group \(G\) and subgroups \(H\) and \(K\) belonging to \(G\), return the value
trueif \(H\) and \(K\) are conjugate in \(G\). The function returns a second value if the subgroups are conjugate: an element \(z\) which conjugates \(H\) into \(K\). For permutation groups it is sufficient that \(G\), \(H\) and \(K\) have a common covering group.
- IsExtraSpecial(G): GrpFin -> BoolElt#
Given a group \(G\) is a \(p\)-group \(G\), return
trueif \(G\) is extra-special,falseotherwise.
- IsHyperelementary(G): Grp -> BoolElt, Grp, Grp#
p: RngIntElt Default: 0
Test if \(G\) is a finite hyperelementary (=quasi-elementary) group, that is a semi-direct product \(G=C:P\) with \(C\) cyclic and \(P\) a \(p\)-group of order coprime to \(C\). If yes, returns
true, \(C\), \(P\). Otherwise returnsfalse. The prime number \(p\) can be forced with an optional parameter \(p\) (\(0\) by default).
- Example: Grp Ishyperelementary (ex-d7354f)#
> ok,C,P:=IsHyperelementary(Sym(3)); // S3=C3:C2 is hyperelementary > ok,GroupName(C),GroupName(P); true C3 C2 > ok,C,P:=IsHyperelementary(Sylow(Sym(6),2)); // So is any p-group > ok,GroupName(C),GroupName(P); true C1 C2*D4 > IsHyperelementary(Sym(4)); // S4 is not hyperelementary false
- IsMaximal(G, H): GrpFin, GrpFin -> BoolElt#
Returns
trueif the subgroup \(H\) of the group \(G\) is a maximal subgroup of \(G\). This function is evaluated by constructing the permutation representation of \(G\) on the cosets of \(H\) and testing this representation for primitivity. For this reason, the use ofIsMaximalshould be avoided if the index of \(H\) in \(G\) exceeds a one hundred thousand.
- IsNilpotent(G): GrpFin -> BoolElt#
Return
trueif the group \(G\) is nilpotent,falseotherwise.
- IsNormal(G, H): GrpFin, GrpFin -> BoolElt#
Return
trueif the subgroup \(H\) of the group \(G\) is a normal subgroup of \(G\),falseotherwise.
- IsPerfect(G): GrpFin -> BoolElt#
Return
trueif the group \(G\) is perfect,falseotherwise.
- IsQGroup(G): Grp -> BoolElt#
Returns
trueif the group \(G\) is a \({\mathbb{Q}}\)-group (all characters are rational-valued).
- Example: Grp Isqgroup (ex-694ffe)#
> IsQGroup(Sym(4)); // Symmetric groups S_n are Q-groups true > IsQGroup(Alt(4)); // and alternating groups A_n are not (for n>2) false
- IsSelfNormalizing(G, H): GrpFin, GrpFin -> BoolElt#
- IsSelfNormalising(G, H): GrpFin, GrpFin -> BoolElt#
Return
trueif the subgroup \(H\) of the group \(G\) is self-normalizing in \(G\),falseotherwise.
- IsSimple(G): GrpFin -> BoolElt#
Return
trueif the group \(G\) is simple,falseotherwise.
- IsSoluble(G): GrpFin -> BoolElt#
- IsSolvable(G): GrpFin -> BoolElt#
Return
trueif the group \(G\) is soluble,falseotherwise.
- IsSpecial(G): GrpFin -> BoolElt#
Given a \(p\)-group \(G\), return
trueif \(G\) is special,falseotherwise.
- IsAbstractFrobeniusGroup(G): GrpFin -> BoolElt, Grp, Grp#
Is the finite group \(G\) a Frobenius group as an abstract group? Equivalently, does there exist a faithful permutation representation of \(G\) for which the image is a Frobenius group as a permutation group? If so, then return
true, a Frobenius kernel, and a corresponding Frobenius complement; otherwise returnfalse.
- IsSubnormal(G, H): GrpFin, GrpFin -> BoolElt#
Return
trueif the subgroup \(H\) of the group \(G\) is subnormal in \(G\),falseotherwise.
- IsTrivial(G): Grp -> BoolElt#
Return
trueif \(G\) is trivial,falseotherwise.