# Quotient Groups

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

## 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\rightarrow 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: Quotient (ex-8aed52)`

We determine the structure of a quotient in a soluble subgroup of ${\operatorname{GL}}(3, 5)$.

```magma
> 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/G^\prime$ of the group $G$ as `GrpAb` (cf. chapter [Abelian Groups](../../FinitelyPresentedGroups/AbelianGroups/index-abelian-groups.md#chapgrpab)). The natural epimorphism $\pi:G\rightarrow G/G^\prime$ 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](../../FinitelyPresentedGroups/AbelianGroups/index-abelian-groups.md#chapgrpab)). The natural epimorphism $\pi:G\rightarrow 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 $\pi$ 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 $\pi$.

- 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.r^{P.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 $\pi$ 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 $\pi:G\rightarrow 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: Special Quotient (ex-b8249f)`

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.

```magma
> 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

```
