Quotient Groups

The functions described in this section apply only to finite groups for which a base and strong generating set may be constructed.

Contents

Construction of Quotient Groups

quo<G | L> : GrpMat, List -> GrpPerm, Map
Given the matrix group G, construct the quotient group Q = G/N, where N is the normal closure of the subgroup of G generated by the elements specified by L. The clause L is a list of one or more items of the following types:
(a)
A sequence of n integers defining a matrix of G;
(b)
A set or sequence of sequences of type (a);
(c)
An element of G;
(d)
A set or sequence of elements of G;
(e)
A subgroup of G;
(f)
A set or sequence of subgroups of G.

Each element or group specified by the list must belong to the same generic matrix group. The function returns

(a)
the quotient group Q, and
(b)
the natural homomorphism f: G -> Q.

Currently in Magma, the quotient group is constructed via the regular representation of the quotient, so that the application of this operator is restricted to the case where the index of N in G is small. The representation of the quotient that is returned is the result of applying degree reduction to the regular representation, so need not be regular.

The generators of the quotient group correspond to the generators of G.

G / N : GrpMat, GrpMat -> GrpPerm
Given a normal subgroup N of the matrix group G, construct the quotient of G by N. Currently in Magma, the quotient group is constructed via the regular representation of the quotient, so the application of this operator is restricted to the case where the index of N in G is small. The representation of the quotient that is returned is the result of applying degree reduction to the regular representation, so need not be regular.

Example GrpMatGen_Quotient (H65E22)

We determine the structure of a quotient in a soluble subgroup of GL(3, 5).
> G := MatrixGroup< 3, GF(5) | [0,1,0, 1,0,0, 0,0,1], [0,1,0, 0,0,1, 1,0,0 ],
>                                       [2,0,0, 0,1,0, 0,0,1] >;
> Order(G);
384
> Q, f := quo< G | G.2 >;
> Q;
Permutation group Q of degree 8
    (1, 2)(3, 4)(5, 6)(7, 8)
    Id(Q)
    (1, 3, 5, 7)(2, 4, 6, 8)
> IsAbelian(Q);
true
> AbelianInvariants(Q);
[ 4, 2 ]

Abelian, Nilpotent and Soluble Quotients

A number of standard quotients may be constructed. The method first constructs a presentation for the matrix group and then applies the appropriate fp-group algorithm.

AbelianQuotient(G) : GrpMat -> GrpAb, Map
The maximal abelian quotient G/Gprime of the group G as GrpAb (cf. chapter ABELIAN GROUPS). The natural epimorphism π:G -> G/Gprime is returned as second value.
ElementaryAbelianQuotient(G, p) : GrpMat, RngIntElt -> GrpAb, Map
The maximal p-elementary abelian quotient Q of the group G as GrpAb (cf. chapter ABELIAN GROUPS). The natural epimorphism π:G -> Q is returned as second value.
pQuotient(G, p, c) : GrpMat, RngIntElt, RngIntElt -> GrpPC, Map, SeqEnum, BoolElt
Given a matrix group G, a prime p and a positive integer c, construct a pc-presentation for the largest p-quotient P of G having lower exponent-p class at most c. If c is given as 0, then the limit 127 is placed on the class.

The function also returns the natural homomorphism π from G to P, a sequence S describing the definitions of the pc-generators of P and a flag indicating whether P is the maximal p-quotient of G.

The k-th element of S is a sequence of two integers, describing the definition of the k-th pc-generator P.k of P as follows.

-
If S[k] = [0, r], then P.k is defined via the image of G.r under π.

-
If S[k] = [r, 0], then P.k is defined via the power relation for P.r.

-
If S[k] = [r, s], then P.k is defined via the conjugate relation involving P.rP.s.

NilpotentQuotient(G, c) : GrpMat, RngIntElt -> GrpGPC, Map
This function returns the class c nilpotent quotient of the matrix group G, together with the epimorphism π from G onto this quotient.
SolvableQuotient(G): GrpMat -> GrpPC, Map
SolubleQuotient(G): GrpMat -> GrpPC, Map
The function returns the largest soluble quotient S of the matrix group G together with the epimorphism π:G -> S.
PCGroup(G): GrpMat -> GrpPC, Map
For a solvable group G, the function returns an isomorphic group of type GrpPC together with an isomorphism from G to the new group. If G is not solvable, then the call to PCGroup will result in an error.

Example GrpMatGen_SpecialQuotient (H65E23)

We take a degree 10 matrix group over the integers and compute its maximal abelian and soluble quotients. The epimorphisms supplied by these two functions may be used to pass between the group and its quotients.
> DB := RationalMatrixGroupDatabase();
> G := Group(DB, 10, 2);
> G : Minimal;
MatrixGroup(10, Integer Ring) of order 4147200
> A := AbelianQuotient(G); A;
Abelian Group isomorphic to Z/2 + Z/2 + Z/2
Defined on 3 generators
Relations:
  2*A.1 = 0
  2*A.2 = 0
  2*A.3 = 0
> S, f := SolubleQuotient(G); S;
GrpPC : S of order 32 = 2^5
PC-Relations:
  S.2^2 = S.4,
  S.2^S.1 = S.2 * S.4,
  S.3^S.2 = S.3 * S.4 * S.5
> G.1 @ f;
S.1 * S.4 * S.5
> S.5 @@ f in DerivedGroup(G);
true
V2.28, 13 July 2023