Base-centred monoclinic (MCLC)#

Pearson symbol: mS

Constructor: MCLC()

It is defined by four parameters \(a\), \(b\), \(c\) and \(\alpha\) with \(b \le c\), \(\alpha < 90^{\circ}\). Standardized primitive and conventional cells in the default orientation are

\[\begin{split}\begin{matrix} \boldsymbol{a}_1^s &=& (a/2, &b/2, &0)\\ \boldsymbol{a}_2^s &=& (-a/2, &b/2, &0)\\ \boldsymbol{a}_3^s &=& (0, &c\cos\alpha, &c\sin\alpha) \end{matrix}\end{split}\]
\[\begin{split}\begin{matrix} \boldsymbol{a}_1^{cs} &=& (a, &0, &0)\\ \boldsymbol{a}_2^{cs} &=& (0, &b, &0)\\ \boldsymbol{a}_3^{cs} &=& (0, &c\cos\alpha, &c\sin\alpha) \end{matrix}\end{split}\]

Transformation matrix from standardized primitive cell to standardized conventional cell is

\[\begin{split}\boldsymbol{C} = \begin{pmatrix} 1 & 1 & 0 \\ -1 & 1 & 0 \\ 0 & 0 & 1 \\ \end{pmatrix} \qquad \boldsymbol{C}^{-1} = \begin{pmatrix} 0.5 & -0.5 & 0 \\ 0.5 & 0.5 & 0 \\ 0 & 0 & 1 \\ \end{pmatrix}\end{split}\]

K-path#

MCLC1#

\(\mathrm{\Gamma-Y-F-L-I\vert I_1-Z-F_1\vert Y-X_1\vert X-\Gamma-N\vert M-\Gamma}\)

\[\begin{split}\begin{matrix} \zeta = \dfrac{2 - b\cos\alpha/c}{4\sin^2\alpha} & \eta = \dfrac{1}{2} + \dfrac{2\zeta c\cos\alpha}{b} \\ \psi = \dfrac{3}{4} - \dfrac{a^2}{4b^2\sin^2\alpha} & \phi = \psi + \dfrac{(3/4-\psi)b\cos\alpha}{c} \end{matrix}\end{split}\]

Point

\(\times\boldsymbol{b}_1^s\)

\(\times\boldsymbol{b}_2^s\)

\(\times\boldsymbol{b}_3^s\)

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{N}\)

\(1/2\)

\(0\)

\(0\)

\(\mathrm{N_1}\)

\(0\)

\(-1/2\)

\(0\)

\(\mathrm{F}\)

\(1-\zeta\)

\(1-\zeta\)

\(1-\eta\)

\(\mathrm{F_1}\)

\(\zeta\)

\(\zeta\)

\(\eta\)

\(\mathrm{F_2}\)

\(-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{F_3}\)

\(1-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{I}\)

\(\phi\)

\(1-\phi\)

\(1/2\)

\(\mathrm{I_1}\)

\(1-\phi\)

\(\phi-1\)

\(1/2\)

\(\mathrm{L}\)

\(1/2\)

\(1/2\)

\(1/2\)

\(\mathrm{M}\)

\(1/2\)

\(0\)

\(1/2\)

\(\mathrm{X}\)

\(1-\psi\)

\(\psi-1\)

\(0\)

\(\mathrm{X_1}\)

\(\psi\)

\(1-\psi\)

\(0\)

\(\mathrm{X_2}\)

\(\psi-1\)

\(-\psi\)

\(0\)

\(\mathrm{Y}\)

\(1/2\)

\(1/2\)

\(0\)

\(\mathrm{Y_1}\)

\(-1/2\)

\(-1/2\)

\(0\)

\(\mathrm{Z}\)

\(0\)

\(0\)

\(1/2\)

MCLC2#

\(\mathrm{\Gamma-Y-F-L-I\vert I_1-Z-F_1\vert N-\Gamma-M}\)

