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).
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.
Construct the cyclic group of order n with generator (1, 2, ..., n).
Construct the dihedral group of degree n and order 2 * n on generators (1, 2, ..., n) and (1, n)(2, n - 1) ... .
Construct the symmetric group of degree n on generators (1, 2, ..., n) and (1, 2).
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.
> 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
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.
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).
Given permutation groups G and H, construct the wreath product G wreath H of G and H, where G wreath H has product action.
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.
Given permutation groups G and H, construct the wreath product G wreath H of G and H, where G wreath H has normal action.
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.
> 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