-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.4
===================
-- and what is still the same?
Compared to GAP 3.4.3 the size of GAP 3.4.4 has more than doubled. This sounds
impressive but is also a bit frightening. This document lists the changes
from version 3.4 patchlevel 3 to 3.4 patchlevel 4 and explains which parts of
GAP 3.43 have hardly (or not) changed at all.
The first fact about GAP 3.4.4 and perhaps the most important one is that the
kernel has remained almost untouched. Two bugs have been fixed. Both bugs
are not dangerous in the sense that they could not produce wrong results
without warning. Therefore, it is not strictly necessary to recompile the GAP
kernel when you upgrade your GAP installation from 3.4.3 to 3.4.4. The first
bug affects the break loop -- it was possible in 3.4.3 to access incomplete
GAP data structures from within the break loop. In most cases this causes GAP
to crash. The second bug affected the order of evaluation of arguments to
internal list functions and could also lead to a crash of GAP.
The following lists the subdirectories in GAP 3.4.3 and GAP 3.4.4 together
with their sizes to give some impression of why GAP 3.4.4 is so much bigger
than GAP 3.4.3. Note that there are some directories which are new in GAP
3.4.4.
Directory 3.4.3 3.4.4
--------------------------------
doc 3321 10053
etc 2506 2559
grp 2672 6776
lib 6009 4792
pkg 12492 38639
src 3738 3747
tbl 9406 9598
thr 50 53
tom 1451 1430
two 2294 2259
htm 5321 HTML version of the manual
sml 12470 groups of order less than 1000
tst 67 test files
utl 400 unzoo & patch
The Macintosh version
---------------------
Burkhard H"oflings port of GAP for MacOS has been integrated into the GAP
distribution. It needs files in addition to the files in src which are in the
a subdirectory called macsrc.
Changes to the GAP library
--------------------------
Since the release of GAP 3.4.3 29 bugs in the GAP library have been identified
and fixed. The bug fixes were sent to the GAP-Forum. All these bug fixes are
incorporated into GAP 3.4.4.
In addition to that, the functionality of the GAP library has been improved
and extended. Comparing the files init.g in GAP 3.4.3 and GAP 3.4.4 giives a
quick overview over new functions.
The changes to the library include:
The Tietze transformation package has been extended and now allows to track
the history of generators through a series of Tietze transformations and to
protect individual generators from being removed.
New routines for working with matrix groups over finite fields (by
Frank Luebeck) which drastically improve the performance.
Speedups to the list handling routines by using more kerner functions
(by Jean Michel)
Several improvements and bugfixes in the routines for handling and
constructing character tables.
Routines for constructing character tables by the use of Clifford matrices
(by Ute Schiffer)
Improval of the routines for constructing special Ag systems.
Improved and streamlined code for the isomorphism and automorphisms search
routines.
Improvements of the algorithms for polynomial factorization.
Changes to the documentation
----------------------------
Manuals for the new share packages have been included and manuals for the
updated share package have been replaced. The complete GAP manual is now
about 1600 pages long -- probably too much to print it all. There is now an
HTML version of the manual in the subdirectory htm.
Changes to the data libraries
-----------------------------
The data libraries have been extended
-- to the transitive groups of degree less than 24,
-- by the groups of order less than 1000
(except those of order 512 and 768)
-- by new character tables
The new transitive groups are included in the subdirectory grp. The groups of
order less than 1000 are in the new subdirectory sml. The changes to the
character tables affect the subdirectory tbl.
The tables of markes (subdirectory tom), the library of 3-groups (thr) and the
library of 2-groups (two) are identical with the respective libraries in GAP
3.4.3.
Changes to the share packages
-----------------------------
Various share packages have been added or replaced older versions. Details
can be found in the respective sections of the manual.
Directory Status Superseded by Replaced
--------------------------------------------------------------------------
anupq updated
anusq
autag new
chevie new weyl
cohomolo
cryst new
dce
gliss new
grape updated
grim new
guava updated
kbmag new
matrix smash
meataxe
nq
pcqa new
sisyphos
specht new
ve
xgap
xmod new
smash matrix
weyl chevie
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) 1997 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').
The port for the Macintosh for use with CodeWarrior 11 was written by
Burkhard H"ofling ('hofling@maths.anu.edu.au'). 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@dcs.st-and.ac.uk', 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 1600 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 processor under MS-DOS,
Windows, or OS/2, for the Atari ST under TOS and Apple Macintosh using
the CodeWarrior compiler. Note that about 8 MByte of main memory and
about 20MB of disk space are required to run GAP. A full GAP
installation, including all share packages and data libraries can use up
to 100MB of disk space.
The easiest way to get GAP 3.4 for most users is probably via the
World Wide Web. The main GAP Web site is found at
http://www-gap.dcs.st-and.ac.uk/~gap.
There are three *mirror sites* updated automatically each night, at:
http://www.math.rwth-aachen.de/LDFM/GAP
http://www.ccs.neu.edu/Cobwebs/GAP and
http://wwwmaths.anu.edu.au/algebra/GAP/WWW.
At these sites you can browse this manual, download the system and
contributed extensions, read past postings to the GAP forum, and
find out about authors of and contributors to GAP, publications
that cited GAP and GAP related events.
GAP 3.4 can also be obtained by anonymous *ftp* from the following
servers.
'ftp-gap.dcs.st-and.ac.uk':
School of Mathematical and Computational Sciences,
University of St Andrews, Scotland
directory '/pub/gap/gap/'.
'ftp.math.rwth-aachen.de':
Lehrstuhl D fur Mathematik, RWTH Aachen, Germany,
directory '/pub/gap/'.
'math.ucla.edu':
Math. Dept., Univ. of California at Los Angeles,
directory '/pub/gap/'.
'wuarchive.wustl.edu':
Math. Archives, Washington Univ. at St. Louis,
directory '/edu/math/software/multi-platform/gap'.
'dehn.mth.pdx.edu':
PSU Mathematics Department, Portland State Univ.,
directory '/mirror/gap/'
'pell.anu.edu.au':
School of Mathematical Sciences, Australian National Univ.,
Canberra,
directory '/pub/algebra/gap/'.
'ftp' to the server *closest* to you, login as user 'ftp' and give your
full e-mail address as password. 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.
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.
'gap3r4p4.zoo':
This file contains the *complete* distribution
of GAP version 3 release 4 current patchlevel 4.
It is a 'zoo' archive approximately 18 MByte large.
'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
file 'FILES' tells you which executables are
here.
'split':
This directory contains the complete distribution
of GAP 3r4p4 in several archives. This allows
you to get only the parts that you are really
interested in. The 'FILES' 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 'FILES' 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 'gap3r4p4' 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 'gap3r4p4.zoo', the appropriate zoo
archive extractor, e.g., 'unzoo.exe', which is in the
subdirectory 'util/' on the 'ftp' server, and the appropriate executable,
e.g., 'gapdjg.zoo', which is in the subdirectory 'bin/'.
You may have to get the latter 2 files from 'ftp-gap.dcs.st-and.ac.uk',
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 bin3r4p4.zoo
unzoo -x -o gap3r4p4.zoo
Now change into the 'gap3r4p4\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 'gap3r4p4/' 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 'gap3r4p4.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 gap3r4p4.zoo
Change into the source directory 'gap3r4p4/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