PSCF v1.1
Appendix: Space Group Symmetry

Appendix: Periodic Functions and Fourier Series (Prev)         Appendix: Symmetry-Adapted Bases (Next)        

The space group of a crystal is a set of symmetry operations under which the structure is invariant. Crystal symmetry operations, also known as space group operations, can generally involve combinations of point group operations and translations by fractions of a unit cell. Point group operations are linear operators that describe transformations such as inversion through the origin, reflection through a plane, or rotation around a symmetry axis by some fraction of a full rotation. Point group operations may be represented explicitly by matrices.

Below, we give a succinct discussion of space group symmetry, with an emphasis on aspects used in the PSCF software. Readers who have not encountered these ideas elsewhere may find it useful to also consult a textbook, for which we recommend the book Structure of Materials: An Introduction to Crystallography, Diffraction and Symmetry by Marc De Graef and Michael E. McHenry.

Crystal Symmetry Operations

Definition (Crystal Symmetry Operation) : Every crystal symmetry operation \( A \) is a function that maps every position \( {\bf r} \) within a crystal onto a new position \( A({\bf r}) \), of the form

\[ A({\bf r}) = R {\bf r} + {\bf t} \]

in which \( R \) is an invertible linear operator that acts on the vector \( {\bf r} \) to its right by applying a point group operation (e.g., a reflection, rotation, or inversion), and in which \( {\bf t}\) is a translation vector. The translation vector associated with a space group symmetry operation can be zero, giving a pure point group operation, or can be a sum of translations by rational fractions of a unit cell along Bravais lattice basis vectors.

Notation (Vectors and Dot Products) : Here and hereafter, we use bold faced symbols to denote real D-dimensional vectors such as \( {\bf r} \) or \( {\bf t} \). We define an inner-product space for vectors by defining the dot product \( {\bf a}\cdot{\bf b} \) of two vectors to be given by the usual Euclidean norm computed using a Cartesian vector components. The norm of a vector, denoted by \( |{\bf a}| \), is then given by the Cartesian norm

\[ |{\bf a}| = \sqrt{{\bf a}\cdot{\bf a}} \]

Orthogonality of Point Group Operations : Point group operations are always orthogonal transformations. That is, for any point group operator \( R \),

\[ |R{\bf v}| = |{\bf v}| \]

for any vector \( {\bf v} \).

Definition (Adjoint of a Point Group Operator) The adjoint of any linear operator \( R \) in the space of real D-dimensional vectors is denoted here by \( R^{\dagger} \). The adjoint is defined by the requirement that

\[ (R^{\dagger}{\bf a}) \cdot {\bf b} = {\bf a} \cdot (R {\bf b}) \]

for any two D-dimensional vectors \( {\bf a} \) and \( {\bf b} \) in this space.

Definition (Multiplication of Crystal Symmetry Operations) : Multiplication of symmetry operations is defined such that the product \( AB \) of two symmetry operations \( A \) and \( B \) is the operation whose effect on a vector is given by applying \( B \) followed by \( A \). That is, if \( A \), \( B \), and \( C \) are crystal symmetry operations, such that

\[ C = AB \]

then

\[ C({\bf r}) \equiv A(B({\bf r})) \quad. \]

Multiplication of symmetry operations is not commutative: Generally, \( AB \neq BA \).

Theorem C.1 (Multiplication Rule for Crystal Symmetry Operations) : If \( A \), \( B \) are two symmetry operations

\[ A = (R_{A}, {\bf t}_{A}) \quad B = (R_{B}, {\bf t}_{B}) \quad \]

and \( C = AB \) is their product, then

\[ C = AB = (R_{C}, {\bf t}_{C}) \quad, \]

with

\[ R_{C} = R_{A}R_{B} \quad {\bf t}_{C} = {\bf t}_{A} + R_{A}{\bf t}_{B} \quad. \]

Proof : Observe that \( C({\bf r}) = A(B({\bf r})) \) for any vector \( {\bf r} \), and that

\[ A(B({\bf r})) = A(R_{B}{\bf r} + {\bf t}_{B}) = R_{A} R_{B} {\bf r} + R_{A} {\bf t}_{B} + {\bf t}_{A} \quad. \]

Identity Operation : The identity operation, denoted by \( E \), is the trivial crystal symmetry operation that maps every position onto itself, so that

