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 \(\Z_{n_1} \times \Z_{n_2} \times \cdots \times \Z_{n_r}\). In some categories, \(n_i\) may also be 0, denoting the infinite cyclic group \(\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)
Run in calculator (opens in a new tab)
The abelian group \(\Z_6 \times \Z_2 \times \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 Product (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 Extension (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: Direct Product of Two Groups (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