\[\begin{split}\begin{matrix} \zeta = \dfrac{2 - b\cos\alpha/c}{4\sin^2\alpha} & \eta = \dfrac{1}{2} + \dfrac{2\zeta c\cos\alpha}{b} \\ \psi = \dfrac{3}{4} - \dfrac{a^2}{4b^2\sin^2\alpha} & \phi = \psi + \dfrac{(3/4-\psi)b\cos\alpha}{c} \end{matrix}\end{split}\]

Point

\(\times\boldsymbol{b}_1^s\)

\(\times\boldsymbol{b}_2^s\)

\(\times\boldsymbol{b}_3^s\)

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{N}\)

\(1/2\)

\(0\)

\(0\)

\(\mathrm{N_1}\)

\(0\)

\(-1/2\)

\(0\)

\(\mathrm{F}\)

\(1-\zeta\)

\(1-\zeta\)

\(1-\eta\)

\(\mathrm{F_1}\)

\(\zeta\)

\(\zeta\)

\(\eta\)

\(\mathrm{F_2}\)

\(-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{F_3}\)

\(1-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{I}\)

\(\phi\)

\(1-\phi\)

\(1/2\)

\(\mathrm{I_1}\)

\(1-\phi\)

\(\phi-1\)

\(1/2\)

\(\mathrm{L}\)

\(1/2\)

\(1/2\)

\(1/2\)

\(\mathrm{M}\)

\(1/2\)

\(0\)

\(1/2\)

\(\mathrm{X}\)

\(1-\psi\)

\(\psi-1\)

\(0\)

\(\mathrm{X_1}\)

\(\psi\)

\(1-\psi\)

\(0\)

\(\mathrm{X_2}\)

\(\psi-1\)

\(-\psi\)

\(0\)

\(\mathrm{Y}\)

\(1/2\)

\(1/2\)

\(0\)

\(\mathrm{Y_1}\)

\(-1/2\)

\(-1/2\)

\(0\)

\(\mathrm{Z}\)

\(0\)

\(0\)

\(1/2\)

MCLC3#

\(\mathrm{\Gamma-Y-F-H-Z-I-F_1\vert H_1-Y_1-X-\Gamma-N\vert M-\Gamma}\)

\[\begin{split}\begin{matrix} \mu = \dfrac{1+b^2/a^2}{4} & \delta = \dfrac{bc\cos\alpha}{2a^2} & \zeta = \mu - \dfrac{1}{4} + \dfrac{1 - b\cos\alpha/c}{4\sin^2\alpha} \\ \eta = \dfrac{1}{2} + \dfrac{2\zeta c \cos\alpha}{b} & \phi = 1 + \zeta - 2\mu & \psi = \eta - 2\delta \end{matrix}\end{split}\]

Point

\(\times\boldsymbol{b}_1^s\)

\(\times\boldsymbol{b}_2^s\)

\(\times\boldsymbol{b}_3^s\)

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{F}\)

\(1-\phi\)

\(1-\phi\)

\(1-\psi\)

\(\mathrm{F_1}\)

\(\phi\)

\(\phi-1\)

\(\psi\)

\(\mathrm{F_2}\)

\(1-\phi\)

\(-\phi\)

\(1-\psi\)

\(\mathrm{H}\)

\(\zeta\)

\(\zeta\)

\(\eta\)

\(\mathrm{H_1}\)

\(1-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{H_2}\)

\(-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{I}\)

\(1/2\)

\(-1/2\)

\(1/2\)

\(\mathrm{M}\)

\(1/2\)

\(0\)

\(1/2\)

\(\mathrm{N}\)

\(1/2\)

\(0\)

\(0\)

\(\mathrm{N_1}\)

\(0\)

\(-1/2\)

\(0\)

\(\mathrm{X}\)

\(1/2\)

\(-1/2\)

\(0\)

\(\mathrm{Y}\)

\(\mu\)

\(\mu\)

\(\delta\)