\[ E({\bf r}) = {\bf r} \quad. \]

This is represented by a pair

\[ E = (I, 0) \quad, \]

in which we use \( I \) to denote the identity point group operation, for which the matrix representation in any basis is an identity matrix. Mutlplication of any other symmetry operation \( A \) by the identity leaves \( A \) unchanged, such that \( EA = AE = A \).

Defininition (Inverse of a Space Group Operation) : Every crystal symmetry operation \( A \) has an inverse, denoted by \( A^{-1} \), which is defined such that

\[ A^{-1}A = A A^{-1} = E \quad. \]

The identity element is equal its own inverse, since \( EE = E \).

Theorem C.2 (Inversion Rule for Crystal Symmetry Operations) : If \(A\) is a crystal symmetry operation

\[ A = (R, {\bf t}) \]

with point group operation \(R\) and translation vector \({\bf t}\), then

\[ A^{-1} = (R^{-1}, -R^{-1}{\bf t}) \quad. \]

Proof : Use the multiplication rule to confirm that \( A^{-1}A = A A^{-1} = (I, 0) = E \).

Space Groups

Definition (Space Group) A space group \( S \) is a set of crystal symmetry operations for which multiplication is defined as discussed above, and which obey the following rules:

  • Inclusion of identity: \( S \) must include the identity \( E \)
  • Closure under inversion: If \( S \) contains an element \( A \), \( S \) must also contain \( A^{-1} \).
  • Closure under multiplication: If \( S \) contains \( A \) and \( B \), it must also contain the product \( A B \).

The set of possible distinct crystallographic space groups is finite and known. There are 230 possible 3D space groups, 17 possible 2D plane groups, and 2 possible symmetry groups in 1D, as discussed here. The pscfpp/data/groups directory contains a set of files that each list all of the symmetry operations for one of these groups.

Bases and Vector Components

Different vector bases are used in PSCF to define components of vectors that represent positions or translations and for vectors that represent reciprocal lattice wavevectors.

Bravais Basis (Positions and Translations)

It is convenient for to define components of position vectors such as a position \( {\bf r} \) or a translation vector \( {\bf t} \) using a basis of Bravais lattice basis vectors. We refer to this as a Bravais basis. Any position vector \( {\bf r} \) may be expressed in a Bravais basis as a sum

\[ {\bf r} = \sum_{i=0}^{D-1} r_{i}{\bf a}_{i} \]

in which \( {\bf a}_{0},\ldots, {\bf a}_{D-1} \) are Bravais lattice basis vectors, while \( r_{0}, \ldots, r_{D-1} \) are components of \( {\bf r} \) in this basis, also known as reduced coordinates. Similarly, the translational vector \( {\bf t} \) associated with a space group symmetry may be expressed as a sum

\[ {\bf t} = t_{0}{\bf a}_{0} + \cdots t_{D-1}{\bf a}_{D-1} \]

in which the components \( t_{0}, \ldots, t_{D-1} \) are all rational numbers (i.e., fractions) with small denominators, such as \( \pm 1/2 \), \( 1/4 \), \( 2/3 \), etc.

Notation: Here and hereafer, we use a notation in which the components of a vector \( {\bf a} \) in a specified basis are denoted by subscripted variables \( a_{0}, \ldots, a_{D-1} \), using bold- and non-bold faced versions of the same symbol for a vector and its components.

A representation of a point group operator \( R \) as a matrix may be defined by using a Bravais basis to define the components of the transformed vector \( R{\bf r} \) for any vector \( {\bf r} \). This gives a representation of the \( R{\bf r} \) as a sum

\[ R {\bf r} = \sum_{i=0}^{D-1} \sum_{j=0}^{D-1} {\bf a}_{i} R_{ij} r_{j} \]

where \( (r_{0}, \ldots, r_{D-1}) \) are components of \( {\bf r} \) and \( R_{ij} \) denotes a matrix element of \( R \) in a Bravais basis. The matrix representation of a point group operation in a Bravais basis must have matrix elements that are all integers (usually 0, 1, or -1), in order to guarantee that this operation maps all Bravais lattice vectors onto other Bravais lattice vectors.

Relationship to source code : PSCF stores the representation of each symmetry operation \( A \) internally as a pair

\[ A = (R, {\bf t}) \]

