-quotient and a

-group generation algorithm and an isomorphism testing algorithm and functions to interface this program with GAP. The *NQ* package, written by W. Nickel, consists of a C program implementing an algorithm to compute nilpotent quotients of finitely presented groups and a function to call this program from GAP. The *Weyl* package, written by M. Geck, contains functions to compute with finite Weyl groups, associated (Iwahori-) Hecke algebras, and their representations. The *Grape* package, written by L. Soicher, consists of functions to work with graphs, and contains also functions to call the program 'nauty', written by B. McKay, which computes automorphism groups of graphs. The *XGAP* package, written by F. Celler and S. Keitemeier, allows the user to run GAP under the X window system and e.g. work with subgroup lattices interactively. The *Sisyphos* package, written by M. Wursthorn, consists of a program that computes automorphisms of

-groups and functions to interface the program with GAP. The
*Meataxe* package, written by M. Ringe, consists of programs to compute
with large matrices and functions to interface those programs with GAP,
so that you can compute with such matrices in GAP without being aware
that external programs are used. The *Vector Enumerator* package,
written by S. Linton, consists of a program that computes the matrix
algebra representation of a finitely presented algebra on a quotient of a
free modul for this algebra. The *Smash* package, written by D. Holt,
C. Leedham-Green, E. A. O'Brien, S. Rees, and F. Celler, consists of
functions that allow the investigation of matrix groups over finite
fields and of G-modules. The *ANU SQ* package, written by A. Niemeyer,
consists of a program to compute solvable quotients of finitely presented
groups, and functions to interface this program with GAP.
What's New in 3.4
=================
GAP 3.4 contains many new functions. The following lists only the
highlights, not the many improvments throughout the library.
GAP now supports algebras, modules, and character functions.
GAP now contains functions to compute Galois groups and field extensions.
GAP now contains functions for the determination of ``special ag
systems'' of solvable groups, which e.g. allow the determination of all
maximal subgroups, pre-Frattini groups, and Eulerian functions.
GAP contains new data libraries of transitive permutation groups and
crystallographic groups.
The Meataxe, Vector Enumerator, Smash, and ANU SQ packages are new.
Copyright
=========
Ceterum censeo:
Nobody has ever paid a licence fee
for using a proof
that shows Sylow's subgroups to exist.
Nobody should ever pay a licence fee
for using a program
that computes Sylow's subgroups.
(J. Neub"user)
GAP is
Copyright (C) 1994 by Lehrstuhl D f"ur Mathematik
RWTH, Templergraben 64, D 52056 Aachen, Germany
GAP can be copied and distributed freely for any non-commercial purpose.
GAP is *not* in the public domain, however. In particular you are not
allowed to incorporate GAP or parts thereof into a commercial product.
If you copy GAP for somebody else, you may ask this person for refund of
your expenses. This should cover cost of media, copying and shipping.
You are not allowed to ask for more than this. In any case you must give
a copy of this copyright notice along with the program.
You are permitted to modify and redistribute GAP, but you are not allowed
to restrict further redistribution. That is to say proprietary
modifications will not be allowed. We want all versions of GAP to remain
free.
If you modify any part of GAP and redistribute it, you must supply a
'README' document. This should specify what modifications you made in
which files. We do not want to take credit or be blamed for your
modifications.
Of course we are interested in all of your modifications. In particular
we would like to see bug-fixes, improvements and new functions. So again
we would appreciate it if you would inform us about all modifications you
make.
GAP is distributed by us without any warranty, to the extent permitted by
applicable state law. We distribute GAP *as is* without warranty of any
kind, either expressed or implied, including, but not limited to, the
implied warranties of merchantability and fitness for a particular
purpose.
The entire risk as to the quality and performance of the program is with
you. Should GAP prove defective, you assume the cost of all necessary
servicing, repair or correction.
In no case unless required by applicable law will we, and/or any other
party who may modify and redistribute GAP as permitted above, be liable
to you for damages, including lost profits, lost monies or other special,
incidental or consequential damages arising out of the use or inability
to use GAP.
The system dependent part for IBM PCs with MS-DOS was written by Steve
Linton ('sal@cs.st-and.ac.uk', 'http://www-theory.cs.st-and.ac.uk/~sal').
The system dependent part for IBM PCs with OS/2 was written by Harald
Boegeholz ('hwb@mathematik.uni-stuttgart.de'). The system dependent part
for VAXen with VMS was written by Paul Doyle ('csedoyle@bodkin.ucg.ie').
The system dependent part for the Macintosh with Mac Programmers Workshop
(MPW) was written by Dave Bayer ('dab@shire.math.columbia.edu'). Many
thanks to them for assigning the copyright to Lehrstuhl D f"ur Mathematik
and/or allowing us to distribute their code.
Some of the executables come with additional copyright notices. Please
check the files that come with the executables.
How to get GAP
==============
GAP is distributed *free of charge*. You can obtain it via 'ftp' and
give it away to your colleagues.
If you get GAP, we would appreciate it if you could notify us, e.g., by
sending a short e-mail message to 'gap@math.rwth-aachen.de', containing
your full name and address, so that we have a rough idea of the number of
users. We also hope that this number will be large enough to convince
various agencies that GAP is a project worthy of (financial) support. If
you publish some result that was partly obtained using GAP, we would
appreciate it if you would cite GAP, just as you would cite another paper
that you used. Again we would appreciate if you could inform us about
such a paper.
We distribute the *full source* for everything, the C code for the
kernel, the GAP code for the library, and the LaTeX code for the manual,
which has at present about 1100 pages. So it should be no problem to get
GAP, even if you have a rather uncommon system. Of course, ports to non
UNIX systems may require some work. We already have ports for IBM PC
compatibles with an Intel 80386 or 80486 under MS-DOS, Windows, or OS/2,
for the Apple Macintosh under MPW (we hope to provide a standalone port
soon), for the Atari ST under TOS, and for DEC VAX and AXP under VMS.
Note that about 4 MByte of main memory and a harddisk are required to run
GAP.
GAP 3.4 (currently at patchlevel 2) can be obtained by anonymous *ftp*
from the following servers.
'ftp.math.rwth-aachen.de':
Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany;
directory '/pub/gap/'.
'archives.math.utk.edu':
Mathematics Archives, University of Tennessee at Knoxville;
directory '/software/multi-platform/gap/'.
'dehn.mth.pdx.edu':
PSU Mathematics Department, Portland State University;
directory '/pub/math/gap/'.
'pell.anu.edu.au':
School of Mathematical Sciences, Australian National University;
directory '/pub/gap/'.
'ftp' to the server *closest* to you, login as user 'ftp' and give your
full e-mail address as password. GAP is in the directory 'pub/gap'.
Remember when you transmit the files to set the file transfer type to
*binary image*, otherwise you will only receive unusable garbage. Those
servers will always have the latest version of GAP available.
For users in the United Kingdom with Janet access 'ftp' may not work.
Please contact Derek Holt (e-mail address 'dfh@maths.warwick.ac.uk'). He
has kindly offered us to distribute GAP in the United Kingdom.
The 'ftp' directory contains the following files. Please check first
which files you need, to avoid transferring those that you don't need.
'README': the file you are currently reading.
'gap3r4p2.zoo': This file contains the *complete* distribution
of GAP version 3 release 4 current patchlevel 2.
It is a 'zoo' archive approximately 8 MByte big.
'unzoo.c': A simple 'zoo' archive extractor, which should be
used to unpack the distribution. The 'utils'
subdirectory contains ready compiled executables
for common systems.
More files are in the following *subdirectories*:
'bin': This directory contains *executables* for systems
that dont come with a C compiler or where another
C compiler produces a faster executable. The
'KERNELS' file tells you which executables are
here.
'split': This directory contains the complete distribution
of GAP 3r4p2 in several 'zoo' archives. This
allows you to get only the parts that you are
really interested in. The 'SPLIT' file tells you
which archive contains what.
'utils': This directory contains several utilities that
you may need to get or upgrade GAP, e.g., 'unzoo'
and 'patch'. The 'UTILS' file tells you which
files are here.
How to install GAP
==================
The file 'doc/install.tex' contains extensive installation instructions.
If however, you are one of those who never read manuals, here is a quick
installation guide.
Ho to install GAP on an IBM PC, Apple Mac, Atari ST, DEC VAX, or DEC AXP
------------------------------------------------------------------------
First go to a directory where you want to install GAP , e.g., 'c:\'.
GAP will be installed in a subdirectory 'gap3r4p2\' of this directory.
You can later move GAP to another location, for example you can first
install it in 'd:\tmp\' and once it works move it to 'c:\'.
Get the GAP distribution onto your computer. One usual way would be to
get the distribution with 'ftp' onto some UNIX workstation and to
download it from there onto your computer, for example with 'kermit'.
Remember that the distribution consists of binary files and that you must
transmit them in binary mode. Another possibility is that you got a set
of floppy disks.
In any case you need the distribution 'gap3r4p2.zoo', the appropriate zoo
archive extractor, e.g., 'unzoo-ibm-i386-msdos.exe', which is in the
subdirectory 'util/' on the 'ftp' server, and the appropriate executable,
e.g., 'bin3r4p2-ibm-i386-msdos.zoo', which is in the subdirectory 'bin/'.
You may have to get the latter 2 files from 'samson.math.rwth-aachen.de',
because some 'ftp' servers may not keep it. We recommend that you use
'unzoo' even if you already have 'zoo' on your system, because 'unzoo'
automatically translates text files to the appropriate local format.
Unpack the executable and the distribution with the command
unzoo -x -o bin3r4p2.zoo
unzoo -x -o gap3r4p2.zoo
Now change into the 'gap3r4p2\bin\' subdirectory and follow the
instructions in the appropriate readme file, e.g., 'README.DOS'.
How to install GAP on a UNIX computer
-------------------------------------
First go to a directory where you want to install GAP, e.g., your home
directory or '/usr/local/lib/'. GAP will be installed in a subdirectory
called 'gap3r4p2/' of this directory. You can later move GAP to another
location, for example you can first install it in your home directory and
once it works move it to '/usr/local/lib/'.
Get the distribution 'gap3r4p2.zoo' and the source for the zoo archive
extractor 'unzoo.c'. How you can get those files is described in the
section "How to get GAP". The usual way would be to get it with
'ftp'onto your machine. Remember that the distribution consists of
binary files and that you must transmit them in binary mode.
Compile the zoo archive extractor 'unzoo' with the command
cc -o unzoo -DSYS_IS_UNIX -O unzoo.c
Unpack the distribution with the command
unzoo -x -o gap3r4p2.zoo
Change into the source directory 'gap3r4p2/src/', print the list of
possible targets with the command 'make', select the target that fits
best, and then compile the kernel with the command
make