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
true, and sets the operations record to
Warning: The groups in GAP' s crystallographic groups library (see
The Crystallographic Groups Library), whether they are extracted with
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