%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%W  intro.tex             GAP documentation                  Bettina Eick
%W                                                          Werner Nickel
%%
%H  $Id: preface.tex,v 1.10 2003/10/22 10:33:26 gap Exp $
%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{Preface}

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
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 the Chapter "Introduction to polycyclic presentations". 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 {\GAP} 4 package {\sf polycyclic} 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. This is described in the Section on 
polycyclic groups in the reference manual. 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
