> < ^ Date: Thu, 21 Jan 1993 13:58:10 +0100
> < ^ From: Martin Schoenert <martin.schoenert@math.rwth-aachen.de >
> < ^ Subject: Re: Primitive Groups

In his article of 1993/01/15 Peter M"uller writes:
The list PGTable in the primitive groups library contains some useful
data about the primitive groups of degree \le 50.

In practice one often likes to know which class of the O'Nan Scott
classification a primitive group belongs to. Wouldn't it be sensible
to add this information as a further component? Additionally,
generators of one of the (at most two) minimal normal subgroups would
be fine, as GAP doesn't seem (or did I miss something?) to offer a
convenient way to compute them.

Several comments.

1) Sims says in his article "Computational methods in the study of
permutation groups" in "Computational Problems in Abstract Algebra"
(Proceedings Oxford 67, John Leech ed.), which contains the primitive
groups of degree <= 20:

Any primitive group G of degree n < 60 has a unique minimal
normal subgroup N.

So how comes you talk about "the (at most two) minimal normal
subgroups"? Or am I misunderstanding something here?

2) If the primitive group G of degree p^k has an elementary abelian
regular normal subgroup, this is can be computed as

Core( G, SylowSubgroup( G, p ) )

Peter Neumann in his article "Some algorithms for computing with
finite permutation groups" in "Proceedings of Groups - St. Andrews
1984" (E.F. Robertson & C.M. Campbell ed.) gives a better algorithm,
which avoids the computation of the Sylow subgroup. But for the
groups in GAP's primitive group library this simple approach seems to
be ok.

3) If the primitive group G of degree p^k < 5^5 is not of the affine
type the socle (i.e., because of 1) the minimal normal subgroup)
is the last term in the derived series, and can be computed as

d := DerivedSeries( g );

4) The library file 'grp/primitiv.grp' identifies the minimal normal
subgroup, if it is again primitiv. For example for

g := PrimitiveGroup( 28, 11 );

the corresponding line in 'grp/primitiv.grp' reads

[28,     29484,  2, 01000, 2805, 2707,  "PZL(2,27)", 148,151,156,171],

it tells us (in encoded form in the 5. column) that the minimal
normal subgroup is 'PrimitiveGroup( 28, 5 )', and thus we get is as

AsSubgroup( g, PrimitiveGroup( 28, 5 ) );

If the fifth entry reads 'EABL' the minimal normal subgroup is
elementary abelian, and thus we can apply 2). If the fifth entry
is empty the minimal normal subgroup is not elementary abelian and
not primitive, and thus we should apply 3).

Hope this helps, Martin.

-- .- .-. - .. -.  .-.. --- ...- . ...  .- -. -. .. -.- .-
Martin Sch"onert,   Martin.Schoenert@Math.RWTH-Aachen.DE,  +49 241 804551
Lehrstuhl D f"ur Mathematik, Templergraben 64, RWTH, D 51 Aachen, Germany

> < [top]