in which \( R \) is represented as a \( D \times D \) matrix with integer matrix elements and \( {\bf t} \) is represented as a vector with \( D \) components that are represented as rational numbers (i.e., ratios of two integers), in which elements of both \( R \) and \( t \) are defined in a Bravais basis. Each such space group symmetry is represented by an instantiation of a C++ class template Pscf::SpaceSymmetry for which the dimension of space \( D \) is a template parameter, giving a class Pscf::SpaceSymmetry<D>. Each component of the translation vector \( {\bf t} \) is represented by an instance of class Util::Rational, which represents a rational number.

Reciprocal Basis (Wavevectors)

It is convenient to express reciprocal lattice wavevectors in a basis of reciprocal lattice basis vectors, which we refer to as a reciprocal basis. In this representation, each reciprocal lattice wavevector \( G \) is expressed as a linear combination

\[ {\bf G} = \sum_{i=0}^{D-1} G_{i}{\bf b}_{i} \]

in which \( {\bf b}_{0}, \ldots, {\bf b}_{D-1} \) are reciprocal lattice basis vectors, defined such that

\[ {\bf a}_{i}\cdot{\bf b}_{j} = 2\pi \delta_{ij} \quad, \]

for all \( i, j = 0, \ldots, D-1\), and in which \( G_{0}, \ldots, G_{D-1} \) are integer components (Miller indices).

When a reciprocal basis is used for a wavevector \( {\bf G} \) and a Bravais basis is used for a position \( {\bf r} \), then the dot product \( {\bf G}\cdot{\bf r} \) may be expressed as a sum

\[ {\bf G} \cdot {\bf r} = 2\pi \sum_{i=0}^{D-1} G_{i} r_{i} \quad, \]

where \( G_{0}, \ldots, G_{D-1} \) are the integer components of \( {\bf G} \) in a reciprocal basis and \( r_{0}, \ldots, r_{D-1} \) are components of \( {\bf r} \) in a Bravais basis (reduced coordinates).

Adjoint Operators

Theorem C.3 (Matrix Representation of an Adjoint Operator) : Suppose \( R \) is a linear operator such as a point group operation in the inner-product space of D-dimensional real vectors, and that \( R^{\dagger} \) is the adjoint of \( R \). The matrix representation of \( R^{\dagger} \) defined using a reciprocal basis is given by the transpose of the matrix representation of \( R \) defined using a Bravais basis.

Proof : Suppose that \( {\bf G} \) is a reciprocal lattice vector, \( R \) is a linear operator such as a point group operation, and

