Chris Wensley wrote:
> I would welcome information on methods which have been found efficient
> for recognising groups of small order.
> I am assuming that some construction has produced a finitely presented
> group G of order at most 100 (say). The question to be answered is:
> "which group" is it?
> It appears that the GAP group libraries do not include a library of
> groups of small order.
They do, see below!
Note first that if you really have obtained your group as a finitely
presented group, you cannot do many computations with it (cf. section
22.3), you first have to get a faithful permutation representation
(e.g. by TC - cf. section 22.5), or a faithful representation as an
AG group (e.g. by pQ in case of a p-group, cf. 24.36 or Chapter 56,
or some SQ in case of a soluble group of non-p-power order, cf. 55.4)
before you can work with it.
This assumed, Eamonn O'Brien has already answered your question in
particular for the libraries of p-groups (cf. sections 36.7, 36.8 of
There is also a library containing all soluble groups of order up to
100 (cf. section 36.6 of the manual). In Gap 3.4 there is a function
identifying the isomorphism type of a given soluble group of order up
to 100 by referring to that library. These small groups are simply
identified by easily computed invariants, such as the numbers of
elements of a given order etc.
If there were such a library, then a selection function of the type
would do. Is this possible for the 2-Groups library?
The name of the function is
See 7.62 in the manual, p. 271.
A permutation representation of minimal degree would be helpful,
but this appears to require computation of the subgroup lattice,
which may be time-consuming.
Since except for the alternating group all the groups of order less
than 100 are soluble it is easier to use the methods that determine
the maximal subgroups of soluble groups. For these you have to
transform the group into an AG group (cf. 24.26) and thereafter into a
'special AG group' (cf. 25.2) for which the method for finding all
maximal subgroups works. The name of the function is
It is in 3.4, but not yet in the manual.
A list of the normal subgroups is available speedily, so an
function would be helpful.
Again for soluble groups it is easier to use the methods for finding
all complements: cf. 24.90, function 'Complementclasses', from which
you can easily see if there is a normal complement.
Hope that answers your questions. Joachim Neubueser