\(\mathrm{Y_1}\)

\(1-\mu\)

\(-\mu\)

\(-\delta\)

\(\mathrm{Y_2}\)

\(-\mu\)

\(-\mu\)

\(-\delta\)

\(\mathrm{Y_3}\)

\(\mu\)

\(\mu-1\)

\(\delta\)

\(\mathrm{Z}\)

\(0\)

\(0\)

\(1/2\)

MCLC4#

\(\mathrm{\Gamma-Y-F-H-Z-I\vert H_1-Y_1-X-\Gamma-N\vert M-\Gamma}\)

\[\begin{split}\begin{matrix} \mu = \dfrac{1+b^2/a^2}{4} & \delta = \dfrac{bc\cos\alpha}{2a^2} & \zeta = \mu - \dfrac{1}{4} + \dfrac{1 - b\cos\alpha/c}{4\sin^2\alpha} \\ \eta = \dfrac{1}{2} + \dfrac{2\zeta c \cos\alpha}{b} & \phi = 1 + \zeta - 2\mu & \psi = \eta - 2\delta \end{matrix}\end{split}\]

Point

\(\times\boldsymbol{b}_1^s\)

\(\times\boldsymbol{b}_2^s\)

\(\times\boldsymbol{b}_3^s\)

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{F}\)

\(1-\phi\)

\(1-\phi\)

\(1-\psi\)

\(\mathrm{F_1}\)

\(\phi\)

\(\phi-1\)

\(\psi\)

\(\mathrm{F_2}\)

\(1-\phi\)

\(-\phi\)

\(1-\psi\)

\(\mathrm{H}\)

\(\zeta\)

\(\zeta\)

\(\eta\)

\(\mathrm{H_1}\)

\(1-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{H_2}\)

\(-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{I}\)

\(1/2\)

\(-1/2\)

\(1/2\)

\(\mathrm{M}\)

\(1/2\)

\(0\)

\(1/2\)

\(\mathrm{N}\)

\(1/2\)

\(0\)

\(0\)

\(\mathrm{N_1}\)

\(0\)

\(-1/2\)

\(0\)

\(\mathrm{X}\)

\(1/2\)

\(-1/2\)

\(0\)

\(\mathrm{Y}\)

\(\mu\)

\(\mu\)

\(\delta\)

\(\mathrm{Y_1}\)

\(1-\mu\)

\(-\mu\)

\(-\delta\)

\(\mathrm{Y_2}\)

\(-\mu\)

\(-\mu\)

\(-\delta\)

\(\mathrm{Y_3}\)

\(\mu\)

\(\mu-1\)

\(\delta\)

\(\mathrm{Z}\)

\(0\)

\(0\)

\(1/2\)

MCLC5#

\(\mathrm{\Gamma-Y-F-L-I\vert I_1-Z-H-F_1\vert H_1-Y_1-X-\Gamma-N\vert M-\Gamma}\)

\[\begin{split}\begin{matrix} \zeta = \dfrac{b^2}{4a^2} + \dfrac{1 - b\cos\alpha/c}{4\sin^2\alpha} & \eta = \dfrac{1}{2} + \dfrac{2\zeta c\cos\alpha}{b} \\ \mu = \dfrac{\eta}{2} + \dfrac{b^2}{4a^2} - \dfrac{bc\cos\alpha}{2a^2} & \nu = 2\mu - \zeta \\ \omega = \dfrac{(4\nu - 1 - b^2\sin^2\alpha/a^2)c}{2b\cos\alpha} & \delta = \dfrac{\zeta c \cos\alpha}{b} + \dfrac{\omega}{2} - \dfrac{1}{4} & \rho = 1 - \dfrac{\zeta a^2}{b^2} \end{matrix}\end{split}\]

Point

\(\times\boldsymbol{b}_1^s\)

\(\times\boldsymbol{b}_2^s\)

\(\times\boldsymbol{b}_3^s\)

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{F}\)

