Standard Groups and Extensions#
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,\ldots,n_r]\) of positive integers. The function constructs the direct product of cyclic groups \({\mathbb{Z}}_{n_1} \times {\mathbb{Z}}_{n_2} \times \cdots \times {\mathbb{Z}}_{n_r}\). In some categories, \(n_i\) may also be 0, denoting the infinite cyclic group \({\mathbb{Z}}\). 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 beGrpAb,GrpFP,GrpGPC,GrpPCorGrpPerm.
- AlternatingGroup(C, n): Cat, RngIntElt -> GrpFin#
- AlternatingGroup(n): RngIntElt -> GrpPerm#
- Alt(C, n): Cat, RngIntElt -> GrpFin#
- Alt(n): RngIntElt -> GrpPerm#
Construct the alternating group on \(n\) letters. 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 beGrpFPorGrpPerm.
- CyclicGroup(C, n): Cat, RngIntElt -> GrpFin#
- CyclicGroup(n): RngIntElt -> GrpPerm#
Construct the cyclic group of order \(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 beGrpAb,GrpFP,GrpGPC,GrpPCorGrpPerm.
- DihedralGroup(C, n): Cat, RngIntElt -> GrpFin#
- DihedralGroup(n): RngIntElt -> GrpPerm#
Construct the dihedral group of order \(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 beGrpFP,GrpGPC,GrpPCorGrpPerm.
- DicyclicGroup(n): RngIntElt -> GrpFP#
- DicyclicGroup(A, a): GrpAb, GrpAbElt -> GrpFP#
The first intrinsic constructs the dicyclic group of order \(4n\). The second, when given an abelian group \(A\) and an element \(a\) of order 2, constructs the associated dicyclic group generated by \(A\) and an \(x\) with \(x^2=a\) and \(a^x=a^{-1}\) for all \(x\in A\).
- SymmetricGroup(C, n): Cat, RngIntElt -> GrpFin#
- SymmetricGroup(n): RngIntElt -> GrpPerm#
- Sym(GrpFin, n): Cat, RngIntElt -> GrpFin#
- Sym(n): RngIntElt -> GrpPerm#
Construct the symmetric group on \(n\) letters. 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 beGrpFPorGrpPerm.
- ExtraSpecialGroup(C, p, n : parameters): Cat, RngIntElt, RngIntElt -> GrpFin#
- ExtraSpecialGroup(p, n : parameters): RngIntElt, RngIntElt -> GrpPerm#
Type: MonStgElt Default: "+"
Given a prime \(p\) and a small positive integer \(n\), construct an extra-special group \(G\) of order \(p^{2n+1}\). The isomorphism type of \(G\) can be selected using the parameter
Typedescribed below.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 beGrpFP,GrpGPC,GrpPCorGrpPerm. If \(C\) isGrpFP,GrpPCorGrpPerm, the prime \(p\) must be small.Possible values for this parameter are “\(+\)” (default) and “\(-\)“.
If
Typeis 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
Typeis 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: Standard Groups (ex-a51dba)#
The abelian group \({\mathbb{Z}}_6 \times {\mathbb{Z}}_2 \times {\mathbb{Z}}_7\) in the category
GrpAb:> A := AbelianGroup([6, 2, 7]); > 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
The alternating group on \(6\) letters as a permutation group:
> A6 := Alt(6); > 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)
The dihedral group of order \(8\) as a
GrpPC:> D8 := DihedralGroup(GrpPC, 4); > D8; GrpPC : D8 of order 8 = 2^3 PC-Relations: D8.2^2 = D8.3, D8.2^D8.1 = D8.2 * D8.3
The symmetric group on \(7\) letters as a finitely presented group on generators \(a\) and \(b\):
> S7<a, b> := SymmetricGroup(GrpFP, 7); > 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] \times Q[2] \times \ldots \times Q[n]\) as a group in the category \(C\).
- SemidirectProduct(K, H, f: parameters): Grp, Grp, Map -> Grp, Map, Map, Map#
MaxDeg : RngIntElt Default: 1000000 Print : BoolElt Default: false UseRegular: BoolElt Default: false
Given two groups \(K\) and \(H\) and a homomorphism \(f:H\to {\operatorname{Aut}}(K)\), construct the semidirect product of \(K\) and \(H\) where the elements of \(H\) act on \(K\) via the map \(f\). The semidirect product \(S\) is returned together with maps embedding \(K\) and \(H\) into \(S\), and the projection \(S \to H\).
The maximum degree permutation representation the algorithm will attempt.
Setting
UseRegularto true forces the algorithm to go via the regular representations of \(K\) and \(H\).
- Example: semidirect (ex-ba6db1)#
> K := CyclicGroup(3); > H := CyclicGroup(4); > A := AutomorphismGroup(K); > f := hom< H->A | [ hom<K->K | [K.1^2]> ] >; > S := SemidirectProduct(K,H,f); > S; Permutation group S acting on a set of cardinality 7 (1, 2, 3) (2, 3)(4, 5, 6, 7)
- AffineSplitExtension(M: parameters): ModGrp -> Grp, Map, Map, Map#
MaxDeg: RngIntElt Default: 1000000 Print : BoolElt Default: false
Given a module \(M\) over a finite group ring \(KG\), construct the semidirect product of \(M\) and \(G\), where the elements of \(G\) act on \(M\) as in the module. The semidirect product \(S\) is returned together with maps embedding \(M\) and \(G\) into \(S\), and the projection \(S \to G\).
The module \(M\) will act as a regular normal subgroup on the first orbit of \(S\). If the action of \(G\) on \(M\) is faithful, then \(S\) will be transitive, and otherwise there will be a second orbit on which \(H\) acts faithfully.
The maximum degree permutation representation the algorithm will attempt.
- Example: Affine Split (ex-e704a5)#
> G := SL(2,3); > I := IrreducibleModules(G,GF(2)); > I[2]; GModule of dimension 2 over GF(2) > E := AffineSplitExtension(I[2]); > E; Permutation group E acting on a set of cardinality 12 Order = 96 = 2^5 * 3 (1, 2)(3, 4) (1, 3)(2, 4) (2, 3, 4)(6, 9, 11)(8, 10, 12) (5, 6, 7, 8)(9, 12, 10, 11)
- Example: Extensions (ex-a6b832)#
We define \(G\) to be the symmetric group of degree \(4\) and \(H\) to be the dihedral group of order \(8\). We then form the direct product of \(G\) and \(H\).
> G := SymmetricGroup(4); > H := DihedralGroup(3); > D := DirectProduct(G, H); > D; Permutation group D acting on a set of cardinality 7 (1, 2, 3, 4) (1, 2) (5, 6, 7) (5, 6) > Order(D); 144