research papers\(\def\hfill{\hskip 5em}\def\hfil{\hskip 3em}\def\eqno#1{\hfil {#1}}\)

Journal logoFOUNDATIONS
ADVANCES
ISSN: 2053-2733

Algorithms for target transformations of lattice basis vectors

aDepartment of Materials Science and Engineering, Tel Aviv University, Wolfson Building for Mechanical Engineering, Tel Aviv 6997801, Israel
*Correspondence e-mail: gorfman@tauex.tau.ac.il

Edited by A. Altomare, Institute of Crystallography - CNR, Bari, Italy (Received 18 June 2020; accepted 17 September 2020; online 29 October 2020)

Simple algorithms are proposed for the transformation of lattice basis vectors to a specific target. In the first case, one of the new basis vectors is aligned to a predefined lattice direction, while in the second case, two of the new basis vectors are brought to a lattice plane with predefined Miller indices. The multi-dimensional generalization of the algorithm is available in the supporting materials. The algorithms are useful for such crystallographic operations as simulation of zone planes (i.e. geometry of electron diffraction patterns) or transformation of a unit cell for surface or cleavage energy calculations. The most general multi-dimensional version of the algorithm may be useful for the analysis of quasiperiodic crystals or as an alternative method of calculating Bézout coefficients. The algorithms are demonstrated both graphically and numerically.

1. Introduction

The transformation of lattice basis vectors is a key mathematical operation in crystallography. It is expressed using a transformation matrix [S] (Ai = ajSji) connecting old (a1, a2, a3), and new (A1, A2, A3) lattice basis vectors. If det[S] = ±1 and [S_{ij} \in {\bb Z}], then Ai and ai are the bases of the same lattice/form the unit cells of the same crystal structure. Such unit-cell transformations are useful for analysing the structures of polymorphs (Müller, 2013[Müller, U. (2013). Symmetry Relationships between Crystal Structures: Applications of Crystallographic Group Theory in Crystal Chemistry. Oxford University Press.]; de la Flor et al., 2016[Flor, G. de la, Orobengoa, D., Tasci, E., Perez-Mato, J. M. & Aroyo, M. I. (2016). J. Appl. Cryst. 49, 653-664.]), twin laws (Nespolo & Ferraris, 2006[Nespolo, M. & Ferraris, G. (2006). Acta Cryst. A62, 336-349.]; Zhang et al., 2010[Zhang, Y., Li, Z., Esling, C., Muller, J., Zhao, X. & Zuo, L. (2010). J. Appl. Cryst. 43, 1426-1430.]; Marzouki et al., 2014[Marzouki, M. A., Souvignier, B. & Nespolo, M. (2014). IUCrJ, 1, 39-48.]), phase transitions (Howard & Stokes, 2005[Howard, C. J. & Stokes, H. T. (2005). Acta Cryst. A61, 93-111.]), tilting of structural polyhedra (Glazer, 1972[Glazer, A. M. (1972). Acta Cryst. B28, 3384-3392.], 1975[Glazer, A. M. (1975). Acta Cryst. A31, 756-762.]) and nanoscale stacking order (Biermanns et al., 2011[Biermanns, A., Breuer, S., Davydok, A., Geelhaar, L. & Pietsch, U. (2011). Phys. Status Solidi RRL, 5, 156-158.]). The ability to `view' the same crystal structure using different unit-cell settings is crucial for a skilful crystallographer.

This article introduces new algorithms for the transformation of basis vectors for a specific target. The first version of the algorithm enables the transformation (Ai = ajSji, det[S] = ±1) such that A3 is parallel to a target lattice vector T. The second version results in A1, A2 parallel to a target lattice plane (hkl) and A3 connecting lattice points of two adjacent planes. In this way the algorithm suggests an alternative approach to calculate the Bézout coefficients (Bézout, 1779[Bézout, E. (1779). Théorie générale des équations algébriques. Hachette Livre-BNF.]).

In contrast with other number-theoretical approaches [e.g. the extended Euclidean algorithm (Knuth, 1997[Knuth, D. E. (1997). The Art of Computer Programming. London: Pearson Education.])], the new algorithms are easily extendable to higher-dimensional lattices. In addition, two- and three-dimensional versions allow for clear visualization using lattice directions and their stereographic projections. The algorithms are useful for the simulation of electron diffraction patterns or for exploring the two-dimensional periodicity of crystal structures within a given lattice plane. It is necessary to follow the algorithms whenever the indices of a target direction or a plane are non-trivial. The output can be used in structure visualization programs [e.g. VESTA (Momma & Izumi, 2011[Momma, K. & Izumi, F. (2011). J. Appl. Cryst. 44, 1272-1276.])], for the structure utilities of the Bilbao Crystallographic Server (Aroyo, Perez-Mato et al., 2006[Aroyo, M. I., Perez-Mato, J. M., Capillas, C., Kroumova, E., Ivantchev, S., Madariaga, G., Kirov, A. & Wondratschek, H. (2006). Z. Kristallogr. 221, 15-27.]; Aroyo, Kirov et al., 2006[Aroyo, M. I., Kirov, A., Capillas, C., Perez-Mato, J. M. & Wondratschek, H. (2006). Acta Cryst. A62, 115-128.]) and for the ab initio calculation of surface energy (Tran et al., 2016[Tran, R., Xu, Z., Radhakrishnan, B., Winston, D., Sun, W., Persson, K. A. & Ong, S. P. (2016). Sci Data, 3, 160080.]; Kresse & Furthmüller, 1996[Kresse, G. & Furthmüller, J. (1996). Phys. Rev. B, 54, 11169-11186.]; Schwarz et al., 2002[Schwarz, K., Blaha, P. & Madsen, G. K. H. (2002). Comput. Phys. Commun. 147, 71-76.]). The multi-dimensional version of the algorithm might be useful for the analysis of quasiperiodic materials. The algorithm is deposited as a MATLAB program.

2. Transformation to a target direction

The list of notations and relevant crystallographic relations are available in Appendix A[link]. The names of the two-, three- and multi-dimensional algorithms are PARA, TRIO and MULDIN, respectively. PARA and TRIO are described here, while MULDIN is deposited in the supporting information.

2.1. PARA: two-dimensional lattice

This algorithm transforms the basis vectors a1, a2 to A1, A2 such that A2T = x1a1 + x2a2. Table S1 and Fig. S1 (in the supporting information) provide a step-by-step illustration of the algorithm for the example target vector T = [[{\overline 2} 3]].

Iteration 0: We transform the basis vectors ai to [{\bf A}_i^{(0)}] = ±ai (`−' is taken if xi is negative) and rearrange them so that det[S(0)] = 1, where [S(0)] is a 2×2 transformation matrix [{\bf A}_i^{(0)}] = [{\bf a}_j S_{ji}^{(0)}] [Fig. S1(a)]. According to equation (19)[link] in Appendix A[link] the new coordinates of T are [X(0)] = [S(0)]−1[x]. All the components of [X(0)] are non-negative.

Iteration n: We replace one of the basis vectors by [{\bf A}_1^{(n-1)} + {\bf A}_2^{(n-1)}]. This creates two transformation variants [[{\bf A}_i^{(n)}] = [{\bf A}_j^{(n-1)} S_{ji}]],

[\left [ S_1 \right ] = \left ( \matrix{1& 0\cr 1& 1} \right ) , \quad \left [ S_1 \right ]^{-1} = \left ( \matrix{1& 0\cr {\overline 1}& 1} \right ) , \eqno (1)]

[\left [ S_2 \right ] = \left ( \matrix{1& 1\cr 0& 1} \right) , \quad \left [ S_2 \right ]^{-1} = \left ( \matrix{1& {\overline 1}\cr 0& 1} \right ) . \eqno (2)]

Because det[S] = 1, [{\bf A}_i^{(n)}] form the basis of the same lattice for both variants. The coordinates of T transform as

[\eqalign{ \left [ \matrix{X_1^{(n)}\cr X_2^{(n)}} \right ]_1 = & \, \left ( \matrix{1& 0 \cr {\overline 1}& 1} \right ) \, \left [ \matrix{X_1^{(n-1)} \cr X_2^{(n-1)}} \right ] , \cr \left [ \matrix{X_1^{(n)}\cr X_2^{(n)}} \right ]_2 = & \, \left ( \matrix{1& {\overline 1}\cr 0& 1} \right ) \, \left [ \matrix{X_1^{(n-1)}\cr X_2^{(n-1)}} \right ] .} \eqno (3)]

The exit condition of the algorithm is that one of Xi(n) is zero. This happens if X1(n-1) = X2(n-1). If valid, the exit condition holds for both transformation variants. We can choose variant (2)[link] to ensure that [{\bf A}_2^{(n)} \parallel {\bf T}] . The final transformation aiAi is given by the matrix product,

[\left [ S^{(f)} \right ] = \left [ S^{(n-1)} \right ] \left [ S_2 \right ] . \eqno (4)]

If the exit condition is not fulfilled, we select the variant m yielding all positive Xi(n): [X_1^{(n-1)} \, \lt \, X_2^{(n-1)}] and [X_1^{(n-1)} \, \gt \, X_2^{(n-1)}] force the choice of m = 1 [Fig. S1(c)] and m = 2 [Fig. S1(b)], respectively. The transformation [{\bf a}_i \to {\bf A}_i^{(n)}] is

[\left [ S^{(n)} \right ] = \left [ S^{(n-1)} \right ] \left [ S_m \right ] . \eqno (5)]

The algorithm continues to the next iteration until the exit condition is reached [Fig. S1(d)].

2.2. TRIO: three-dimensional lattice

This algorithm transforms the basis vectors of a three-dimensional lattice aiAi so that A3T = xiai. Table 1[link] and Fig. 1[link] support the explanations.

Table 1
Information for each TRIO iteration for the transformation to the target vector T = [[{\overline 1} 4 2]]

The table is organized in the same way as Table S1. Iterations 3 and 4 in this example follow the PARA algorithm. For the first row [X(−1)] = [x].

n [X(n−1)] [Sm] [S(n)] [X(n)]
0 [\left [ \matrix{ {\overline 1} \cr 4 \cr 2} \right ]]   [\left [ \matrix{0 & {\overline 1} & 0 \cr 1 & 0 & 0 \cr 0 & 0 & 1} \right ]] [\left [ \matrix{4 \cr 1 \cr 2} \right ]]
1 [\left [ \matrix{ 4 \cr 1 \cr 2} \right ]] [\left [ \matrix{ 1 & 1 & 0 \cr 0 & 1 & 0 \cr 0 & 1 & 1} \right ]] [\left[ \matrix{ 0 & {\overline 1} & 0 \cr 1 & 1 & 0 \cr 0 & 1 & 1} \right ]] [\left [ \matrix{ 3 \cr 1 \cr 1} \right ]]
2 [\left [ \matrix{ 3 \cr 1 \cr 1} \right ]] [\left [ \matrix{ 1 & 0 & 1 \cr 0 & 1 & 1 \cr 0 & 0 & 1} \right ]] [\left [ \matrix{ 0 & {\overline 1} & {\overline 1} \cr 1 & 1 & 2 \cr 0 & 1 & 2} \right ]] [\left [ \matrix{ 2 \cr 0 \cr 1} \right ]]
3 [\left [ \matrix{ 2 \cr 0 \cr 1} \right ]] [\left [ \matrix{1 & 0 & 1 \cr 0 & 1 & 0 \cr 0 & 0 & 1} \right ]] [\left [ \matrix{ 0 & {\overline 1} & {\overline 1} \cr 1 & 1 & 3 \cr 0 & 1 & 2} \right ]] [\left [ \matrix{ 1 \cr 0 \cr 1} \right ]]
4 [\left [ \matrix{ 1 \cr 0 \cr 1} \right ]] [\left [ \matrix{ 1 & 0 & 1 \cr 0 & 1 & 0 \cr 0 & 0 & 1} \right ]] [\left [ \matrix{ 0 & {\overline 1} & {\overline 1} \cr 1 & 1 & 4 \cr 0 & 1 & 2} \right ]] [\left [ \matrix{ 0 \cr 0 \cr 1} \right ]]
[Figure 1]
Figure 1
The transformations of the basis vectors given in the rows of Table 1[link]: panel (a) corresponds to the first row in Table 1[link] with n = 0, panel (b) to the second row with n = 1 etc. The directions are drawn on the stereographic projection, which includes the poles of a cubic crystal lattice with a maximum index of 10. Panel (a) uses the stereographic projection along [001], and panels (b) to (d) use the stereographic projection along [[{\overline 1} 11]].

Iteration 0: We transform the basis vectors [{\bf A}_i^{(0)}] = ±ai as in PARA, followed by their permutations ensuring the `right-handedness' of [{\bf A}_i^{(0)}] {det[S(0)] = 1}, where [S(0)] is a 3×3 transformation matrix between ai and [{\bf A}_i^{(0)}] [Fig. 1[link](a)]. The new non-negative coordinates of T become [X(0)] = [S(0)]−1[x].

Iteration n: We replace one of the basis vectors by [{\bf A}_1^{(n-1)} \!+\! {\bf A}_2^{(n-1)} \!+\! {\bf A}_3^{(n-1)}], creating three transformation variants [[{\bf A}_i^{(n)}] = [{\bf A}_j^{(n-1)} S_{ji}]]:

[\left [ S_1 \right ] = \left ( \matrix{1& 0& 0 \cr 1& 1& 0 \cr 1& 0& 1} \right ) , \quad \left [ S_1 \right ]^{-1} = \left ( \matrix{1& 0& 0 \cr {\overline 1}& 1& 0 \cr {\overline 1}& 0& 1} \right ) , \eqno (6)]

[\left [ S_2 \right ] = \left ( \matrix{1& 1& 0 \cr 0& 1& 0 \cr 0& 1& 1} \right ) , \quad \left [ S_2 \right ]^{-1} = \left ( \matrix{1& {\overline 1}& 0 \cr 0& 1& 0 \cr 0& {\overline 1}& 1} \right ) , \eqno (7)]

[\left [ S_3 \right ] = \left ( \matrix{1& 0& 1 \cr 0& 1& 1 \cr 0& 0& 1} \right ) , \quad \left [ S_3 \right ]^{-1} = \left ( \matrix{1& 0& {\overline 1} \cr 0& 1& {\overline 1} \cr 0& 0& 1} \right ) . \eqno (8)]

Because det[S] = 1, [{\bf A}_i^{(n)}] and ai build the same lattice for all three variants. The new coordinates of T are

[\left [ \matrix{X_1^{(n)} \cr X_2^{(n)} \cr X_3^{(n)}} \right ]_m = \left [ S_m \right ]^{-1} \left [ \matrix{X_1^{(n-1)} \cr X_2^{(n-1)} \cr X_3^{(n-1)}} \right ] . \eqno (9)]

The exit condition (two of the new T coordinates are zero) is fulfilled if X1(n-1) = X2(n-1) = X3(n-1). If valid, it holds for all three variants but choosing [S3] ensures [{\bf A}_3^{(n)} \parallel {\bf T}]. The transformation aiAi is [S(f)] = [S(n−1)][S3]. Otherwise, we select the variant m, which gives non-negative Xi(n). According to equations (6)[link]–(9)[link][link][link], m is defined such that

[X_m^{(n-1)} = \min \left [ X_i^{(n-1)} \right ] . \eqno (10)]

If equation (10)[link] is fulfilled only for one m then none of Xi(n) is zero [Fig. 1[link](b), m = 2]. The transformation [{\bf a}_i \to {\bf A}_i^{(n)}] is

[\left [ S^{(n)} \right ] = \left [ S^{(n-1)} \right ] \left [ S_m \right ] . \eqno (11)]

This moves the algorithm to the iteration n + 1.

However, equation (10)[link] might be valid for two variants if e.g. Xm1(n-1) = [X_{m2}^{(n-1)} \, \lt \, X_{m3}^{(n-1)}]. Then either [Sm1] or [Sm2] could be selected for the next iteration, which yields Xm2(n) = 0 or Xm1(n) = 0, respectively. The transformation [{\bf a}_i \to {\bf A}_i^{(n)}] is described by equation (11)[link] with m = max(m1, m2), which ensures X3(n) ≠ 0 [m = 3, X2(n) = 0 in Fig. 1[link](c)]. The algorithm will be completed by PARA with respect to the vectors a1 = [{\bf A}_j^{(n)}] and a2 = [{\bf A}_3^{(n)}] such that Xj(n) ≠ 0 [Figs. 1[link](d) and 1[link](e)].

Table 1[link] and Fig. 1[link] show that the example of the TRIO algorithm where the target vector is T = [[{\overline 1} 42]] results in

[\left ( {\bf A}_1 \ {\bf A}_2 \ {\bf A}_3 \right ) = \left ( {\bf a}_1 \ {\bf a}_2 \ {\bf a}_3 \right ) \left [ \matrix{0& {\overline 1}& {\overline 1} \cr 1& 1& 4 \cr 0& 1& 2} \right ] . \eqno (12)]

3. Transformation of basis vectors to a target lattice plane

We will show how TRIO helps transform the basis vectors ai → Ai so that A1, A2 are parallel to the reticular (lattice) planes with Miller indices (hkl). Such planes are perpendicular to a reciprocal-lattice vector T* = [h_i {\bf a}_i^*], and the inter-planar distance is the inverse length of T* [see e.g. De Graef & McHenry (2012[De Graef, M. & McHenry, M. E. (2012). Structure of Materials: An Introduction to Crystallography, Diffraction and Symmetry. Cambridge University Press.]) and Giacovazzo (1992[Giacovazzo, C. (1992). Fundamentals of Crystallography. International Union of Crystallography/Oxford University Press.])]. We apply TRIO to the reciprocal basis vectors [{\bf a}_i^* \to {\bf A}_i^*] with the target vector [{\bf T}^*= h_i \,{\bf a}_i^*]:

[\left ( {\bf A}_1^* \ {\bf A}_2^* \ {\bf A}_3^* \right ) = \left ( {\bf a}_1^* \ {\bf a}_2^* \ {\bf a}_3^* \right ) \,\left [ S^* \right ] , \quad \left [ S^* \right ] = \left ( \matrix{ S_{11}^* & S_{12}^* & h \cr S_{21}^* & S_{22}^* & k \cr S_{31}^* & S_{32}^* & l} \right ) . \eqno (13)]

We can calculate the equivalent matrix of transformation of the direct-lattice vectors [equation (21)[link] in Appendix A[link]],

[\left ( {\bf A}_1 \ {\bf A}_2 \ {\bf A}_3 \right ) = \left ( {\bf a}_1 \ {\bf a}_2 \ {\bf a}_3 \right ) \, [S] \quad \left ( [S]^{\rm T} = \left [ S^* \right ]^{-1} \right ) . \eqno (14)]

This will result in A1, A2T*. Because Ai form the basis of the same lattice, A1, A2 are the basis of the two-dimensional lattice in the (hkl) planes and A3 connects two adjacent planes. This algorithm applies for two-dimensional (Table S2/Fig. S2) and multi-dimensional cases alike. The three-dimensional case is illustrated in the key application below and in Table S3/Fig. S3. The multi-dimensional version (supporting information) may be useful for the analysis of quasicrystals where projecting the multi-dimensional lattice onto one of its three-dimensional sub-lattices is required.

Note that the coordinates of A3 (or vector AN for the multi-dimensional case) are known as Bézout coefficients (Bézout, 1779[Bézout, E. (1779). Théorie générale des équations algébriques. Hachette Livre-BNF.]). Therefore, the algorithm may be useful as an alternative method for finding such coefficients for any number of dimensions.

4. Simulation of the geometry of zone planes perpendicular to the target zone axis

The `zone axis' is the direction parallel to a lattice vector T = uiai ([u_i \in {\bb Z}]). The reciprocity of direct and reciprocal lattices means that T is normal to the reciprocal-lattice planes with `Miller' indices ui. Zones appear e.g. in electron diffraction as two-dimensional sections of reciprocal space by a nearly flat Ewald sphere (Vainshtein, 2013[Vainshtein, B. K. (2013). Structure Analysis by Electron Diffraction. Amsterdam: Elsevier.]) or in Laue diffraction patterns (Helliwell et al., 1989[Helliwell, J. R., Habash, J., Cruickshank, D. W. J., Harding, M. M., Greenhough, T. J., Campbell, J. W., Clifton, I. J., Elder, M., Machin, P. A., Papiz, M. Z. & Zurek, S. (1989). J. Appl. Cryst. 22, 483-497.]; Ren et al., 1999[Ren, Z., Bourgeois, D., Helliwell, J. R., Moffat, K., Šrajer, V. & Stoddard, B. L. (1999). J. Synchrotron Rad. 6, 891-917.]; Send et al., 2009[Send, S., von Kozierowski, M., Panzner, T., Gorfman, S., Nurdan, K., Walenta, A. H., Pietsch, U., Leitenberger, W., Hartmann, R. & Strüder, L. (2009). J. Appl. Cryst. 42, 1139-1146.]) as visually striking second-order curves – ellipses, hyperbolas and parabolas.

Using T as a target of TRIO, we obtain the transformation matrix [S] for the direct-lattice vectors with A3T. The corresponding reciprocal-lattice vectors [{\bf A}_i^*] = [{\bf a}_j^* S_{ji}^*] are transformed by [S*]T = [S]−1, with [{\bf A}_1^*, {\bf A}_2^*] parallel to the zone plane. The two-dimensional lattice parameters of a zone are obtained from the components of the reciprocal metric tensor and equation (22)[link]:

[\left [ G^* \right ] = \left [ S^* \right ]^{\rm T} \, \left [ g^* \right ] \, \left [ S^* \right ] , \eqno (15)]

followed by

[\eqalignno{& A_1^* = \left ( G_{11}^* \right )^{1/2}, \quad A_2^* = \left ( G_{22}^* \right )^{1/2} , \cr & \cos\angle \left ( {\bf A}_1^*, {\bf A}_2^* \right ) = {{G_{12}^*} \over {\left (G_{11}^* G_{22}^* \right )^{1/2} }} . & (16)}]

Table 2[link] and Fig. 2[link] demonstrate four `zones' of a cubic lattice (aiaj = a2δij) with a = 4 Å.

Table 2
The transformations of the reciprocal-lattice basis vectors of a cubic lattice (a = 4 Å) to pre-selected zones

The last column shows the corresponding two-dimensional lattice parameters.

Zone axis [S*] A1*, A2*, [\angle ({\bf A}_1^*,{\bf A}_2^*)]
[110] [\left ( \matrix{ 0 & 1 & 0 \cr 0 & {\overline 1} & 1 \cr 1 & 0 & 0} \right )] 0.25 Å−1, 0.36 Å−1, 90°
[111] [\left ( \matrix{ 1 & 0 & 0 \cr 0 & 1 & 0 \cr {\overline 1} & {\overline 1} & 1 } \right )] 0.35 Å−1, 0.35 Å−1, 60°
[123] [\left ( \matrix{ 2 & {\overline 1} & 0 \cr {\overline 1} & 2 & {\overline 1} \cr 0 & {\overline 1} & 1 } \right )] 0.56 Å−1, 0.61 Å−1, 137°
[431] [\left ( \matrix{ 1 & 0 & 0 \cr 0 & 1 & 0 \cr {\overline 4} & {\overline 3} & 1 } \right )] 1.03 Å−1, 0.79 Å−1, 23°
[Figure 2]
Figure 2
Illustrations of the new basis vectors for a cubic lattice and pre-selected zone axes, corresponding to the rows in Table 2[link]: panel (a) corresponds to the first row in Table 2[link] with zone axis [110], panel (b) to the second row with zone axis [111] etc. The projection of the basis vectors [{\bf a}_i^*] is shown in the bottom left-hand corner of each panel.

Section S5 in the supporting information shows another application of the algorithm for the transformation of a unit cell (the LiNbO3 crystal structure is considered). In particular, it demonstrates the extension of the algorithm for the case of a non-primitive conventional unit cell.

5. On the length of the vectors Ai

The algorithms introduced here help in reaching one of infinitely many transformations to the specific target. However, the course of the algorithms does not depend on the matrix of dot products [G] or lattice parameters. Under these conditions, the transformed lattice parameters remain undefined and it is therefore impossible to choose one variant of the transformation over another. If [G] is known, the existing lattice reduction algorithms [e.g. Niggli (1928[Niggli, P. (1928). Krystallographische und strukturtheoretische Grundbegriffe. Leipzig: Akademische Verlagsgesellschaft mbH.])] can be applied to transform the subset of Ai (e.g. A1 and A2) without changing the target. For example, it is possible to apply the Minkowski algorithm to reduce the lengths of vectors A1 and A2 [e.g. Rote (1997[Rote, G. (1997). Theor. Comput. Sci. 172, 303-308.]) and Helfrich (1985[Helfrich, B. (1985). Theor. Comput. Sci. 41, 125-139.])].

6. Related literature

The following references are cited in the supporting information: Abrahams et al. (1966[Abrahams, S. C., Hamilton, W. C. & Reddy, J. M. (1966). J. Phys. Chem. Solids, 27, 1013-1018.]), Ong et al. (2013[Ong, S. P., Richards, W. D., Jain, A., Hautier, G., Kocher, M., Cholia, S., Gunter, D., Chevrier, V. L., Persson, K. A. & Ceder, G. (2013). Comput. Mater. Sci. 68, 314-319.]), Weis & Gaylord (1985[Weis, R. S. & Gaylord, T. K. (1985). Appl. Phys. A, 37, 191-203.]).

7. Conclusions

We have presented algorithms for the transformation of lattice basis vectors, so that one of the vectors is parallel to a target direction T, or alternatively two of the vectors are parallel to the target lattice planes (hkl). Such transformations are useful for e.g. the simulation of electron diffraction (presented here) and the transformation of crystal structures for exposing certain lattice planes (supporting information). We generalize the algorithm to the multi-dimensional case (MULDIN algorithm, supporting information), which may be useful for the analysis of quasiperiodic crystals or as an alternative approach for finding multi-dimensional Bézout coefficients.

APPENDIX A

Symbols, notation and important crystallographic relationships

The indices i, j run from 1 to N (N is the number of space dimensions). The Einstein summation rule applies to these indices but is abandoned for the index in brackets (m).

ai are linearly independent basis vectors of an N-dimensional crystal lattice. Ai are transformed basis vectors of the same crystal lattice. We assume that both sets determine primitive unit cells, otherwise the transformation to such must be performed.

[{\bf a}_i^*] are the reciprocal basis vectors, such that their dot products with ai are [{\bf a}_i^* \cdot {\bf a}_j] = δij (here δij is the Kronecker delta). [{\bf A}_i^*] are the reciprocals of the transformed basis vectors such that [{\bf A}_i^* \cdot {\bf A}_j] = δij.

[g] and [g*] are the components of the direct and reciprocal metric tensors: gij = ai · aj and gij* = [{\bf a}_i^* \cdot {\bf a}_j^*]. [G] and [G*] are the analogous components for the transformed basis vectors: Gij = Ai · Aj and Gij* = [{\bf A}_i^* \cdot {\bf A}_j^*].

xi are the direct lattice coordinates of a vector T = xiai. Xi are the coordinates of the same vector relative to the transformed basis vectors: T = XiAi.

hi (hk for two- and hkl for three-dimensional cases) are the reciprocal-lattice coordinates of a vector T* = [h_i \, {\bf a}_i^*]. Hi are the transformed coordinates of the same vector: T* = [H_i \, {\bf A}_i^*].

[S] is the N×N matrix of the aiAi transformation. The columns of [S] are the coordinates of Ai relative to ai, so that Ai = ajSji. For the three-dimensional case, the formal matrix equation applies:

[\left ( {\bf A}_1 \ {\bf A}_2 \ {\bf A}_3 \right ) = \left ( {\bf a}_1 \ {\bf a}_2 \ {\bf a}_3 \right ) \left ( \matrix{ S_{11} & S_{12} & S_{13} \cr S_{21} & S_{22} & S_{23} \cr S_{31} & S_{32} & S_{33} } \right )\, {\rm or} \, {\bf A}_i = {\bf a}_jS_{ji} . \eqno (17)]

Ai form a primitive unit cell of the same lattice if [S_{ij} \in {\bb Z}] and det[S] = ±1. (det[S] = −1 if the transformation changes the handedness of the coordinate system.)

[S*] is the N×N matrix of transformation for the reciprocal-lattice vectors:

[\left ( {\bf A}_1^* \ {\bf A}_2^* \ {\bf A}_3^* \right ) = \left ( {\bf a}_1^* \ {\bf a}_2^* \ {\bf a}_3^* \right ) \left ( \matrix{ S_{11}^* & S_{12}^* & S_{13}^* \cr S_{21}^* & S_{22}^* & S_{23}^* \cr S_{31}^* & S_{32}^* & S_{33}^* } \right ) \, {\rm or} \, {\bf A}_i^* = {\bf a}_j^*S_{ji}^* . \eqno (18)]

[x], [X] are the N×1 columns of the numbers xi, Xi, respectively. [h], [H] are the 1×N rows of the reciprocal-lattice coordinates hi, Hi.

The following transformations are used in this paper (De Graef & McHenry, 2012[De Graef, M. & McHenry, M. E. (2012). Structure of Materials: An Introduction to Crystallography, Diffraction and Symmetry. Cambridge University Press.]; Hahn, 2005[Hahn, T. (2005). International Tables for Crystallography, Volume A, Space Group Symmetry. Heidelberg: Springer.]; Giacovazzo, 1992[Giacovazzo, C. (1992). Fundamentals of Crystallography. International Union of Crystallography/Oxford University Press.]).

The transformation of the direct- and reciprocal-lattice coordinates of a vector:

[[{\bf X}] = [S]^{-1} [{\bf x}] , \eqno (19)]

[[{\bf H}] = [{\bf h}] \, [S] . \eqno (20)]

The relationship between [S] and [S*]:

[\left [ S^* \right ]^{-1} = [S]^{\rm T} . \eqno (21)]

The transformation of the matrix of the dot product:

[[G] = [S]^{\rm T} \, [g] \, [S] . \eqno (22)]

If the transformations [{\bf a}_i \to {\bf A}_i^{(1)}] and [{\bf A}_i^{(1)} \to {\bf A}_i^{(2)}] are defined by the matrices [S1] and [S2], then the combined transformation [{\bf a}_i \to {\bf A}_i^{(2)}] is defined as a matrix product:

[[S] = \left [ S_1 \right ] \left [ S_2 \right ] . \eqno (23)]

Supporting information


Acknowledgements

The author acknowledges Dr Alexei Entin (School of Mathematics, Tel Aviv University, Israel) for stimulating discussions and proofreading the manuscript.

Funding information

The following funding is acknowledged: Israel Science Foundation (grant No. 1561/18).

References

First citationAbrahams, S. C., Hamilton, W. C. & Reddy, J. M. (1966). J. Phys. Chem. Solids, 27, 1013–1018.  CrossRef ICSD CAS Web of Science Google Scholar
First citationAroyo, M. I., Kirov, A., Capillas, C., Perez-Mato, J. M. & Wondratschek, H. (2006). Acta Cryst. A62, 115–128.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationAroyo, M. I., Perez-Mato, J. M., Capillas, C., Kroumova, E., Ivantchev, S., Madariaga, G., Kirov, A. & Wondratschek, H. (2006). Z. Kristallogr. 221, 15–27.  Web of Science CrossRef CAS Google Scholar
First citationBézout, E. (1779). Théorie générale des équations algébriques. Hachette Livre-BNF.  Google Scholar
First citationBiermanns, A., Breuer, S., Davydok, A., Geelhaar, L. & Pietsch, U. (2011). Phys. Status Solidi RRL, 5, 156–158.  Web of Science CrossRef CAS Google Scholar
First citationDe Graef, M. & McHenry, M. E. (2012). Structure of Materials: An Introduction to Crystallography, Diffraction and Symmetry. Cambridge University Press.  Google Scholar
First citationFlor, G. de la, Orobengoa, D., Tasci, E., Perez-Mato, J. M. & Aroyo, M. I. (2016). J. Appl. Cryst. 49, 653–664.  Web of Science CrossRef IUCr Journals Google Scholar
First citationGiacovazzo, C. (1992). Fundamentals of Crystallography. International Union of Crystallography/Oxford University Press.  Google Scholar
First citationGlazer, A. M. (1972). Acta Cryst. B28, 3384–3392.  CrossRef CAS IUCr Journals Web of Science Google Scholar
First citationGlazer, A. M. (1975). Acta Cryst. A31, 756–762.  CrossRef CAS IUCr Journals Web of Science Google Scholar
First citationHahn, T. (2005). International Tables for Crystallography, Volume A, Space Group Symmetry. Heidelberg: Springer.  Google Scholar
First citationHelfrich, B. (1985). Theor. Comput. Sci. 41, 125–139.  CrossRef Google Scholar
First citationHelliwell, J. R., Habash, J., Cruickshank, D. W. J., Harding, M. M., Greenhough, T. J., Campbell, J. W., Clifton, I. J., Elder, M., Machin, P. A., Papiz, M. Z. & Zurek, S. (1989). J. Appl. Cryst. 22, 483–497.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationHoward, C. J. & Stokes, H. T. (2005). Acta Cryst. A61, 93–111.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationKnuth, D. E. (1997). The Art of Computer Programming. London: Pearson Education.  Google Scholar
First citationKresse, G. & Furthmüller, J. (1996). Phys. Rev. B, 54, 11169–11186.  CrossRef CAS Web of Science Google Scholar
First citationMarzouki, M. A., Souvignier, B. & Nespolo, M. (2014). IUCrJ, 1, 39–48.  Web of Science CrossRef CAS PubMed IUCr Journals Google Scholar
First citationMomma, K. & Izumi, F. (2011). J. Appl. Cryst. 44, 1272–1276.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationMüller, U. (2013). Symmetry Relationships between Crystal Structures: Applications of Crystallographic Group Theory in Crystal Chemistry. Oxford University Press.  Google Scholar
First citationNespolo, M. & Ferraris, G. (2006). Acta Cryst. A62, 336–349.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationNiggli, P. (1928). Krystallographische und strukturtheoretische Grundbegriffe. Leipzig: Akademische Verlagsgesellschaft mbH.  Google Scholar
First citationOng, S. P., Richards, W. D., Jain, A., Hautier, G., Kocher, M., Cholia, S., Gunter, D., Chevrier, V. L., Persson, K. A. & Ceder, G. (2013). Comput. Mater. Sci. 68, 314–319.  Web of Science CrossRef CAS Google Scholar
First citationRen, Z., Bourgeois, D., Helliwell, J. R., Moffat, K., Šrajer, V. & Stoddard, B. L. (1999). J. Synchrotron Rad. 6, 891–917.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationRote, G. (1997). Theor. Comput. Sci. 172, 303–308.  CrossRef Google Scholar
First citationSchwarz, K., Blaha, P. & Madsen, G. K. H. (2002). Comput. Phys. Commun. 147, 71–76.  Web of Science CrossRef Google Scholar
First citationSend, S., von Kozierowski, M., Panzner, T., Gorfman, S., Nurdan, K., Walenta, A. H., Pietsch, U., Leitenberger, W., Hartmann, R. & Strüder, L. (2009). J. Appl. Cryst. 42, 1139–1146.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationTran, R., Xu, Z., Radhakrishnan, B., Winston, D., Sun, W., Persson, K. A. & Ong, S. P. (2016). Sci Data, 3, 160080.  CrossRef PubMed Google Scholar
First citationVainshtein, B. K. (2013). Structure Analysis by Electron Diffraction. Amsterdam: Elsevier.  Google Scholar
First citationWeis, R. S. & Gaylord, T. K. (1985). Appl. Phys. A, 37, 191–203.  CrossRef Web of Science Google Scholar
First citationZhang, Y., Li, Z., Esling, C., Muller, J., Zhao, X. & Zuo, L. (2010). J. Appl. Cryst. 43, 1426–1430.  Web of Science CrossRef CAS IUCr Journals Google Scholar

This is an open-access article distributed under the terms of the Creative Commons Attribution (CC-BY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.

Journal logoFOUNDATIONS
ADVANCES
ISSN: 2053-2733
Follow Acta Cryst. A
Sign up for e-alerts
Follow Acta Cryst. on Twitter
Follow us on facebook
Sign up for RSS feeds