Magma contains a new algorithm for computing representatives of the conjugacy classes of subgroups. Let R denote the maximal normal soluble subgroup of the finite group G. The algorithm first constructs representatives for the conjugacy classes of subgroups of Q = G/R, and then successively extends these to larger and larger quotients of G until G itself is reached. If G is soluble, then Q is trivial and so its subgroups are known. If G is non-soluble, the quotient Q is identified in a database containing subgroup information for all groups up to some fixed order n that have trivial Fitting subgroup. Its subgroups are read from the database to provide the "seeds" for the extension process. At present, the database contains all groups with trivial Fitting subgroup of order up to 216,000. Thus, for Magma to compute the subgroups of G, the quotient of G by its radical must have order not exceeding 216,000.
In this section we describe the functions that allow a user to create
representatives of the conjugacy classes of subgroups, possibly subject
to conditions. The main function, Subgroups, finds representatives
for conjugacy classes of subgroups subject to certain user-supplied
conditions on the order. The alternative functions
ElementaryAbelianSubgroups and AbelianSubgroups,
CyclicSubgroups, NilpotentSubgroups, SolubleSubgroups,
PerfectSubgroups, NonsolvableSubgroups, SimpleSubgroups
and RegularSubgroups allow the user to construct particular
classes of subgroups.
SubgroupClasses(G: parameters) : GrpFin -> [ rec< Grp, RngIntElt, RngIntElt, GrpFP> ]
Representatives for the conjugacy classes of subgroups for the group G. The subgroups are returned as a sequence of records where the i-th record contains:
- A representative subgroup H for the i-th conjugacy class (field name subgroup).
- The order of the subgroup (field name order).
- The number of subgroups in the class (field name length).
- [Optionally] A presentation for H (field name presentation).
Presentation: BoolElt Default: falsePresentation := true: In the case in which G is a permutation group, construct a presentation for each subgroup.
OrderEqual: RngIntElt Default:OrderEqual := n: Only construct subgroups having order equal to n.
OrderDividing: RngIntElt Default:OrderDividing := n: Only construct subgroups having order dividing n.
IsNormal: BoolElt Default: falseIsNormal := true: Only construct normal subgroups.
IsRegular: BoolElt Default: falseIsRegular := true: In the case in which G is a permutation group, only construct regular subgroups.
Representatives for the conjugacy classes of elementary abelian subgroups for the group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Representatives for the conjugacy classes of abelian subgroups for the group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Representatives for the conjugacy classes of cyclic subgroups for the group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Representatives for the conjugacy classes of nilpotent subgroups for the group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Representatives for the conjugacy classes of solvable subgroups for the group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Representatives for the conjugacy classes of nonsolvable subgroups for the group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Representatives for the conjugacy classes of perfect subgroups for the group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Representatives for the conjugacy classes of non-abelian simple subgroups for the group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Representatives for the conjugacy classes of regular subgroups for the permutation group G. The subgroups are returned as a sequence of records having the same format as Subgroups. The optional parameters are also the same as for Subgroups.
Turn on verbose printing for the subgroup algorithm. The level i can be 2 for maximal printing or 1 for moderate printing. The algorithm works down an elementary abelian series of the group and at each level, the possible extensions of each subgroup are listed.
The G-conjugacy class of subgroups containing the group H.
> G := DihedralGroup(6); > S := Subgroups(G); > S; Conjugacy classes of subgroups ------------------------------[ 1] Order 1 Length 1 Permutation group acting on a set of cardinality 6 Order = 1 Id($) [ 2] Order 2 Length 3 Permutation group acting on a set of cardinality 6 (2, 6)(3, 5) [ 3] Order 2 Length 3 Permutation group acting on a set of cardinality 6 (1, 4)(2, 3)(5, 6) [ 4] Order 2 Length 1 Permutation group acting on a set of cardinality 6 (1, 4)(2, 5)(3, 6) [ 5] Order 3 Length 1 Permutation group acting on a set of cardinality 6 (1, 5, 3)(2, 6, 4) [ 6] Order 4 Length 3 Permutation group acting on a set of cardinality 6 (2, 6)(3, 5) (1, 4)(2, 5)(3, 6) [ 7] Order 6 Length 1 Permutation group acting on a set of cardinality 6 (1, 5, 3)(2, 6, 4) (1, 4)(2, 5)(3, 6) [ 8] Order 6 Length 1 Permutation group acting on a set of cardinality 6 (2, 6)(3, 5) (1, 5, 3)(2, 6, 4) [ 9] Order 6 Length 1 Permutation group acting on a set of cardinality 6 (1, 4)(2, 3)(5, 6) (1, 5, 3)(2, 6, 4) [10] Order 12 Length 1 Permutation group acting on a set of cardinality 6 (2, 6)(3, 5) (1, 5, 3)(2, 6, 4) (1, 4)(2, 5)(3, 6)
> // We extract the representative subgroup for class 7 > h := S[7]`subgroup; > h; Permutation group h acting on a set of cardinality 6 (1, 3, 5)(2, 4, 6) (1, 4)(2, 5)(3, 6)
In addition to finding representatives for conjugacy classes of subgroups, Magma allows the user to create the poset L of subgroup classes. The elements of the poset correspond to the conjugacy classes of subgroups. Two lattice elements a and b are joined by an edge if either some subgroup of the conjugacy class a is a maximal subgroup of some subgroup of conjugacy class b or vice-versa. The elements of L are called subgroup-poset elements and are numbered from 1 to n, where n is the cardinality of L. Various functions allow the user to identify maximal subgroups, normalizers, centralizers and other relatives in the lattice. Given an element e of L, one can easily create the subgroup H of G corresponding to e and one can also create the element of L corresponding to a subgroup of G.
Create the poset L of subgroup classes of G.
Properties: BoolElt Default: falseProperties := true: As the subgroup classes are put into the poset, record their abstract type, i.e., elementary abelian, abelian, nilpotent, soluble, simple or perfect.
Centralizer: BoolElt Default: falseCentralizer := true: As each subgroup class e is put into the poset, record the class in which the centralizers of the subgroups of e lie.
Normalizer: BoolElt Default: falseNormalizer := true: As each subgroup class e is put into the poset, record the class in which the normalizers of the subgroups of e lie.
> G := ASL(2, 3); > L := SubgroupLattice(G : Properties := true, Normalizers:= true, > Centralizers:= true); > L; Partially ordered set of subgroup classes -----------------------------------------
[ 1] Order 1 Length 1 C = [20] N = [20] Maximal Subgroups: --- [ 2] Order 2 Length 9 Cyclic. C = [16] N = [16] Maximal Subgroups: 1 [ 3] Order 3 Length 12 Cyclic. C = [14] N = [14] Maximal Subgroups: 1 [ 4] Order 3 Length 24 Cyclic. C = [10] N = [10] Maximal Subgroups: 1 [ 5] Order 3 Length 4 Cyclic. C = [15] N = [18] Maximal Subgroups: 1 --- [ 6] Order 4 Length 27 Cyclic. C = [6] N = [12] Maximal Subgroups: 2 [ 7] Order 6 Length 12 Soluble. C = [3] N = [14] Maximal Subgroups: 2 5 [ 8] Order 6 Length 36 Cyclic. C = [8] N = [8] Maximal Subgroups: 2 3 [ 9] Order 9 Length 4 Elementary Abelian. C = [9] N = [18] Maximal Subgroups: 3 5 [10] Order 9 Length 8 Elementary Abelian. C = [10] N = [15] Maximal Subgroups: 4 5 [11] Order 9 Length 1 Elementary Abelian. C = [11] N = [20] Maximal Subgroups: 5 --- [12] Order 8 Length 9 Nilpotent. C = [2] N = [16] Maximal Subgroups: 6 [13] Order 18 Length 1 Soluble. C = [1] N = [20] Maximal Subgroups: 7 11 [14] Order 18 Length 12 Soluble. C = [3] N = [14] Maximal Subgroups: 7 8 9 [15] Order 27 Length 4 Nilpotent. C = [5] N = [18] Maximal Subgroups: 9 10 11 --- [16] Order 24 Length 9 Soluble. C = [2] N = [16] Maximal Subgroups: 8 12 [17] Order 36 Length 3 Soluble. C = [1] N = [19] Maximal Subgroups: 6 13 [18] Order 54 Length 4 Soluble. C = [1] N = [18] Maximal Subgroups: 13 14 15 --- [19] Order 72 Length 1 Soluble. C = [1] N = [20] Maximal Subgroups: 12 17 --- [20] Order 216 Length 1 Soluble. C = [1] N = [20] Maximal Subgroups: 16 18 19
In the following, L is the poset of subgroup classes for a group G.
# L : SubGrpLat -> RngIntElt
The cardinality of L, i.e., the number of conjugacy classes of subgroups of G.
Create the i-th element of the poset L. The elements of L are sorted so that classes i and j of groups whose orders o_i and o_j are the products of e_i and e_j prime numbers respectively will be ordered so that i comes before j is e_i<e_j or e_i=e_j and o_i<o_j.
Create the element of the poset L corresponding to the subgroup H of the group G.
Create the bottom of the poset L, i.e., the element of L corresponding to the trivial subgroup of G. If the poset was created with restrictions on the type of subgroups constructed, the bottom of the poset may not be the trivial subgroup.
Create the top of the poset L, i.e., the element of L corresponding to G.
Create a random element of L.
> G := AGammaL(1, 8); > L := SubgroupLattice(G); > L;We now construct a chain from the bottom to the top of the lattice.
Subgroup Lattice ----------------
[ 1] Order 1 Length 1 Maximal Subgroups: --- [ 2] Order 2 Length 7 Maximal Subgroups: 1 [ 3] Order 3 Length 28 Maximal Subgroups: 1 [ 4] Order 7 Length 8 Maximal Subgroups: 1 --- [ 5] Order 4 Length 7 Maximal Subgroups: 2 [ 6] Order 6 Length 28 Maximal Subgroups: 2 3 [ 7] Order 21 Length 8 Maximal Subgroups: 3 4 --- [ 8] Order 8 Length 1 Maximal Subgroups: 5 [ 9] Order 12 Length 7 Maximal Subgroups: 3 5 --- [10] Order 24 Length 7 Maximal Subgroups: 6 8 9 [11] Order 56 Length 1 Maximal Subgroups: 4 8 --- [12] Order 168 Length 1 Maximal Subgroups: 7 10 11
> F := FittingSubgroup(G); > F; Permutation group F acting on a set of cardinality 8 Order = 8 = 2^3 (1, 2)(3, 6)(4, 8)(5, 7) (1, 6)(2, 3)(4, 7)(5, 8) (1, 5)(2, 7)(3, 4)(6, 8) > L!F; 8
> H := Bottom(L); > Chain := [H]; > while H ne Top(L) do > H := Representative(MinimalOvergroups(H)); > Chain := Append(Chain, H); > end while; > Chain; [ 1, 2, 5, 8, 10, 12 ]
In the following, L is the poset of subgroups for a group G.
Elements of L are identified with the integers [1..#L].
IntegerRing() ! e : SubGrpLatElt -> RngIntElt
The integer corresponding to poset element e.
True if and only if poset elements e and f are equal.
True if and only if poset element e contains poset element f.
True if and only if poset element e strictly contains poset element f.
True if and only if poset element e is contained in poset element f.
True if and only if poset element e is strictly contained in poset element f.
In the following, L is the poset of subgroups for a group G.
Elements of L are identified with the integers [1..#L].
Group(e) : SubGrpLatElt -> GrpFin
The subgroup of G that is the chosen class representative corresponding to the element e of the poset L.
Given poset elements e and f, return the poset element that corresponds to the class of subgroups that contains the centralizers of the subgroups of class f (taken in a subgroup of class e). If no subgroup of class f lies in class e, the construction fails.
Given poset elements e and f, return the poset element that corresponds to the class of subgroups that contain the normalizers of the subgroups of class f (taken in a subgroup of class e). If no subgroup of class f lies in class e, the construction fails.
The number of subgroups in the class corresponding to e.
The order of the subgroup of G corresponding to e.
The maximal subgroups of e, returned as a set of poset elements.
The minimal overgroups of e, returned as a set of poset elements.
The number of elements of the conjugacy class of subgroups e that lie in a fixed representative of the conjugacy class of subgroups f.[Next] [Prev] [Right] [Left] [Up] [Index] [Root]