The GAP package CRISP provides algorithms for computing subgroups of
finite soluble groups related to a group class *C*. In particular, it
allows to compute *C*-radicals and *C*-injectors for
Fitting classes (and Fitting sets) *C*, *C*-residuals
for formations *C*, and *C*-projectors for Schunck
classes *C*. In order to carry out these computations, the group class
*C* must be represented by an algorithm which can decide membership in
the group class. Moreover, additional information about the class can be
supplied to speed up computations, sometimes considerably. This information
may consist of other classes (such as the characteristic of the class), or of
additional algorithms, for instance for the computation of residuals and
local residuals, radicals, or for testing membership in related classes
(such as the basis or boundary of a Schunck class).

Moreover, the present package contains algorithms for the computation of
normal subgroups belonging to a given group class, including an improved
method to compute the set of all normal subgroups of a finite soluble
group, and methods to compute the socle and *p*-socles of a finite soluble group, as
well as the abelian socle of any finite group. CRISP also provides basic support
for classes (in the set theoretical sense). The algorithms used are described in
Hof99.

*C*-projectors and *C*-injectors of finite soluble groups
arise as generalisations of Sylow and Hall subgroups, and have attracted
considerable interest. They were first studied
by Gaschütz Gas63, Schunck Sch67, and Fischer,
Gaschütz and Hartley FGH67. In particular, *C*-injectors only exist in any finite soluble group if the group class
*C* is a Fitting class. Similarly, *C*-projectors exist in any
finite group *G* if and only if *C* is a Schunck class. An extensive
account of the subject can be found in DH92.

In the case when the class *C* in question is a local formation (which is
a special kind of Schunck class), algorithms for dealing with *C*-projectors and related subgroups of finite soluble groups are available
also in the GAP package FORMAT
by Eick and
Wright; see also EW99. In order to use their methods, *C* has to
be described in terms of algorithms for the computation of residuals with
respect to an integrated local function for *C*.

The author would like to thank J. Neubüser and the Lehrstuhl D für Mathematik, RWTH Aachen, for an invitation, which made it possible to develop a first version of the algorithm for the computation of projectors. He is indebted to the GAP team, particularly Bettina Eick and Alexander Hulpke, for its advice, and to the anonymous referee, J. Neubüser, and C. R. B. Wright for their detailed comments on previous versions of CRISP.

CRISP manual

March 2016