CARAT is a computer package which handles enumeration, construction, recognition,
and comparison problems for crystallographic groups up to dimension 6.
The name CARAT itself is an acronym for Crystallographic AlgoRithms And
CARAT is a compilation of various programs written in C developed under
HP-UX and Linux, and should be portable to most Unices.
In particular CARAT does not come together with an environment, but
relies on the ordinary unixes shell and files for input and output.
This is one of the points which distiguishes CARAT from most other packages
for computer algebra, like
GAP. If you would like such a user interface, the current version of GAP comes
with an interface to CARAT, which enables one to use the most important
functions of CARAT, but not all.
Some of the features of CARAT
CARAT can construct any space group up to degree 6 from its build in table
CARAT can name a space group R given by generators unily, ie. generate
a name which only depends on the isomorphism of R and determines it uniquely.
Decide Q-, Z- and affine equivalence of finite unimodular groups and space
Calculate the integral normalizer of a finite unimodular group.
CARAT-introduction and Page of low dimensional Bieberbach groups
Here we provide some postscript files of papers which are dealing with
CARAT or have been written with the help of it:
J. Opgenorth, W. Plesken, T. Schulz: Crystallographic
algorithms and tables, Acta. Cryst (1998), 517-531.
deals with the basic algorithms behind CARAT, and can be viewed as an introduction
to the underlying structures to crystallographic groups from an algorithmic
point of view.
W. Plesken, T. Schulz: Counting crystallographic
groups in low dimensions, Experimental Mathematics 9:3 (2000), 407-411
The paper describes
the results obtained by CARAT in counting all space groups up to dimension 6.
C. Cid, T. Schulz: Computation of Five and Six Dimensional Bieberbach
Groups, Experimental Mathematics 10:1 (2001), 109-115
This paper is concerned with the computation and classification of 5- and 6-dimensional torsion-free
crystallographic groups, also known as Bieberbach groups.
As a result, we have the following table for Crystallographic and Bieberbach groups up
to dimension 6:
* in the original version of CARAT, the Q-classes for the group group.7477 and max.22 were in fact the same by accident, hence resulting in these corrected figures.
|No of Q-classes
|No of Z-classes
|No of affine classes
|No of Bieberbach groups
Here you can download
CARAT (version 2.1b1 19.07.2008, including some adaptations of the code to
recent gcc versions by Franz Gähler, Feb. 2007). For
installation, please extract the file downloaded and refer to the file README.install.
You can also download historic versions of CARAT.
Changes of the new version
- The new function Graph calculates the graph of
inclusions of a geometric class of space groups.
- The new function KSubgroups calculates
maximal klassengleich subgroups.
- The new function KSupergroups calculates
minimal klassengleich supergroups
- The new function TSubgroups calculates
maximal translationengleich subgroups.
- The new function TSupergroups calculates
minimal translationengleich supergroupe.
- Bugfixes have been made for Z_equiv, Name and
- Extract -r -D writes space groups directly into files.
- Conv now also converts groups and converts to TeX.
- Name -c gives the name of a (space-)group in a short form. The
Hermann-Mauguin-Symbols can be calculated in dimension 2 and 3 now
- Extensions/Vectorsystems -S writes representatives of
the affine classes in files.
If you have any question concerning CARAT (e.g. installation etc.),
or find a bug in the package, please do not hesitate to contact us:
Lehrstuhl B für Mathematik
Prof. Dr. W. Plesken
Tel: +49 241 80 94535
carat AT momo.math.rwth-aachen.de