Computing with Crystallographic Groups:

The GAP 4 Packages Cryst, CrystCat, and Carat

The GAP 4 packages Cryst, CrystCat and Carat provide functions for the computation with crystallographic groups in GAP 4. Although these packages have different origins and authorships, they work together and complement each other. The Cryst package, implemented in the GAP 4 language, mainly provides functionality for the computation with affine crystallographic groups, whereas the package Carat provides a GAP interface to the stand-alone package CARAT, whose strength is on linear crystallographic groups, in particular the computation of normalizers and Bravais groups of finite unimodular groups. The two packages therefore complement each other. Indeed, for many functions, Cryst makes use of functionality provided by CARAT. On the other hand, the GAP interface to CARAT makes the stand-alone package CARAT much more comfortable to use. Finally, the package CrystCat provides a catalog of all crystallographic groups up to dimension 4. These groups have the rich set of methods provided by the package Cryst at their disposal.


The Cryst Package

The GAP 4 package Cryst, previously known as CrystGAP, is the successor of the CrystGAP package for GAP 3. During the porting process to GAP 4, large parts of the code have been rewritten, and the functionality has been extended considerably. Cryst 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.

Cryst is implemented in the GAP 4 language. Certain commands may need other GAP 4 packages such as Carat or XGAP, however. 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). The function WyckoffGraph needs the package XGAP.

Authors: Bettina Eick, Franz Gähler, and Werner Nickel

Language: GAP 4

Operating System: Any; some parts require XGAP or Carat (and thus UNIX)

Current version: 4.1.12 (10 Oct 2013)

Download: cryst-4.1.12.tar.gz (287 kB), Installation Instructions, Changelog

Bettina Eick

Institut Computational Mathematics
Fachbereich Mathematik und Informatik
Technische Universität Braunschweig
Pockelsstr. 14, 38106 Braunschweig, Germany
Email: beick@tu-bs.de

Franz Gähler

Fakultät für Mathematik, Universität Bielefeld,
Postfach 10 01 31, D-33501 Bielefeld, Germany
Email: gaehler@math.uni-bielefeld.de

Werner Nickel

Fachbereich 4, AG 2, Technische Universität Darmstadt
Schlossgartenstr. 7, 64289 Darmstadt, Germany
Email: nickel@mathematik.tu-darmstadt.de


The CrystCat Package

The GAP 4 package CrystCat 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ülow, J. Neubüser, 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 package Cryst, which is loaded automatically by CrystCat. The benefit of this is that space groups extracted from the catalog now have the rich set of methods provided by Cryst 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.

Authors: Volkmar Felsch and Franz Gähler

Language: GAP 4; requires also the package Cryst

Operating System: Any

Current version: 1.1.6 (29 May 2012)

Download: crystcat-1.1.6.tar.gz (312 kB), Installation Instructions, Changelog

Volkmar Felsch

Lehrstuhl D für Mathematik, RWTH Aachen
Templergraben 64, 52062 Aachen, Germany
Email: Volkmar.Felsch@Math.RWTH-Aachen.DE

Franz Gähler

Fakultät für Mathematik, Universität Bielefeld,
Postfach 10 01 31, D-33501 Bielefeld, Germany
Email: gaehler@math.uni-bielefeld.de


The Carat Package

The GAP 4 package Carat provides GAP interface routines to some of the stand-alone programs of the package CARAT, developed by J. Opgenorth, W. Plesken, and T. Schulz at Lehrstuhl B für Mathematik, RWTH Aachen. CARAT is a package for the computation with crystallographic groups. It is implemented in C, and thus needs to be compiled. It runs on Unix systems only.

CARAT is to a large extent complementary to the GAP 4 package Cryst. 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 Cryst. Furthermore, it provides also a catalogue of Bravais groups up to dimension 6. Cryst automatically loads Carat when it is available, and makes use of its functions where necessary. The Carat package thereby extends the functionality of the package Cryst considerably.

Please note that the present package consists of the GAP interface routines to CARAT, even though a copy of CARAT itself is included in the distribution. All rights and responsibilities regarding CARAT remain with its authors. The most recent version of CARAT can be obtained at the CARAT Home Page. Questions and bug reports regarding CARAT itself should be addressed to the CARAT authors.

Author: Franz Gähler

Fakultät für Mathematik, Universität Bielefeld,
Postfach 10 01 31, D-33501 Bielefeld, Germany
Email: gaehler@math.uni-bielefeld.de

Authors of CARAT: J. Opgenorth, W. Plesken, and T. Schulz

Lehrstuhl B für Mathematik, RWTH Aachen
Templergraben 64, 52062 Aachen, Germany
WWW: http://wwwb.math.rwth-aachen.de/carat/index.html
Email: carat@momo.math.rwth-aachen.de

Language: GAP 4 (Interface Routines) and C (CARAT)

Operating System: Unix

Current version: 2.1.6 (23 May 2016), based on CARAT 2.1b1

Download: carat-2.1.6.tar.gz (8730 kB), Installation Instructions, Changelog