\(\nu\)

\(\nu\)

\(\omega\)

\(\mathrm{F_1}\)

\(1-\nu\)

\(-\nu\)

\(1-\omega\)

\(\mathrm{F_2}\)

\(\nu\)

\(\nu-1\)

\(\omega\)

\(\mathrm{H}\)

\(\zeta\)

\(\zeta\)

\(\eta\)

\(\mathrm{H_1}\)

\(1-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{H_2}\)

\(-\zeta\)

\(-\zeta\)

\(1-\eta\)

\(\mathrm{I}\)

\(\rho\)

\(1-\rho\)

\(1/2\)

\(\mathrm{I_1}\)

\(1-\rho\)

\(\rho-1\)

\(1/2\)

\(\mathrm{L}\)

\(1/2\)

\(1/2\)

\(1/2\)

\(\mathrm{M}\)

\(1/2\)

\(0\)

\(1/2\)

\(\mathrm{N}\)

\(1/2\)

\(0\)

\(0\)

\(\mathrm{N_1}\)

\(0\)

\(-1/2\)

\(0\)

\(\mathrm{X}\)

\(1/2\)

\(-1/2\)

\(0\)

\(\mathrm{Y}\)

\(\mu\)

\(\mu\)

\(\delta\)

\(\mathrm{Y_1}\)

\(1-\mu\)

\(-\mu\)

\(-\delta\)

\(\mathrm{Y_2}\)

\(-\mu\)

\(-\mu\)

\(-\delta\)

\(\mathrm{Y_3}\)

\(\mu\)

\(\mu-1\)

\(\delta\)

\(\mathrm{Z}\)

\(0\)

\(0\)

\(1/2\)

Variations#

There are five variations for base-centered monoclinic lattice.

Reciprocal \(\gamma\) (\(k_{\gamma}\)) is defined by the equation (for primitive lattice):

\[\cos(k_{\gamma}) = \frac{a^2 - b^2\sin^2(\alpha)}{a^2 + b^2\sin^2(\alpha)}\]

For MCLC2 \(k_{\gamma} = 90\), therefore \(a = b \sin(\alpha)\). For MCLC1 we choose \(a < b \sin(\alpha)\) and for MCLC3, MCLC4 and MCLC5 we choose \(a > b \sin(\alpha)\).

For the variations 3-5 we define \(a = xb\sin(\alpha)\), where \(x > 1\).

Then the condition for MCLC4 gives:

\[c = \frac{x^2}{x^2 - 1}b\cos(\alpha)\]

Where \(\cos(\alpha) > 0\) (\(\alpha < 90^{\circ}\)), since \(x > 1\).

And the ordering condition \(b \le c\) gives:

\[\cos(\alpha) \ge \frac{x^2 - 1}{x^2}\]

For MCLC3 (MCLC5) we choose parameters in a same way as for MCLC4, but with \(c > \frac{x^2}{x^2 - 1}b\cos(\alpha)\) (\(c < \frac{x^2}{x^2 - 1}b\cos(\alpha)\))

MCLC1#

\(k_{\gamma} > 90^{\circ}\),

Predefined example: mclc1 with \(a = \pi\), \(b = 1.4\cdot\pi\), \(c = 1.7\cdot\pi\) and \(\alpha = 80^{\circ}\)

MCLC2#

\(k_{\gamma} = 90^{\circ}\),

Predefined example: mclc2 with \(a = 1.4\cdot\pi\cdot\sin(75^{\circ})\), \(b = 1.4\cdot\pi\), \(c = 1.7\cdot\pi\) and \(\alpha=75^{\circ}\)

MCLC3#

\(k_{\gamma} < 90^{\circ}, \dfrac{b\cos(\alpha)}{c} + \dfrac{b^2\sin(\alpha)^2}{a^2} < 1\)

Predefined example with \(b = \pi\), \(x = 1.1\), \(\alpha = 78^{\circ}\), which produce:

