[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Building Permutation Groups

Examples of permutation groups are routinely constructed by taking one or more standard groups and applying some extension procedure to construct a group having the given groups as subgroups or quotient groups. In the first subsection we describe functions which construct some well-known groups and in the following subsection we give functions for constructing direct and wreath products.

Subsections

Some Standard Permutation Groups

A number of functions are provided which construct various standard groups. The effect of these functions is to construct the group on some standard set of generating permutations.

AbelianGroup(GrpPerm, Q) : Cat, [ RngIntElt ] -> GrpPerm
Construct the abelian group defined by the sequence Q = [n_1, ..., n_r] of positive integers. The function constructs the direct product of cyclic groups Z(n_1) x Z(n_2) x ... x Z(n_r).
AlternatingGroup(GrpPerm, n) : Cat, RngIntElt -> GrpPerm
AlternatingGroup(n) : RngIntElt -> GrpPerm
Alt(n) : RngIntElt -> GrpPerm
Construct the alternating group of degree n on generators (3, 4, ..., n) and (1, 2, 3), if n is odd, or (1, 2)(3, 4, ..., n) and (1, 2, 3), if n is even.
CyclicGroup(GrpPerm, n) : Cat, RngIntElt -> GrpPerm
CyclicGroup(n) : RngIntElt -> GrpPerm
Construct the cyclic group of order n with generator (1, 2, ..., n).
DihedralGroup(GrpPerm, n) : Cat, RngIntElt -> GrpPerm
DihedralGroup(n) : RngIntElt -> GrpPerm
Construct the dihedral group of degree n and order 2 * n on generators (1, 2, ..., n) and (1, n)(2, n - 1) ... .
Sym(GrpPerm, n) : Cat, RngIntElt -> GrpPerm
SymmetricGroup(GrpPerm, n) : Cat, RngIntElt -> GrpPerm
Sym(n) : Cat, RngIntElt -> GrpPerm
SymmetricGroup(n) : RngIntElt -> GrpPerm
Construct the symmetric group of degree n on generators (1, 2, ..., n) and (1, 2).
ExtraSpecialGroup(GrpPerm, p, n : parameters) : Cat, RngIntElt, RngIntElt -> GrpPerm
ExtraSpecialGroup(p, n : parameters) : RngIntElt, RngIntElt -> GrpPerm
Given a small prime p and a small positive integer n, construct an extra-special group G of order p^(2n + 1) in the category GrpPerm. The isomorphism type of G can be selected using the parameter Type.

     Type: MonStgElt                     Default: "+"
Possible values for this parameter are "+" (default) and "-".

If Type is set to "+", the function returns for p = 2 the central product of n copies of the dihedral group of order 8, and for p > 2 it returns the unique extra-special group of order p^(2n + 1) and exponent p.

If Type is set to "-", the function returns for p = 2 the central product of a quaternion group of order 8 and n - 1 copies of the dihedral group of order 8, and for p > 2 it returns the unique extra-special group of order p^(2n + 1) and exponent p^2.


Example GrpPerm_StandardGroups (H17E7)

(1)
The abelian group Z_2 x Z_2 x Z_4:

> A := AbelianGroup(GrpPerm, [2, 2, 4] );
> A;
Permutation group A acting on a set of cardinality 8
Order = 16 = 2^4
    (1, 2)
    (3, 4)
    (5, 6, 7, 8)
(2)
The alternating group of degree 12:

> A12 := AlternatingGroup(GrpPerm, 12);
> A12;
Permutation group A12 acting on a set of cardinality 12
Order = 239500800 = 2^9 * 3^5 * 5^2 * 7 * 11
    (1, 2)(3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
    (1, 2, 3)
(3)
The cyclic group Z_(24):

> Z24 := CyclicGroup(GrpPerm, 24);
> Z24;
Permutation group Z24 on a set of cardinality 24
Order = 24 = 2^3 * 3
    (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
        16, 17, 18, 19, 20, 21, 22, 23, 24)
(4)
The dihedral group of order 24:

> D12 := DihedralGroup(GrpPerm, 12);
> D12;
Permutation group D12 acting on a set of cardinality 12
Order = 24 = 2^3 * 3
    (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
    (1, 12)(2, 11)(3, 10)(4, 9)(5, 8)(6, 7)
(5)
The symmetric group of degree 8:

> S8 := SymmetricGroup(GrpPerm, 8);
> S8;
Symmetric group S8 acting on a set of cardinality 8
Order = 40320 = 2^7 * 3^2 * 5 * 7

Direct Products and Wreath Products

DirectProduct(G, H) : GrpPerm, GrpPerm -> GrpPerm, [ Hom(Grp) ], [ Hom(Grp) ]
Given two permutation groups G and H, construct the direct product D of G and H as an intransitive group having degree equal to the sum of the degrees of G and H. In addition, the sequences I of inclusions and P of projections are returned, satisfying I[i]: K_i -> D(K_i) and P[i]: D -> K_i (where K_1 = G, K_2 = H and D(K) is the group K represented naturally as a subgroup of D).
DirectProduct(Q) : [ GrpPerm ] -> GrpPerm, [ Hom(Grp) ], [ Hom(Grp) ]
Given a sequence Q of n permutation groups, construct the direct product Q[1] x Q[2] x ... x Q[n] as an intransitive group of degree equal to the sum of the degrees of the groups Q[i], (i = 1, ..., n). In addition, the sequences I of inclusion and P of projections are returned, satisfying I[i]: Q[i] -> D(Q[i]) and P[i]: D -> Q[i] (where D(K) is the group K represented naturally as a subgroup of D).
PrimitiveWreathProduct(G, H) : GrpPerm, GrpPerm -> GrpPerm
Given permutation groups G and H, construct the wreath product G wreath H of G and H, where G wreath H has product action.
PrimitiveWreathProduct(Q) : [ GrpPerm ] -> GrpPerm
Given a sequence Q of n permutation groups, construct the iterated wreath product T = ( ... (Q[1] wreath Q[2]) wreath ... wreath Q[n]), where T has product action.
WreathProduct(G, H) : GrpPerm, GrpPerm -> GrpPerm, SeqEnum[Map], Map, Map
Given permutation groups G and H, construct the wreath product W = G wreath H of G and H, where G wreath H has imprimitive action. The function also returns the sequence of Degree(H) inclusions of G into W, the inclusion of H into W and the projection of W onto H.
WreathProduct(Q) : [ GrpPerm ] -> GrpPerm
Given a sequence Q of n permutation groups, construct the iterated wreath product W = ( ... (Q[1] wreath Q[2]) wreath ... wreath Q[n]), where W has imprimitive action.

Example GrpPerm_Products (H17E8)

We define G to be the symmetric group of degree 4 and H to be the dihedral group of order 8. We then proceed to form the direct, primitive-wreath and wreath products of G and H.

> G := SymmetricGroup(GrpPerm, 4);
> H := DihedralGroup(GrpPerm, 3);
> D := DirectProduct(G, H);
> D;
Permutation group D acting on a set of cardinality 7
Order = 144 = 2^4 * 3^2
    (1, 2, 3, 4)
    (1, 2)
    (5, 6, 7)
    (5, 6)
> T := PrimitiveWreathProduct(G, H);
> T;
Permutation group T acting on a set of cardinality 64
Order = 82944 = 2^10 * 3^4
    (2, 5, 17)(3, 9, 33)(4, 13, 49)(6, 21, 18)(7, 25, 34)(8, 29, 50)
       (10, 37, 19) (11, 41, 35)(12, 45, 51) (14, 53, 20)(15, 57, 36)
       (16, 61, 52)(23, 26, 38) (24, 30, 54)(27, 42, 39)(28, 46, 55)
       (31, 58, 40) (32, 62, 56)(44, 47, 59)(48, 63, 60)
    (2, 5)(3, 9)(4, 13)(7, 10)(8, 14)(12, 15)(18, 21)(19 , 25)(20, 29)
       (23, 26)(24, 30)(28, 31)(34, 37)(35 , 41)(36, 45)(39, 42)(40, 46)
       (44, 47)(50, 53)(51 , 57)(52, 61)(55, 58)(56, 62)(60, 63)
    (1, 2, 3, 4)(5, 6, 7, 8)(9, 10, 11, 12)(13, 14, 15, 16)(17, 18, 19, 20)
       (21, 22, 23, 24)(25, 26, 27, 28)(29, 30, 31, 32)(33, 34, 35, 36)
       (37, 38, 39, 40)(41, 42, 43, 44)(45, 46, 47, 48)(49, 50, 51, 52)
       (53, 54, 55, 56)(57, 58, 59, 60)(61, 62, 63, 64)
    (1, 2)(5, 6)(9, 10)(13, 14)(17, 18)(21, 22)(25, 26)( 29, 30)(33, 34)
       (37, 38)(41, 42)(45, 46)(49, 50)( 53, 54)(57, 58)(61, 62)
> W := WreathProduct(G, H);
> W;
Permutation group W acting on a set of cardinality 12
Order = 82944 = 2^10 * 3^4
    (1, 5, 9)(2, 6, 10)(3, 7, 11)(4, 8, 12)
    (1, 5)(2, 6)(3, 7)(4, 8)
    (1, 2, 3, 4)
    (1, 2)


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]