%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%W  preface.tex            GAP documentation                 Bettina Eick
%W                                                          Werner Nickel
%%
%H  $Id: preface.tex,v 1.8 2000/04/14 12:39:19 werner Exp $
%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{Polycyclic Groups}

A group $G$ is called *polycyclic* if there exists a subnormal series
in $G$ with cyclic factors.  Every polycyclic group is soluble and
every supersoluble group is polycyclic.  The class of polycyclic
groups is closed with respect to forming subgroups, factor groups and
extensions. Polycyclic groups can also be characterised as those
soluble groups in which each subgroup is finitely generated.

K. A. Hirsch  has initiated the investigation of  polycyclic groups in
1938,  see \cite{Hir38b},  \cite{Hir38a},  \cite{Hir46}, \cite{Hir52},
\cite{Hir54}, and their central  position in infinite group theory has
long been recognised since.

A well-known result of Hirsch asserts that each polycyclic group is
finitely presented. In fact, a polycyclic group has a presentation
which exhibits its polycyclic structure: a *pc-presentation* as
defined in Section "introduction". Pc-presentations allow efficient
computations with the groups they define. In particular, the word
problem is efficiently solvable in a group given by a
pc-presentation. Further, subgroups and factor groups of groups given
by a pc-presentation can be handled effectively.

The share package {\sf polycyclic} for {\GAP} 4 is designed for
computations with polycyclic groups which are given by a
pc-presentation.  The package contains methods to solve the word
problem in such groups and to handle subgroups and factor groups of
polycyclic groups. Based on these basic algorithms we present a
collection of methods to construct polycyclic groups and to
investigate their structure.

In \cite{BCRS91} and \cite{Seg90} the theory of problems which are 
decidable in polycyclic-by-finite groups has been started. As a result 
of these investigation we know that a large number of group theoretic 
problems are decidable by algorithms in polycyclic groups. However, 
practical algorithms which are suitable for computer implementations
have not been obtained by this study. We have developed a new set of
practical methods for groups given by pc-presentations, see for example
\cite{Eic00}, and this package is a collection of implementations for these 
and other methods. 

We refer to \cite{Rob82}, page 147ff, and \cite{Seg83} for background on 
polycyclic groups. Further, in \cite{Sims94} a variation of the basic 
methods for groups with pc-presentation is introduced. Finally, we
note that the main GAP library contains many practical algorithms to 
compute with finite polycyclic groups, see Section "ref:polycyclic groups"
of the reference manual. 

