The algorithms in CRISP can also be used to compute certain normal subgroups of a finite soluble group efficiently. In particular, CRISP provides fast methods for computing all normal subgroups, all minimal normal subgroups, and the socle of a finite soluble group.

`NormalSubgroups(`

`) A`

For finite soluble groups `grp`, CRISP provides an efficient method to compute `NormalSubgroups`

(see NormalSubgroups).

`CharacteristicSubgroups(`

`) A`

returns a list containing all characteristic subgroups of the finite soluble group `grp`.
`CharacteristicSubgroups`

calls `AllInvSgrsWithQPropUnderAction`

.

`MinimalNormalSubgroups(`

`) A`

CRISP provides an efficient method to compute a list of all minimal normal subgroups of `grp` (see MinimalNormalSubgroups).

`MinimalNormalPSubgroups(`

`, `

`) A`

For a prime `p`, this function computes a list of all `p`-subgroups which are minimal among the nontrivial
normal subgroups of `grp`.

`AbelianMinimalNormalSubgroups(`

`) A`

This computes a list of all minimal normal subgroups of `grp` which are abelian. If `grp` is soluble, this list coincides with the list of all
minimal normal subgroups of `grp`.

`Socle(`

`) A`

CRISP provides a method for `Socle`

(see Socle) for which works for
all finite soluble groups `grp`. The socle of a group `grp` is the subgroup
generated by all minimal normal subgroups of `grp`. See also SolubleSocle and
PSocle below.

gap> Size(Socle( DirectProduct(DihedralGroup(8), CyclicGroup(12)))); 12

`AbelianSocle(`

`) A`

`SolubleSocle(`

`) A`

`SolvableSocle(`

`) A`

This function computes the soluble socle of `grp`. The soluble socle of a group `grp` is the
subgroup generated by all minimal normal soluble subgroups of `grp`.

`SocleComponents(`

`) A`

This function returns a list of minimal normal subgroups of `grp` such
that the socle of `grp` (see Socle) is the direct product of these minimal normal
subgroups. Note that, in general, this decomposition is not unique. Currently,
this function is only implemented for finite soluble groups. See also
SolubleSocleComponents and PSocleComponents.

`AbelianSocleComponents(`

`) A`

`SolubleSocleComponents(`

`) A`

`SolvableSocleComponents(`

`) A`

This function returns a list of soluble minimal normal subgroups of `grp` such
that the socle of `grp` (see Socle) is the direct product of these minimal normal
subgroups. Note that, in general, this decomposition is not unique.

`PSocle(`

`, `

`) A`

If *p* is a prime, the *p*-socle of a group `grp` is the subgroup
generated by all minimal normal *p*-subgroups of `grp`.

`PSocleComponents(`

`, `

`) A`

For a prime *p*, this function returns a list of minimal normal *p*-subgroups of `grp`
such that the *p*-socle of `grp` (see PSocle) is the direct product of these minimal normal
subgroups. Note that, in general, this decomposition is not unique.

`PSocleSeries(`

`, `

`) A`

For a prime `p`, this function returns an ascending `grp`-composition series of the `p`-socle of `grp`.

CRISP manual

March 2016