mclc4 with \(a = 1.1\cdot\sin(78)\cdot\pi\), \(b = \pi\), \(c = 1.8\cdot 121\cdot\cos(65)\cdot\pi/21\) and \(\alpha = 78^{\circ}\)

MCLC4#

\(k_{\gamma} < 90^{\circ}, \dfrac{b\cos(\alpha)}{c} + \dfrac{b^2\sin(\alpha)^2}{a^2} = 1\)

Predefined example with \(b = \pi\), \(x = 1.2\), \(\alpha = 65^{\circ}\), which produce:

mclc4 with \(a = 1.2\sin(65)\pi\), \(b = \pi\), \(c = 36\cos(65)\pi/11\) and \(\alpha = 65^{\circ}\)

MCLC5#

\(k_{\gamma} < 90^{\circ}, \dfrac{b\cos(\alpha)}{c} + \dfrac{b^2\sin(\alpha)^2}{a^2} > 1\)

Predefined example with \(b = \pi\), \(x = 1.4\), \(\alpha = 53^{\circ}\), which produce:

mclc5 with \(a = 1.4\cdot\sin(53)\cdot\pi\), \(b = \pi\), \(c = 0.9\cdot 11\cdot\cos(53)\cdot\pi/6\) and \(\alpha = 53^{\circ}\)

Examples#

MCLC1#

Brillouin zone and default kpath#

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC1")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="brillouin-kpath")
# Save an image:
backend.save("mclc1_reciprocal.png")
# Interactive plot:
backend.show()

Primitive, Wigner-Seitz and conventional cells#

Click on the legend to hide a cell.

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC1")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="primitive", label="primitive", color="black")
backend.plot(cell, kind="conventional", label="conventional", color="blue")
backend.plot(cell, kind="wigner-seitz", label="wigner-seitz", color="green")
# Save an image:
backend.save("mclc1_real.png")
# Interactive plot:
backend.show()

MCLC2#

Brillouin zone and default kpath#

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC2")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="brillouin-kpath")
# Save an image:
backend.save("mclc2_reciprocal.png")
# Interactive plot:
backend.show()

Primitive, Wigner-Seitz and conventional cells#

Click on the legend to hide a cell.

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC2")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="primitive", label="primitive", color="black")
backend.plot(cell, kind="conventional", label="conventional", color="blue")
backend.plot(cell, kind="wigner-seitz", label="wigner-seitz", color="green")
# Save an image:
backend.save("mclc2_real.png")
# Interactive plot:
backend.show()

MCLC3#

Brillouin zone and default kpath#

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC3")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="brillouin-kpath")
# Save an image:
backend.save("mclc3_reciprocal.png")
# Interactive plot:
backend.show()

Primitive, Wigner-Seitz and conventional cells#

Click on the legend to hide a cell.

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC3")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="primitive", label="primitive", color="black")
backend.plot(cell, kind="conventional", label="conventional", color="blue")
backend.plot(cell, kind="wigner-seitz", label="wigner-seitz", color="green")
# Save an image:
backend.save("mclc3_real.png")
# Interactive plot:
backend.show()

MCLC4#

Brillouin zone and default kpath#

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC4")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="brillouin-kpath")
# Save an image:
backend.save("mclc4_reciprocal.png")
# Interactive plot:
backend.show()

Primitive, Wigner-Seitz and conventional cells#

Click on the legend to hide a cell.

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC4")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="primitive", label="primitive", color="black")
backend.plot(cell, kind="conventional", label="conventional", color="blue")
backend.plot(cell, kind="wigner-seitz", label="wigner-seitz", color="green")
# Save an image:
backend.save("mclc4_real.png")
# Interactive plot:
backend.show()

MCLC5#

Brillouin zone and default kpath#

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC5")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="brillouin-kpath")
# Save an image:
backend.save("mclc5_reciprocal.png")
# Interactive plot:
backend.show()

Primitive, Wigner-Seitz and conventional cells#

