[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Standard Groups and Extensions

Standard Groups and Extensions

Subsections

Construction of a Standard Permutation Group

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(Q) : [ 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) : Cat, RngIntElt, RngIntElt -> GrpPC
Construct an extra-special group G of order p^(2n + 1) as a permutation group. If p = 2, then G is the central product of n copies of the quaternion group Q_8. If p > 2, then G is the central product of n copies of the extra-special group of order p^3 and exponent p.

Example GrpPerm_StandardGroups (H16E7)

> A := AbelianGroup(GrpPerm, [2, 2, 4] );
> print A;
Permutation group A acting on a set of cardinality 8
Order = 16 = 2^4
    (1, 2)
    (3, 4)
    (5, 6, 7, 8)
> A12 := AlternatingGroup(GrpPerm, 12);
> print 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)
> Z24 := CyclicGroup(GrpPerm, 24);
> print 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)
> D12 := DihedralGroup(GrpPerm, 12);
> print 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)
> S8 := SymmetricGroup(GrpPerm, 8);
> print S8;
Symmetric group S8 acting on a set of cardinality 8
Order = 40320 = 2^7 * 3^2 * 5 * 7

Construction of Extensions

DirectProduct(G, H) : GrpPerm, GrpPerm -> GrpPerm
Given two permutation groups G and H, construct the direct product of G and H as an intransitive group having degree equal to the sum of the degrees of G and H.
DirectProduct(Q) : [ GrpPerm ] -> GrpPerm
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).
TensorProduct(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.
TensorProduct(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
Given permutation groups G and H, construct the wreath product G wreath H of G and H, where G wreath H has normal action.
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 normal action.

Example GrpPerm_Extensions (H16E8)

> G := SymmetricGroup(GrpPerm, 4);
> H := DihedralGroup(GrpPerm, 3);
> D := DirectProduct(G, H);
> print D;
Permutation group D acting on a set of cardinality 7
    (1, 2, 3, 4)
    (1, 2)
    (5, 6, 7)
    (5, 6)
> print Order(D);
144
> T := TensorProduct(G, H);
> print T;
Permutation group T acting on a set of cardinality 64
    (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)
> print Order(T);
82944
> W := WreathProduct(G, H);
> print W;
Permutation group W acting on a set of cardinality 12
    (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)
> print Order(W);
82944

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