
The GAP 4 share package `Polycyclic'
====================================

Introduction
------------

This is a  prerelease (version 1.0) of  the share package `Polycyclic'
written for  GAP 4.  It provides  a basis  for working with polycyclic
groups.  Presently,  the main way of  defining  a polycyclic  group in
this package is via a polycyclic presentation.

The features of this package include
        
        - creating a polycyclic group from a polycyclic presentation 

        - arithmetic in a polycyclic group

        - computation with subgroups and factor groups of a polycyclic
          group

        - computation of standard subgroup series such as the derived 
          series, the lower central series

        - computation of the first and second cohomology 

There is a manual in the subdirectory 'doc' written in plain TeX which
describes the available functions in detail.

We release this version because we some people have expressed interest
in using the package.   We also hope that there  are people  who would
like to try it and are willing to give us feed back about the package.

If you have used `Polycyclic', please let  us know by sending an email
to one (or both) of us.  If you  have found important features missing
or if there is a bug, we would appreciate it very much  if you send us
an email.

Bettina Eick  <eick@mathematik.uni-kassel.de>
Werner Nickel <nickel@mathematik.tu-darmstadt.de>

You  can also reach  us by sending an email   to the general GAP email
address for problems with GAP:

                     gap-trouble@dcs.st-and.ac.uk

Contents
--------

With this version you should have obtained the following files and
directories:

        README          this file

        doc             the manual

        gap             the GAP code, it contains

                basic   basic stuff for pcp groups
                cohom   cohomology for pcp groups
                exam    examples of pcp groups
                pcpgrp  higher level functions for pcp groups

        init.g          the file that initializes this package
        read.g          The file that reads in the package        


Unpacking
---------

You  may have got  the  package as a  zoo  archive (filename ends with
.zoo) or a compressed tar archive  (filename ends with .tgz).  In each
case,   use the  appropriate  command  on  your system   to unpack the
archive.

On UNIX systems the zoo archive may be unpacked by

    zoo x polycyclic.zoo

which will unpack the code into a directory 'polycyclic' in the
current directory. 

On UNIX systems the compressed tar archive may be unpacked by

    tar xzf polycyclic.tgz

or, if tar on your system does not understand the option z, by

    gunzip polycyclic.tgz
    tar xf polycyclic.tar

which will in each case unpack the code into a directory 'polycyclic'
in the current directory.

If  your system does   not have a zoo programme,   you can pick up the
C-code for unzoo from our web page and compile it on your system.  For
this your system  needs to have  a  C-compiler.  unzoo can be  used to
unpack a zoo archive:

    unzoo -x polycyclic.zoo

unpacks  the  code  into a    directory  'polycyclic'  in the  current
directory.


Installation
------------

There are  two ways of  installing this package.  See  also  the GAP 4
manual about the installation of share packages.

If you have write  access to the GAP   root directory on your  system,
then copy  `Polycyclic' into the  subdirectory `pkg'  of  the GAP root
directory.

If you do  not have write access to   the GAP root  directory, you can
also install  `Polycyclic' anywhere in  your home directory.  For this
create a  directory 'pkg' and  move `Polycyclic'  into this directory.
Let's say the full name is '/home/itsme/compalg/pkg'.

Now GAP needs to be told that is should scan that directory for share
packages.  This is achieved by calling gap with the option -l:

        gap4 -l '/home/gap/4.0/;/home/itsme/compalg/'

The option -l takes a list of directory names separated by semicolons.
In the  example, the first  directory  is the  directory  where GAP is
installed  on your system  and  the second one is   the one where your
`pkg' directory is.  If you do not know where GAP is installed on your
system, here is a way of finding out:

Start GAP and type in GAP_ROOT_PATHS;

gap> GAP_ROOT_PATHS;
[ "/home/gap/4.0/" ]
gap>

You will get a list of strings.  Use these strings as argument for the
-l option with your GAP directory appended to the list.

Once you have successfully installed `Polycyclic', start GAP (possibly
using the option -l) and type in

gap> RequirePackage( "polycyclic" );
true;
gap>