Click on the legend to hide a cell.

import wulfric as wulf

cell = wulf.cell.get_cell_example("MCLC5")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="primitive", label="primitive", color="black")
backend.plot(cell, kind="conventional", label="conventional", color="blue")
backend.plot(cell, kind="wigner-seitz", label="wigner-seitz", color="green")
# Save an image:
backend.save("mclc5_real.png")
# Interactive plot:
backend.show()

Cell standardization#

Standardization of the MCLC cell involves three steps and the second step had to be based on the conventional and not primitive cell. As a result the matrix \(\boldsymbol{S}\) is not orthonormal in a general case (direct consequence of the non-orthogonality of the matrix \(\boldsymbol{C}\)). Length of the lattice vectors for the primitive cell are:

\[\begin{matrix} \vert \boldsymbol{a}_1 \vert = \dfrac{\sqrt{a^2 + b^2}}{2} & \vert \boldsymbol{a}_2 \vert = \dfrac{\sqrt{a^2 + b^2}}{2} & \vert \boldsymbol{a}_3 \vert = c \end{matrix}\]

angles between the lattice vectors for the primitive cell are:

\[\begin{matrix} \cos(\boldsymbol{a}_2\boldsymbol{a}_3) = \dfrac{2b}{\sqrt{a^2 + b^2}}\cos\alpha & \cos(\boldsymbol{a}_1\boldsymbol{a}_3) = \dfrac{2b}{\sqrt{a^2 + b^2}}\cos\alpha & \cos(\boldsymbol{a}_1\boldsymbol{a}_2) = \dfrac{b^2 - a^2}{b^2 + a^2} \end{matrix}\]

Therefore, no simple condition can be formulated for the primitive cell, that will be equivalent to the conditions \(b \le c\) and \(\alpha < \pi/2\) for the conventional cell. The actual conditions would be \(2\vert \boldsymbol{a}_1^s \vert^2 (1 + \cos(\boldsymbol{a}_1^s\boldsymbol{a}_2^s)) \le \vert \boldsymbol{a}_3^s \vert^2\) and \(\boldsymbol{a}_1^s \cdot \boldsymbol{a}_2^s > 0\).

Therefore, wulfric uses lattice vectors of the conventional cell to check for those two conditions (steps 2 and 3). However, before the transformation matrix \(\boldsymbol{C}\) can be used we have to identify the first two vectors of the given primitive cell (step 1).

Step 1#

First step ensures that the first two lattice vectors of the primitive cell have equal lengths. Wulfric uses lattice vectors of the primitive cell for this step. Note that wulfric does not check whether the third vector is different.

  • If \(\vert \boldsymbol{a}_1\vert = \vert \boldsymbol{a}_2\vert\), then

    \[(\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_2^{(1)}, \boldsymbol{a}_3^{(1)}) = (\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3)\]

    and

    \[\begin{split}\boldsymbol{S}_1 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \qquad \boldsymbol{S}_1^{-1} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]
  • If \(\vert \boldsymbol{a}_2 \vert = \vert \boldsymbol{a}_3 \vert\), then

    \[(\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_2^{(1)}, \boldsymbol{a}_3^{(1)}) = (\boldsymbol{a}_2, \boldsymbol{a}_3, \boldsymbol{a}_1)\]

    and

    \[\begin{split}\boldsymbol{S}_1 = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix} \qquad \boldsymbol{S}_1^{-1} = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix}\end{split}\]
  • If \(\vert \boldsymbol{a}_3 \vert = \vert \boldsymbol{a}_1 \vert\), then

    \[(\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_2^{(1)}, \boldsymbol{a}_3^{(1)}) = (\boldsymbol{a}_3, \boldsymbol{a}_1, \boldsymbol{a}_2)\]

    and

    \[\begin{split}\boldsymbol{S}_1 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix} \qquad \boldsymbol{S}_1^{-1} = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}\end{split}\]

Step 2#

