Dear GAP Forum,
The GAP team are delighted to announce the release of GAP 4.1 -- the
first version of GAP 4 to be released for general use. This version
replaces all of the beta test and prerelease versions of GAP 4, continued
use of which we do not recommend. For most purposes this version also
replaces the final released version of GAP 3, version 3.4.4, and we would
encourage GAP 3 users to move to GAP 4 at this stage, as that is where
our development efforts will continue to be focussed.
There are a few parts of the code and of the manual of GAP 3.4.4 that
have not made it for this release, in most cases because work on their
further improvement is still going on. We hope to include these in GAP4
as soon as possible. These parts are listed at the end of this
announcement, Similarly several of the share packages of GAP3 still have
to be updated and linked to GAP4. We are working with the authors to
ensure that these will be added as soon as possible. So users should be
able to decide if they still have to continue using GAP 3.4.4 because
they need some of these parts.
At this time, the discussion forum `gap4', which was used by the GAP4
beta testers will be merged with the Gap Forum (this will happen
automatically, subscribers do not have to do anything), and discussion of
GAP4 in the Forum is expressly encouraged.
You can find detailed information about the new version on our World Wide
Web site, which is located at
with mirror sites at:
http://www.math.rwth-aachen.de/~GAP/ Aachen, Germany
http://mirrors.ccs.neu.edu/GAP/ Boston, USA
Australian National University
These sites are linked to the FTP archive from which you can download the
software, which you can also find directly at ftp-gap.dcs.st-and.ac.uk in
Note that you cannot upgrade a GAP 3 installation "in place" to GAP 4, as
the structure of the directories has changed. You should install GAP 4
separately. Beta testers should also note that some details of the
installation procedure have changed since the last beta version.
If you install GAP 4.1, please send a brief message to
`email@example.com' confirming that you have done so. Please cite GAP
in any publication resulting from its use. The correct form of citation
can be found on the Web pages.
GAP remains free and open software, full details of the Copyright can be
found on the Web page, or in the included documentation. GAP is also
highly extensible, and we actively support the contribution, refereeing
and distribution of extensions to the system, in the form of ``share
packages''. Once again, details can be found on the Web, or in the
Following this release we expect (sadly) to release bugfixes from time to
time. They will be announced on the GAP Forum. Please take note of these
announcements and apply the bug fixes to your installation.
Changes Since Earlier Releases ==============================
The Web page http://www-gap.dcs.st-and.ac.uk/gap/Info4/changes.html (also
on the mirror sites) contains a summary of the changes since the last
beta release and of the most important changes between GAP 3 and GAP 4.
The general philosophy of the changes since GAP 3 is two-fold. Firstly,
many assumptions in the design of GAP 3 revealed its authors' primary
interest in group theory, and indeed in finite group theory. Although
much of the GAP 4 library is concerned with groups, the basic design
now allows extension to other algebraic structures, as witnessed by the
inclusion of substantial bodies of algorithms for computation with
semigroups and Lie algebras. Secondly, as the scale of the system, and
the number of people using and contributing to it has grown, some aspects
of the underlying system have proved to be restricting, and these have
been improved as part of comprehensive re-engineering of the system. This
has included the new method selection system, which underpins the
library, and a new, much more flexible, share package interface.
Details of these changes can be found on the Web, or in chapter
"Migrating to GAP 4" of the tutorial manual. It is perhaps worth
mentioning a few points here.
Firstly, much remains unchanged, from the perspective of the mathematical
* The syntax of that part of the GAP language that most users need
for investigating mathematical problems.
* The great majority of function names.
* Data libraries and the access to them.
A number of visible aspects have changed:
* Some function names that need finer specifications now that there are
more structures available in GAP.
* The access to information already obtained about a mathematical
structure. In GAP 3 such information about a group could be looked
up by directly inspecting the group record, whereas in GAP 4
functions must be used to access such information.
Behind the scenes, much has changed:
* A new kernel, with improvements in memory management and in
the language interpreter, as well as new features such as saving of
workspaces and the possibility of compilation of GAP code into C.
* A new structure to the library, based upon a new type and
method selection system, which is able to support a broader range of
algebraic computation and to make the structure of the library simpler
and more modular.
* New and faster algorithms in many mathematical areas.
* Data structures and algorithms for new mathematical objects, such as
algebras and semigroups.
* A new and more flexible structure for the GAP installation
and documentation, which means, for example, that a share package and
its documentation can be installed and be fully usable without any changes
to the GAP system.
A very few features of GAP 3 are not yet available in GAP 4.
* Only a few of the GAP 3 share packages have yet been converted
for use with GAP 4 (although several new packages are available
only in GAP 4).
* The Galois group determination algorithms which were
implemented in the GAP 3 library are not present in GAP 4.
* The algorithms for the factorization of polynomials over
algebraic number fields which were implemented in the GAP 3 library
are not present in GAP 4.
* The library of crystallographic groups which was present in
GAP 3 is now part of a share package `crystcat', which has been
submitted for refereeing and is distributed with this release as a
* The library of irreducible maximal finite integral matrix
groups is not yet available.
* The p-quotient and soluble quotient algorithms are
implemented in the GAP 4 library, but those implementations are not
yet described in the documentation. If you have a pressing need to use
them, please contact `gap-trouble'.
* A few functions used in interactively constructing character tables
which were present in GAP 3 are not in GAP 4.
Remaining Issues with this Release ==================================
Unfortunately, some work on the Reference manual was not completed in
time for this release. As well as the missing chapters on the p-quotient
and soluble quotient algorithms alluded to above, a number of other
chapters, while present, are not as well written, clear or complete as we
would like them to be. As far as we know, they do not contain actual
errors. These chapters are labelled "Preliminary" and will be improved as
soon as possible.
It is our intention, in line with our emphasis on the extensibility of
GAP to produce several items of new programmers documentation in the near
future, to extend and supplement the present "Programming" and
Very many people have contributed to the development of GAP 4 over
several years. This announcement is not the place to list all of them,
but I must mention:
Prof Joachim Neubueser -- who has led, inspired and driven GAP development since its inception in the mid 1980s
Martin Schoenert -- who laid the foundations of many of the central
concepts of GAP4, and wrote much of the kernel
Frank Celler and Thomas Breuer -- who worked with Martin to refine the concepts, and did a lot of work on the library conversion to put them into practice Alexander Hulpke -- who coordinated the later part of the library conversion, and the beta testing, debugging, refinement and release of GAP 4.1
Bettina Eick -- who all did large amounts of work on the library conversion
Volkmar Felsch and development
Willem de Graaf
I should also like to thank all the GAP 4 beta-testers, package
developers, manual proof readers and others who have given us extremely
valuable and positive feedback.
GAP development in St Andrews has been financially supported by the
Engineering and Physical Sciences Research Council, the Leverhulme Trust,
the European Commission (ESPRIT programme), the Royal Society of
Edinburgh and the British Council, to all of whom we are very grateful.
Development also takes place at other centres with support from other
It finally remains for me to wish you all pleasure and success in using
GAP, and to invite your constructive comment and criticism.
St Andrews 26 July 1999 Steve Linton for the GAP Team