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 generators.
The group category of the result may be specified as an argument to the function.
AbelianGroup(C, Q) : Cat, [ RngIntElt ] -> GrpFin
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). If the single-argument version of the function is used, the group will be constructed in the category GrpAb; otherwise, its category will be C, where C may be GrpAb, GrpFP, GrpPC or GrpPerm.
Construct the alternating group of degree n on generators corresponding to the permutations (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. If the single-argument version of the function is used, the group will be constructed in the category GrpPerm; otherwise, its category will be C, where C may be GrpFP or GrpPerm.
Construct the cyclic group of order n with generator corresponding to the permutation (1, 2, ..., n). If the single-argument version of the function is used, the group will be constructed in the category GrpPerm; otherwise, its category will be C, where C may be GrpFP, GrpPC or GrpPerm.
Construct the dihedral group of degree n and order 2 * n on generators corresponding to the permutations (1, 2, ..., n) and (1, n)(2, n - 1) ... . If the single-argument version of the function is used, the group will be constructed in the category GrpPerm; otherwise, its category will be C, where C may be GrpFP, GrpPC or GrpPerm.
Construct the symmetric group of degree n on generators corresponding to the permutations (1, 2, ..., n) and (1, 2). If the single-argument version of the function is used, the group will be constructed in the category GrpPerm; otherwise, its category will be C, where C may be GrpFP or GrpPerm.
Construct an extra-special group G of order p^(2n + 1). 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. If the two-argument version of the function is used, the group will be constructed in the category GrpPerm; otherwise, its category will be C, where C may be GrpPC or GrpPerm.
> A := AbelianGroup([6, 2, 7]);
> print A;
Abelian Group isomorphic to Z/2 + Z/42
Defined on 3 generators
Relations:
6*A.1 = 0
2*A.2 = 0
7*A.3 = 0
> A6 := Alt(6);
> print A6;
Permutation group A6 acting on a set of cardinality 6
Order = 360 = 2^3 * 3^2 * 5
(1, 2)(3, 4, 5, 6)
(1, 2, 3)
> D8 := DihedralGroup(GrpPC, 8); > print D8; GrpPC : D8 of order 16 = 2^4 PC-Relations: D8.2^2 = D8.3, D8.3^2 = D8.4, D8.2^D8.1 = D8.2 * D8.3 * D8.4, D8.3^D8.1 = D8.3 * D8.4
> S7<a, b> := SymmetricGroup(GrpFP, 7);
> print S7;
Finitely presented group S7 on 2 generators
Relations
a^7 = Id(S7)
b^2 = Id(S7)
(a * b)^6 = Id(S7)
(a^-1 * b * a * b)^3 = Id(S7)
(b * a^-2 * b * a^2)^2 = Id(S7)
(b * a^-3 * b * a^3)^2 = Id(S7)
Given two groups G and H belonging to the category C, construct the direct product of G and H as a group in C.
Given a sequence Q of n groups belonging to the category C, construct the direct product Q[1] x Q[2] x ... x Q[n] as a group in the category C.
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(4);
> H := DihedralGroup(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