The following announcement comes from Herbert Pahlings, a member of the
Dear GAP Forum members:
It is a pleasure to announce the availabiltiy of three GAP 4 share packages
for the computation with crystallographic groups. These are
CrystGap 4.0 by Bettina Eick, Franz G\"ahler and Werner Nickel ,
CrystCat by Volkmar Felsch and Franz G\"ahler ,
Interface to Carat by Franz G\"ahler.
CrystGap 4.0 is the successor of the GAP 3 share package with the same
name, which had been developed by Bettina Eick, Franz G\"ahler and
Werner Nickel. During the porting process (mostly by Franz G\"ahler),
large parts of the code have been rewritten, and the functionality has
been extended considerably. CrystGap provides a rich set of methods to
compute with affine crystallographic groups, in particular space
groups. In constrast to the GAP 3 version, affine crystallographic
groups are now fully supported both in the representation acting
from the right and in the representation acting from the left. The
latter representation is the one preferred by crystallographers.
There are also functions to determine representatives of all space
group types of a given dimension.
CrystGap is implemented in the GAP 4 language, and runs on any
system supporting GAP 4. It requires at least GAP version 4.1,
with fixes up 1,2 and 4 applied, or (even easier) the version 4.2.
However, certain commands may need other share packages such as Carat
or XGAP. Both Carat and XGAP are available only under Unix. Carat may
be required by functions that need to know normalizers or conjugators
of finite unimodular groups in in GL(n,Z) (see Section 9 of the CrystGap
manual). The function WyckoffGraph needs the package XGAP.
The share package CrystCat, by Volkmar Felsch and Franz G\"ahler,
provides a catalog of crystallographic groups of dimensions 2, 3,
and 4 which covers most of the data contained in the book
"Crystallographic groups of four-dimensional space" by H. Brown,
R. B\"ulow, J. Neub\"user, H. Wondratschek, and H. Zassenhaus
(John Wiley, New York, 1978). This catalog was previously
available in the library of GAP 3. The present version for GAP 4
has been moved into a separate package, because it requires the
share package CrystGap, which is loaded automatically. The benefit
of this is that space groups extracted from the catalog now have
the rich set of methods provided by CrystGap at their disposal,
and are no longer dumb lists of generators. Moreover, space groups
are now fully supported in both the representation acting from the
left and the representation acting from the right.
The share package "Interface to Carat", developed by Franz G\"ahler,
provides GAP interface routines to some of the stand-alone programs
in the package Carat, developed by J. Opgenorth, W. Plesken, and
T. Schulz at Lehrstuhl B f\"ur Mathematik, RWTH Aachen. Carat is
another package for the computation with crystallographic groups.
It is to a large extent complementary to CrystGap. In particular,
it provides routines for the computation of normalizers and
conjugators of finite unimodular groups in GL(n,Z), and routines
for the computation of Bravais groups, which are all missing in
CrystGap. Furthermore, it provides also a catalogue of Bravais
groups up to dimension 6. CrystGap automatically loads Carat when
it is available, and makes use of its functions where necessary.
This share package thereby extends the functionality
of CrystGap considerably.
Please note that Carat itself is NOT part of the share package.
All rights and responsibilities regarding Carat remain with its
authors. However, for your convenience, and with the permission of the
Carat authors, a copy of Carat is included in the package. It is this
version with which the interface routines have been tested. The most
recent version of Carat can be obtained at
Note that Carat is implemented in C, and needs to be compiled.
It runs only on Unix systems, so that the interface routines are
of no use under Windows or on the Macintosh.
The GAP4 share packages web page
and mirrors give instructions for obtaining these and other share
Herbert Pahlings (GAP-council)