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

Standard Groups and Extensions

Subsections

Construction of a Standard 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 generators. The group category of the result may be specified as an argument to the function.

AbelianGroup(C, Q) : Cat, [ RngIntElt ] -> GrpFin
AbelianGroup(Q) : [ RngIntElt ] -> GrpAb
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.
AlternatingGroup(C, n) : Cat, RngIntElt -> GrpFin
AlternatingGroup(n) : RngIntElt -> GrpPerm
Alt(C, n) : Cat, RngIntElt -> GrpFin
Alt(n) : RngIntElt -> 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.
CyclicGroup(C, n) : Cat, RngIntElt -> GrpFin
CyclicGroup(n) : RngIntElt -> 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.
DihedralGroup(C, n) : Cat, RngIntElt -> GrpFin
DihedralGroup(n) : RngIntElt -> 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.
SymmetricGroup(C, n) : Cat, RngIntElt -> GrpFin
SymmetricGroup(n) : RngIntElt -> GrpPerm
Sym(GrpFin, n) : Cat, RngIntElt -> GrpFin
Sym(n) : Cat, RngIntElt -> 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.
ExtraSpecialGroup(C, p, n) : Cat, RngIntElt, RngIntElt -> GrpFin
ExtraSpecialGroup(p, n) : RngIntElt, RngIntElt -> 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.

Example Grp_StandardGroups (H9E6)

> 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)

Construction of Extensions

DirectProduct(G, H) : Grp, Grp -> Grp
Given two groups G and H belonging to the category C, construct the direct product of G and H as a group in C.
DirectProduct(Q) : [ Grp ] -> Grp
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.
TensorProduct(G, H) : GrpFin, GrpFin -> GrpFin
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) : [ GrpFin ] -> GrpFin
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) : GrpFin, GrpFin -> GrpFin
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) : [ GrpFin ] -> GrpFin
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 Grp_Extensions (H9E7)

> 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

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