Elementary Properties of a Group#
Accessing Group Information#
The functions in this group provide access to basic information stored for a permutation group \(G\).
- G . i: GrpPerm, RngIntElt -> GrpPermElt#
The \(i\)-th defining generator for \(G\). A negative subscript indicates that the inverse of the generator is to be created. The identity element of \(G\) will be created by
G.0.
- Degree(G): GrpPermElt -> RngIntElt#
The degree of the permutation group \(G\).
- Generators(G): GrpPerm -> { GrpPermElt }#
A set of elements of \(G\) that generate \(G\).
- GeneratorsSequence(G): GrpPerm -> [ GrpPermElt ]#
The sequence of elements used to define the group \(G\). Any occurrences of the identity element or any repetitions of a generator, as removed by
Generators(G), are retained in this sequence. This function has the same effect as the expression[G.i : i in [1..Ngens(G)]].
- NumberOfGenerators(G): GrpPerm -> RngIntElt#
- Ngens(G): GrpPerm -> RngIntElt#
The number of defining generators for \(G\).
- FewGenerators(G): GrpPerm -> [GrpPermElt]#
A typically short sequence of random elements generating the group. Especially when groups are generated as subgroups, the result of
FewGeneratorsis a much shorter sequence than returned byGeneratorsSequence.
- Generic(G): GrpPerm -> GrpPerm#
The generic group containing \(G\), i.e. the symmetric group in which \(G\) is naturally embedded.
- Parent(g): GrpPermElt -> GrpPerm#
The parent group \(G\) for the permutation \(g\).
- GSet(G): GrpPerm -> GSet#
The natural \(G\)-set for the permutation group \(G\).
- Example: Basic Access (ex-e70b28)#
Consider the group \(G\) of order \(648\) generated by the permutations (1,6,7)(2,5,8,3,4,9)(11,12) and (1,3)(4,9,12)(5,8,10,6,7,11).
> G := PermutationGroup< 12 | (1,6,7)(2,5,8,3,4,9)(11,12), > (1,3)(4,9,12)(5,8,10,6,7,11) >; > G; Permutation group G acting on a set of cardinality 12 (1, 6, 7)(2, 5, 8, 3, 4, 9)(11, 12) (1, 3)(4, 9, 12)(5, 8, 10, 6, 7, 11) > G.1; (1, 6, 7)(2, 5, 8, 3, 4, 9)(11, 12) > G.1*G.2; (1, 7, 3, 9, 2, 8)(4, 12, 5, 10, 6, 11) > Degree(G); 12 > GSet(G); GSet{@ 1 .. 12 @} > Generic(G); Symmetric group acting on a set of cardinality 12 Order = 479001600 = 2^10 * 3^5 * 5^2 * 7 * 11 > Generators(G); { (1, 6, 7)(2, 5, 8, 3, 4, 9)(11, 12), (1, 3)(4, 9, 12)(5, 8, 10, 6, 7, 11) } > Ngens(G); 2 > x := G ! (1,6,7)(2,5,8,3,4,9)(11,12); > x; (1, 6, 7)(2, 5, 8, 3, 4, 9)(11, 12) > Parent(x); Permutation group G acting on a set of cardinality 12 Order = 648 = 2^3 * 3^4 (1, 6, 7)(2, 5, 8, 3, 4, 9)(11, 12) (1, 3)(4, 9, 12)(5, 8, 10, 6, 7, 11) ]
Group Order#
Unless the order is already known, each of the functions in this family will create a base and strong generating set for the group if one does not already exist.
- Order(G): GrpPerm -> RngIntElt#
- # G: GrpPerm -> RngIntElt#
The order of the group \(G\) as an integer. If the order is not currently known, a base and strong generating set will be constructed for \(G\).
- FactoredOrder(G): GrpPerm -> [ <RngIntElt, RngIntElt> ]#
The order of the group \(G\) returned as a factored integer. The factorization is returned in the form of a sequence \(Q\) which is defined as follows: If \(\# G = p_1^{e_1}\ldots p_n^{e_n}, \quad e_i \neq 0\), then \(Q\) will be the integer sequence \([ <p_1, e_1>, \ldots, <p_n, e_n> ]\). If the order of \(G\) is not known, it will be computed.
Abstract Properties of a Group#
- IsAbelian(G): GrpPerm -> BoolElt#
Returns
trueif the group \(G\) is abelian,falseotherwise.
- IsCyclic(G): GrpPerm -> BoolElt#
Returns
trueif the group \(G\) is cyclic,falseotherwise.
- IsElementaryAbelian(G): GrpPerm -> BoolElt#
Returns
trueif the group \(G\) is elementary abelian,falseotherwise.
- IsSpecial(G): GrpPerm -> BoolElt#
Given a \(p\)-group \(G\), return
trueif \(G\) is special,falseotherwise.
- IsExtraSpecial(G): GrpPerm -> BoolElt#
Given a group \(G\) is a \(p\)-group \(G\), return
trueif \(G\) is extra-special,falseotherwise.
- IsNilpotent(G): GrpPerm -> BoolElt#
Returns
trueif the group \(G\) is nilpotent,falseotherwise.
- IsSoluble(G): GrpPerm -> BoolElt#
- IsSolvable(G): GrpPerm -> BoolElt#
Returns
trueif the group \(G\) is soluble,falseotherwise. Uses the algorithm of Sims [Sims, 1990].
- IsPerfect(G): GrpPerm -> BoolElt#
Returns
trueif the group \(G\) is perfect,falseotherwise.
- IsSimple(G): GrpPerm -> BoolElt#
Returns
trueif the group \(G\) is simple,falseotherwise.
- IsWreathProduct(G): GrpPerm -> BoolElt, GrpPerm, GrpPerm, GrpPerm#
Returns
trueif the group \(G\) is isomorphic to a wreath product \(A \wr B\), where \(B\) is transitive, andfalseotherwise. If true, then three subgroups of \(G\), call them \(A\), \(B\), \(C\), are also returned. In this case we have \(G\) isomorphic toWreathProduct(A, CosetImage(B, C)).
- Example: Basic Properties (ex-c8fc8b)#
We determine the orders of those subgroups of the Mathieu group \(M_{24}\) which are perfect but not simple. We use the function
PerfectSubgroupswhich returns a representative from each conjugacy class of perfect subgroups.> load m24; Loading "/home/magma/libs/pergps/m24" M24 - Mathieu group on 24 letters - degree 24 Order 244 823 040 = 2^10 * 3^3 * 5 * 7 * 11 * 23; Base 1,2,3,4,5,6,7 Group: G > time S := PerfectSubgroups(G); Time: 29.460 > [ Order(H) : R in S | not IsSimple(H) where H := R`subgroup ]; [ 120, 120, 120, 180, 180, 240, 240, 336, 336, 336, 336, 504, 720, 1008, 1080, 960, 960, 960, 1344, 1344, 1344, 1920, 2688, 2688, 2688, 2688, 2688, 2880, 3840, 3840, 5760, 10752, 11520, 11520, 40320, 21504, 21504, 32256, 64512, 69120, 322560 ]