Second step ensures the condition \(b \le c\). For this step we have to use the conventional cell. Fortunately, after the first step we can use the transformation matrix \(\boldsymbol{C}\).

\[(\boldsymbol{a}_1^{(1), c}, \boldsymbol{a}_2^{(1), c}, \boldsymbol{a}_3^{(1), c}) = \boldsymbol{C}^T (\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_2^{(1)}, \boldsymbol{a}_3^{(1)})\]
  • If \(\vert \boldsymbol{a}_2^{(1), c} \vert \le \vert \boldsymbol{a}_3^{(1), c} \vert\) then

    \[(\boldsymbol{a}_1^{(2), c}, \boldsymbol{a}_2^{(2), c}, \boldsymbol{a}_3^{(2), c}) = (\boldsymbol{a}_1^{(1), c}, \boldsymbol{a}_2^{(1), c}, \boldsymbol{a}_3^{(1), c})\]

    and

    \[\begin{split}\boldsymbol{S}_{2,c} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]
  • If \(\vert \boldsymbol{a}_2^{(1), c} \vert > \vert \boldsymbol{a}_3^{(1), c} \vert\) then

    \[(\boldsymbol{a}_1^{(2), c}, \boldsymbol{a}_2^{(2), c}, \boldsymbol{a}_3^{(2), c}) = (-\boldsymbol{a}_1^{(1), c}, \boldsymbol{a}_3^{(1), c}, \boldsymbol{a}_2^{(1), c})\]

    and

    \[\begin{split}\boldsymbol{S}_{2,c} = \begin{pmatrix} -1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}\end{split}\]

Step 3#

Last step ensures that \(\alpha < \frac{\pi}{2}\). For this step we have to use the conventional cell as well.

  • If \(\alpha^{(2),c} < \frac{\pi}{2}\) (i.e. \(\boldsymbol{a}_2\cdot\boldsymbol{a}_3 > 0\)), then

    \[(\boldsymbol{a}_1^{cs}, \boldsymbol{a}_2^{cs}, \boldsymbol{a}_3^{cs}) = (\boldsymbol{a}_1^{(2), c}, \boldsymbol{a}_2^{(2), c}, \boldsymbol{a}_3^{(2), c})\]

    and

    \[\begin{split}\boldsymbol{S}_{3,c} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]
  • If \(\alpha^{(2),c} > \frac{\pi}{2}\) (i.e. \(\boldsymbol{a}_2\cdot\boldsymbol{a}_3 < 0\)), then

    \[(\boldsymbol{a}_1^{cs}, \boldsymbol{a}_2^{cs}, \boldsymbol{a}_3^{cs}) = (-\boldsymbol{a}_1^{(2), c}, -\boldsymbol{a}_2^{(2), c}, \boldsymbol{a}_3^{(2), c})\]

    and

    \[\begin{split}\boldsymbol{S}_{3,c} = \begin{pmatrix} -1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]

Primitive lattice after is restored as

\[(\boldsymbol{a}_1^s, \boldsymbol{a}_2^s, \boldsymbol{a}_3^s) = (\boldsymbol{C}^T)^{-1} (\boldsymbol{a}_1^{cs}, \boldsymbol{a}_2^{cs}, \boldsymbol{a}_3^{cs})\]

Finally#

\[\boldsymbol{S} = \boldsymbol{S}_1 \boldsymbol{C} \boldsymbol{S}_{2,c} \boldsymbol{S}_{3,c} \boldsymbol{C}^{-1} \qquad \boldsymbol{S}^{-1} = \boldsymbol{C} \boldsymbol{S}_{3,c}^{-1} \boldsymbol{S}_{2,c}^{-1} \boldsymbol{C}^{-1} \boldsymbol{S}_1^{-1}\]

Note

As \(\boldsymbol{C}^T \ne \boldsymbol{C}^{-1}\), then \(\boldsymbol{S}^T \ne \boldsymbol{S}^{-1}\)