# The Subgroup Structure

## General Subgroup Constructions

The operators and functions which construct a subgroup of a polycyclic group always return the subgroup as a polycyclic group.

### `H ^ g: GrpGPC, GrpGPCElt -> GrpGPC`

### `Conjugate(H, g): GrpGPC, GrpGPCElt -> GrpGPC`

Construct the conjugate $g^{-1}*H*g$ of the group $H$ under the action of the element $g$. The group $H$ and the element $g$ must belong to a common group.

### `H ^ G: GrpGPC, GrpGPC -> GrpGPC`

### `ncl< G | H >: GrpGPC, GrpGPC -> GrpGPC`

### `NormalClosure(G, H): GrpGPC, GrpGPC -> GrpGPC`

Given a subgroup $H$ of the group $G$, construct the normal closure of $H$ in $G$.

### `CommutatorSubgroup(G, H, K): GrpGPC, GrpGPC, GrpGPC -> GrpGPC`

### `CommutatorSubgroup(H, K): GrpGPC, GrpGPC -> GrpGPC`

Construct the commutator subgroup of groups $H$ and $K$, where $H$ and $K$ are subgroups of a common group $G$.

## Subgroup Constructions Requiring a Nilpotent Covering Group

The operators and functions described in this section require the existence of a nilpotent covering group. They are based on algorithms published in [[Lo, 1998](../../references.md#cite-lo-nilpotent)]. Again, the constructed subgroup is returned as a polycyclic group.

### `H meet K: GrpGPC, GrpGPC -> GrpGPC`

Given two groups $H$ and $K$, contained in some common group $G$ which is nilpotent, construct the intersection of $H$ and $K$.

### `H meet:= K: GrpGPC, GrpGPC -> GrpGPC`

Given two groups $H$ and $K$, contained in some common group $G$ which is nilpotent, replace $H$ with the intersection of $H$ and $K$.

### `Centraliser(G, g): GrpGPC, GrpGPCElt -> GrpGPC`

### `Centralizer(G, g): GrpGPC, GrpGPCElt -> GrpGPC`

The subgroup of $G$ centralising $g$. Both $g$ and $G$ must be contained in some common nilpotent group.

### `Centraliser(G, H): GrpGPC, GrpGPC -> GrpGPC`

### `Centralizer(G, H): GrpGPC, GrpGPC -> GrpGPC`

The subgroup of $G$ centralising $H$. Both $H$ and $G$ must be subgroups of some common nilpotent group.

### `Core(G, H): GrpGPC, GrpGPC -> GrpGPC`

The maximal normal subgroup of the nilpotent group $G$ that is contained in the subgroup $H$ of $G$.

### `Normaliser(G, H): GrpGPC, GrpGPC -> GrpGPC`

### `Normalizer(G, H): GrpGPC, GrpGPC -> GrpGPC`

The subgroup of $G$ normalising $H$. Both $H$ and $G$ must be subgroups of some common nilpotent group.
