SubnormalSeries( G, U )
Let U be a subgroup of G, then SubnormalSeries
returns a subnormal
series <G> = G_1 > ... > G_n of groups such that U is contained in
G_n and there exists no proper subgroup V between G_n and U which
is normal in G_n.
G_n is equal to U if and only if U is subnormal in G.
Note that this function may not terminate if G is an infinite group.
gap> s4 := Group( (1,2,3,4), (1,2) ); Group( (1,2,3,4), (1,2) ) gap> c2 := Subgroup( s4, [ (1,2) ] ); Subgroup( Group( (1,2,3,4), (1,2) ), [ (1,2) ] ) gap> SubnormalSeries( s4, c2 ); [ Group( (1,2,3,4), (1,2) ) ] gap> IsSubnormal( s4, c2 ); false gap> c2 := Subgroup( s4, [ (1,2)(3,4) ] ); Subgroup( Group( (1,2,3,4), (1,2) ), [ (1,2)(3,4) ] ) gap> SubnormalSeries( s4, c2 ); [ Group( (1,2,3,4), (1,2) ), Subgroup( Group( (1,2,3,4), (1,2) ), [ (1,2)(3,4), (1,3)(2,4) ] ), Subgroup( Group( (1,2,3,4), (1,2) ), [ (1,2)(3,4) ] ) ] gap> IsSubnormal( s4, c2 ); true
The default function GroupOps.SubnormalSeries
constructs the subnormal
series as follows. G_1 = G and G_{i+1} is set to the normal closure
(see NormalClosure) of U under G_i. The length of the series is
n, where n = max{i; G_i > G_{i+1}}.
GAP 3.4.4