\[ {\bf G}' = R^{\dagger}{\bf G} \quad. \]

To define \( R^{\dagger}{\bf G} \), we consider the dot product

\[ {\bf G}'\cdot{\bf r} = (R^{\dagger} {\bf G}) \cdot {\bf r} = {\bf G}\cdot (R{\bf r}) \quad, \]

for arbitrary \( {\bf G} \) and \( {\bf r} \) . By using a Bravais basis for \( {\bf r} \) and a reciprocal basis for \( {\bf G} \), we find that

\[ {\bf G}' \cdot {\bf r} = 2\pi \sum_{i=0}^{D-1} \sum_{j=0}^{D-1} G_{i}R_{ij}r_{j} \quad, \]

where \( (r_{0}, \ldots, r_{D-1}) \) are components of \( {\bf r} \) in a Bravais basis, \( (G_{0}, \ldots, G_{D-1}) \) are components of \( {\bf G} \) in a reciprocal basis, and \( R_{ij} \) denotes an element of the matrix representation of \( R \) in a Bravais basis. This expression implies that \( {\bf G}' \) may be expanded in a reciprocal basis as a sum

\[ {\bf G}' = \sum_{j=0}^{D-1} G_{j}' {\bf b}_{j} \]

with components

\[ G_{j}' = \sum_{i=0}^{D-1} G_{i} R_{ij} = \sum_{i=0}^{D-1} R_{ji}^{T} G_{i} \quad, \]

where \( R_{ji}^{T} \) denotes element \( (j, i) \) of the matrix transpose of the matrix representation of \( R \) in a Bravais basis, completing the proof.

Transformation of Fields

Definition (Field) : We refer to any complex-valued periodic function of D-dimensional position within a crystal as a field. A real field has real values at any position.

Notation (Transformation of Fields) : If \( f \) is a field and \( A \) is a crystal symmetry operation, then the notation

\[ f' = fA \]

indicates that \( f' \) is a field for which

\[ f'({\bf r}) = f(A({\bf r})) \]

for all \( {\bf r} \).

Definition (Symmetric Fields) : A field \( f({\bf r}) \) is said to be symmetric or invariant under a space group \( S \) if \( fA = f \) or (equivalently)

\[ f(A({\bf r})) = f({\bf r}) \]

for every crystal symmetry operation \( A \in S \).

The following two simple theorems apply to such symmetric functions:

Theorem C.4 (Symmetry is Preserved by Scalar Multiplication): If \( f({\bf r}) \) is a field that is symmetric under a space group \( S \), and \( c \) is complex constant, then \( cf({\bf r}) \) is also symmetric under \( S \).

Theorem C.5 (Symmetry is Preserved by Complex Conjugation): If \( f({\bf r}) \) is a complex field that is symmetric under a space group \( S \), its complex conjugate \( f^{*}({\bf r}) \) is also invariant under \( S \). This also implies that the real and imaginary parts of a symmetric complex-valued function are also symmetric under \( S \).

Proofs : Suppose \( A = (R, {\bf t}) \) be a symmetry operation in \( S \). If \( f(R{\bf r} + {\bf t}) = f({\bf r})\) for all \( {\bf r} \), then \( c f(R{\bf r} + {\bf t}) = c f({\bf r}) \) and \( f^{*}(R{\bf r} + {\bf t}) = f^{*}({\bf r}) \), proving both of the above theorems.

Transformation of Plane Waves

To construct basis functions, we consider the effect of space group operations on a field that is expressed as a general Fourier series. As a first step, it useful to consider the effect of a symmetry operation on a single complex-exponential wave. The following definition and notation are used to simplify the discussion:

Definition (Plane Wave) : A wave or plane wave \( f \) is a complex field of the form

\[ f({\bf r}) = ce^{i{\bf G}\cdot{\bf r}} \]

in which \( c \) is a constant prefactor and \( {\bf G} \) is a wavevector. A wave has the periodicity of a specified Bravais lattice if and only if \( {\bf G} \) is in the associated reciprocal lattice.

Notation (Wave) : A wave \( f \) can be described compactly as a pair

\[ f = ({\bf G}, c) \]

in which \( {\bf G} \) denotes the associated wavevector and \( c \) is the prefactor.

Theorem C.6 (Transformation of Plane Waves) : If \( f = ({\bf G}, c) \) is a wave and \( A=(R,{\bf t}) \) is a space group symmetry operation, then \( fA \) is a wave

\[ fA = ({\bf G}', c') \]

with a modified wavevector

\[ {\bf G}' = R^{\dagger}{\bf G} \]

and a modified prefactor

\[ c' = c e^{i{\bf G} \cdot {\bf t}} \quad. \]

Proof : Let \( f' = fA \) denote the field that is obtained by applying symmetry operation operation \( A = (R, {\bf t}) \) to a wave \( f({\bf r}) = c e^{i {\bf G}\cdot {\bf r}} \). The resulting function is given explicitly by

\[ f'({\bf r}) = f(A({\bf r})) = c e^{i{\bf G} \cdot (R{\bf r} + {\bf t}) } \quad. \]

By using the definition of an adjoint to write

\[ {\bf G}\cdot (R{\bf r}) \equiv (R^{\dagger}{\bf G})\cdot {\bf r} \]

we may rewrite this function as a plane wave

\[ f'({\bf r}) = c' e^{ i {\bf G}' \cdot {\bf r}} \]

with values of \( {\bf G}' \) and \( c' \) given in the theorem statement.

It is straightforward to confirm that this transformation of waves is invertible: If \( f' = fA \) then \( f = f'A^{-1} \). Two waves that are related in this way can be said to related by the symmetry operation \( A \), or by \( A^{-1} \).

Notation (Transformation of Wavevectors) : If \( {\bf G} \) is a wavevector and \( A= (R, {\bf t}) \) is a space group symmetry operation, then we define \( {\bf G}A \) to be the wavevector of a wave that is obtained by applying symmetry operation \( A \) to a wave with wavevector \( {\bf G} \), giving

\[ {\bf G}A \equiv R^{\dagger}{\bf G} \quad. \]

It is straightforward to show that, for two wavevectors \( {\bf G} \) and \( {\bf G}' \) and a symmetry operation \( A \), the equations \( {\bf G}' = {\bf G}A \) and \( {\bf G} = {\bf G}'A^{-1} \) are equivalent. Two wavevectors that are related in this way can said to be related by symmetry operation \( A \) or \( A^{-1} \).

Observe that the notation defined above, in which the operator appears to the right of the wavevector on which it acts, allows us to treat application of symmetry operators to wavevectors as an associative operation. That is, if \( A = (R_{A}, {\bf t}_{A} )\) and \( B=(R_{B}, {\bf t}_{B} ) \) are crystal symmetry operations and \( {\bf G} \) is a wavevector, then

\[ ({\bf G}A)B = R_{B}^{\dagger}(R_{A}^{\dagger}{\bf G}) = (R_{A}R_{B})^{\dagger}{\bf G} = {\bf G}(AB) \quad, \]

where \( AB \) denotes a product of symmetry operations, defined such that \( (AB)({\bf r}) = A(B({\bf r})) \) for any \( {\bf r} \).

Symmetry Transformations on a Mesh

Numerical computations in the PSCF programs for periodic systems are performed using periodic fields that are actually defined only at positions corresponding to the the nodes of a regular mesh. Fourier transforms for such functions are defined by a discrete Fourier transform, using sums over mesh nodes rather than integrals. In order for us to define the transformation of a function that is defined on such a mesh by a crystal symmetry operations, we must require that set of positions occupied by nodes of the mesh be invariant under all symmetry operations in that group, in the following sense:

Definition (Invariant Mesh) : A regular mesh of values for the reduced position coordinates within a unit cell of a crystal is said to be invariant under a crystal symmetry operation \( A \) if, for every position \( {\bf r} \) of a node of the mesh, the transformed position \( A({\bf r}) \) is also the location of a node of the original mesh. Such a mesh is said to be invariant under a space group \( S \) if it is invariant under every symmetry operation in space group \( S \).

If \( f \) is a function that is defined on the nodes of a mesh, and \( A \) is a symmetry operation, then a transformed function \( fA \) can be defined on the same mesh if and only if the mesh is invariant under \( A \). If a mesh is invariant under \( A \), then we may define a transformed function \( f' = fA \) by requiring that \( f'({\bf r}) = f(A({\bf r})) \) for all values of \( {\bf r} \) that lie on the nodes of the mesh, thereby obtaining a relationship between values of \( f \) and \( f' \) on these nodes. Conversely, if \( f \) is defined on a mesh that is not invariant under symmetry operation \( A \), then we cannot define a transformed function \( f A \) on the same mesh.

To apply arguments about space group symmetry to functions that are defined only on the nodes of a mesh, it is thus necessary to require that we consider a mesh that is invariant under the space group of interest. In practice, this requirement imposes two types constraints on the users choice of values for the number of mesh points along each direction, or each Bravais lattice vector:

The first type of constraint requires that, if there exist symmetry operations in the space group for which the point group operation maps one Bravais lattice basis vector onto another of equal magnitude, an equal number of mesh points must be used along the two associated directions. Operations that can impose this type of constraint include diagonal reflections in cubic or tetragonal 3D lattices and 3 or 4 fold rotations. This requirement implies, for example, that equal numbers of mesh points must be used along all orthogonal directions in a 3D cubic or 2D square lattice, along directions associated with different Bravais basis vectors of a 2D hexagonal lattice, or along the two directions that are related by symmetry in a 3D tetragonal lattice.

A second type of constraint requires that the number of mesh points along each direction must be chosen so that the mesh is invariant under all translations associated with elements of the space group. For example, if a space group contains any symmetry operation for which the translation vector \( {\bf t} \) has a component associated with a particular direction that is equal to 1/4 when expressed in a Bravais basis, then the number of mesh points along that direction must be a multiple of 4.

PSCF requires that the user enter mesh dimensions that yield a mesh that is invariant under the space group, in the sense described above. If this condition is not satisfied, the function that constructs symmetry-adapted basis functions will print an error message indicating the nature of the problem and then halt execution.


Appendix: Periodic Functions and Fourier Series (Prev)         User Guide (Up)         Appendix: Symmetry-Adapted Bases (Next)