SIRIUS 7.5.0
Electronic structure library and applications
|
SIRIUS uses Spglib to find the spacial symmetry operations. Spglib defines symmetry operation in fractional coordinates:
\[ {\bf x'} = \{ {\bf R} | {\bf t} \} {\bf x} \equiv {\bf R}{\bf x} + {\bf t} \]
where R is the proper or improper rotation matrix with elements equal to -1,0,1 and determinant of 1 (pure rotation) or -1 (rotoreflection) and t is the fractional translation, associated with the symmetry operation. The inverse of the symmetry operation is:
\[ {\bf x} = \{ {\bf R} | {\bf t} \}^{-1} {\bf x'} = {\bf R}^{-1} ({\bf x'} - {\bf t}) = {\bf R}^{-1} {\bf x'} - {\bf R}^{-1} {\bf t} \]
We will always use an active transformation (transformation of vectors or functions) and never a passive transformation (transformation of coordinate system). However one should remember definition of the function transformation:
\[ \hat {\bf P} f({\bf r}) \equiv f(\hat {\bf P}^{-1} {\bf r}) \]
It is straightforward to get the rotation matrix in Cartesian coordinates. We know how the vector in Cartesian coordinates is obtained from the vector in fractional coordinates:
\[ {\bf v} = {\bf L} {\bf x} \]
where L is the 3x3 matrix which clomuns are three lattice vectors. The backward transformation is simply
\[ {\bf x} = {\bf L}^{-1} {\bf v} \]
Now we write rotation operation in fractional coordinates and apply the backward transformation to Cartesian coordinates:
\[ {\bf x'} = {\bf R}{\bf x} \rightarrow {\bf L}^{-1} {\bf v'} = {\bf R} {\bf L}^{-1} {\bf v} \]
from which we derive the rotation operation in Cartesian coordinates:
\[ {\bf v'} = {\bf L} {\bf R} {\bf L}^{-1} {\bf v} \]