60.1 Crystallographic Groups

An affine crystallographic group G is a subgroup of the group of all Euclidean motions of d-dimensional space, with the property that its subgroup T of all pure translations is a freely abelian, normal subgroup of G, which has rank at most equal to d, and which has finite index in G. In this package, the term CrystGroup always refers to such an affine crystallographic group. Linear matrix groups, whether crystallographic or not, will carry different designations (see below). CrystGroups are represented as special matrix groups, whose elements are affine matrices of the form

                     [ M 0 ]
                     [ t 1 ]
acting on row vectors (x,1) from the right. Note that this is different from the crystallographic convention, where matrices usually act from the left on column vectors (see also The Crystallographic Groups Library). We have adopted this convention to maintain compatibility with the rest of GAP.

The ``linear'' parts M of the elements of a CrystGroup G generate the point group P of G, which is isomorphic to the quotient G/T. There is a natural homomorphism from G to P, whose kernel is T. The translation vectors of the elements of T generate a free Z-module L, called the translation lattice of G. CrystGroups can be defined with respect to any basis of Euclidean space, but internally most computations will be done in a basis which contains a basis of L (see More about Crystallographic Groups).

CrystGroups carry a special operations record CrystGroupOps, and are identified with a tag isCrystGroup. CrystGroups must be constructed with a call to CrystGroup (see CrystGroup) which sets the tag isCrystGroup to true, and sets the operations record to CrystGroupOps.

Warning: The groups in GAP' s crystallographic groups library (see The Crystallographic Groups Library), whether they are extracted with SpaceGroup or TransposedSpaceGroup, are not CrystGroups in the sense of this package, because CrystGroups have different record entries and a different operations record. However, a group extracted with TransposedSpaceGroup from that library can be converted to a CrystGroup by a call to CrystGroup (see CrystGroup).

Up Top Next
Index

GAP 3.4.4
April 1997