**6. Predefined data for space groups generation**

262 Recent Advances in Crystallography

1. Vector to any point, O1������ = **x** 2. Vector to its image, O2������ = **Wx**+**w**<sup>l</sup>

1. Vector to any point, O1������ = **x**

\* erroneously stated in [18].

hexagonal axis.

**Figures 3g and 3j** 

**Figures 3h and 3i** 

The centre of gravity for all symmetry equivalent points is the same as for two points of opposite vertices. Thus, the new position of the rotation point is **x**c = (O1������ + O3������)/2 = (**Ww**l+**w**l)/2

In the case of three–fold rotation or six-fold rotoinversion, the location vectors from the origin to the vertices of equilateral triangle are given by any point **x** and its two images:

**x**c = (O1������ + O2������+ O3������)/3 = (**Ww**l+2**w**l)/3, since **W**2**x** + **Wx** + **x** = **0.**

In the case of six–fold rotation or three-fold rotoinversion, the location vectors from the origin to the vertices of regular hexagon are given by any point **x** and its consecutive images.

**x**c = (O1������ +**W**12�����) = **Ww**l, since **W**2**x** - **Wx** + **x** = **0,** if **W** describe rotation by 60°.

1 **0** 1� **w**/2 2, 2���� **w**l/2 4, 4� (**Ww**l+**w**l)/2 3, 6� (**Ww**l+2**w**l)/3 3�, 6\* **Ww**<sup>l</sup>

It may be seen from Table 4 that having classified the matrix part **W** and having decomposed translation part **w**, the derivation of **x**c for any space-group operation is unique and extremely simple. Calculations are based on the standard matrix arithmetic: multiplication of a matrix by a vector, adding two vectors or multiplying a vector by a constant. The geometric interpretation of specified rules as well as their explanation is also simple. A comparison of derived formulae with those described in article [18] reveals an incorrect equation for the axis symbol 6 in the published data. The error was overlooked, since in all conventional descriptions of the space groups, the origin is located on the

Axis symbol **x**<sup>c</sup> Axis symbol **x**<sup>c</sup>

3. Vector to the image of image, O3������ = **W**(**Wx**+**w**l **)+ w**l = **W**2**x** +**Ww**l+**w**<sup>l</sup> The centre of gravity determines the new position of the rotation point

But a simpler way may be based on a rotation of a hexagon side by 60°

The centre of gravity determines the new position of the rotation point

3. Rotation of 12����� by 60° = **W**(**Wx**+**w**<sup>l</sup> -**x)** = **W**2**x** +**Ww**l - **Wx**

The obtained results are summarized in Table 4.

**Table 4.** Formulae for calculation points **x**c.

2. Displacement vector between **x** and its image, 12����� = **Wx**+**w**l – **x,** a hexagon side

For practical and technical convenience the amount of predefined data needed for all 230 space group generation in computer applications should be minimal and the generation process should be most effective. In the case of space group generation in ITA83 style the latter demand is obtained by the composition series method, which on the other hand leads to some redundancy in the sets of non-translational 'generators selected'. This extension may be avoided by reselecting the generators in such a way, that their number is minimal but they can easily restore the original composition series. The concept leads to extending slightly the set of predefined point symmetry operations and to significant reduction of the generators specification for each group, remembering that SG belonging to the same crystal class are based on the same point generators. Since the arithmetic class may be extracted from a space-group symbol or a space-group number, the space generators may be composed of the point generators and individually given translations. Next, the obtained list should be slightly modified to produce a full list of generators needed in a very effective composition method.

This paragraph specifies complete data needed for effective and unique generation of all space groups:


Matrices needed for restoring the composition series are compiled in Table 5. According to [18] and possible future extensions of the algorithms, they are coded by single numbers. Only proper rotations should be explicitly defined.


**Table 5.** Symmetry matrices used as point groups generators

Matrices of improper rotation haves numbers increased by 9 and codes complemented to 19682: No = No(proper)+9, code=19682-code (proper). The obvious relation **PntGen** = - 1\***PntGen** (proper) may be also applied. A code is converted into the 3x3 matrix **PntGen** by the following procedure:

For k = 3 To 1 Step -1 For j = 3 To 1 Step -1 PntGen(k, j) = (code Mod 3) - 1 code = code \ 3 'integral division Next j Next k

The relations between the space groups from Table 1 and corresponding point groups are compiled in Table 6. The sequence of point-group generators taken from Table 5 is associated with a space group by its number, according to the order of space-group types unchanged since the first edition of Tables in 1935. A range of space-group numbers compatible with a given list (point group) is defined by its maximal value (SG column). Some subranges or individual SG numbers are needed for the alternative description of point groups, what is seen in the last 5 rows.


**Table 6.** 32 point groups (+ 5 additional orientations), its generators and the maximal numbers of space groups to which the group corresponds

There are 73 *symmorphic* space groups, which in the conventional description need only additional information on the centring type. In other groups the space generators must contain partial translations. A proper selection of the origin makes that only one or two nonzero vectors must be specified. Based on the 'conventional origins' from ITA83, the information necessary to convert point generators into the space generators was compiled in Table 7.

The lack of Bravais letter in the items of Table 7 means the primitive lattice or the symbol P. Only translation parts different from the zero vector are specified; their ordering positions are fixed by the asterisks. In order to overcome ratios, translation vectors are multiplied by 4, or by 6 in the trigonal and hexagonal crystal systems. Moreover, in the latter systems only the *z*-component differs from zero and thus is specified. The items can be treated as a concise information on the system of primitive as well as non-primitive translations including: lattice centring, origin specification, relative position of symmetry elements differing space groups in the arithmetic class.

264 Recent Advances in Crystallography

PntGen(k, j) = (code Mod 3) - 1 code = code \ 3 'integral division

point groups, what is seen in the last 5 rows.

**SG max**  **PG symbol**  **Genera -tors** 

46 mm2 1,11 146 3 7 186 6mm 6,10 149,151,

**Generators** 

groups to which the group corresponds

The relations between the space groups from Table 1 and corresponding point groups are compiled in Table 6. The sequence of point-group generators taken from Table 5 is associated with a space group by its number, according to the order of space-group types unchanged since the first edition of Tables in 1935. A range of space-group numbers compatible with a given list (point group) is defined by its maximal value (SG column). Some subranges or individual SG numbers are needed for the alternative description of

> **SG max**

1 1 - 82 4� 12 161 3m1 7,10 199 23 1,8 2 1� 9 88 4/m 3,9 167 3�m1 16,4 206 m3� 1,17 5 2 2 98 422 3,2 173 6 6 214 432 1,8,4 9 m 11 110 4mm 3,11 174 6� 15 220 4�3m 1,8,13 15 2/m 2,9 122 4�2m 12,2 176 6/m 6,9 230 m3�m 1,17,4 24 222 1,2 142 4/mmm 3,2,9 182 622 6,4 115-120 4�m2 12,11

74 mmm 1,2,9 148 3� 16 190 6�m2 15,10 157,159 31m 7,13 80 4 3 155 321 7,4 194 6/mmm 6,4,9 162-163 3�1m 16,5

**Table 6.** 32 point groups (+ 5 additional orientations), its generators and the maximal numbers of space

There are 73 *symmorphic* space groups, which in the conventional description need only additional information on the centring type. In other groups the space generators must contain partial translations. A proper selection of the origin makes that only one or two nonzero vectors must be specified. Based on the 'conventional origins' from ITA83, the information necessary to convert point generators into the space generators was compiled in

The lack of Bravais letter in the items of Table 7 means the primitive lattice or the symbol P. Only translation parts different from the zero vector are specified; their ordering positions are fixed by the asterisks. In order to overcome ratios, translation vectors are multiplied by 4, or by 6 in the trigonal and hexagonal crystal systems. Moreover, in the latter systems only the *z*-component differs from zero and thus is specified. The items can be treated as a

**PG symbol**  **Generators** 

**SG max**  **PG symbol** 

<sup>153</sup>312 7,5

189-190 6�2m 15,4

**Generators** 

For k = 3 To 1 Step -1 For j = 3 To 1 Step -1

Next j Next k

**SG max**

Table 7.

**PG symbol**  Based on the unique identifier of a space-group type, which can be related to the spacegroup sequence number, the list of space-group generators organized in the composition series can be obtained from condensed data included in Tables 5-7.


**Table 7.** Bravais symbols and the translation parts of generators

## **7. Composition series and space groups generation**

It is well known and seen in Table 6 that maximally three generators are necessary for obtaining all symmetry operations in the point groups, even in group *m*3�*m*. But for effective generation of groups based on a series of normal subgroups, the listed set of generators should be extended to the complete composition series. The following action leads to the non-translational sets of generators used in ITA83:


#### 266 Recent Advances in Crystallography


The construction of composition series of generators is shown on the example of the tetragonal group *P*42/*nnm* in its initial description. According to Table 1 the input, from which the non-modified generators shown in Table 8 have been obtained, is reduced to number '134'. Comparing this space-group number with the data contained in Table 3, 132<= 134 < 136, gives the point group 4/*mmm* and point generators 3,2,9, which matrix forms are derived from the integers 7898, 3360 and 3198. The 'space' information is presented in Table 7. The given group number corresponds to string '202202', and defines translation parts for the first and the second generator. According to rule (i) in the above list, the first generator of composition series is obtained by squaring the generator with their matrix part no 3. As a result, four generators described in Table 8 are obtained.

� 1� 0 0 0 1� 0 001 �,� 1/2 1/2 0 � � 0 1� 0 100 001 �,� 1/2 0 1/2� � 1� 0 0 010 001� �,� 1/2 0 1/2� � 1� 0 0 0 1� 0 001� �,� 0 0 0 �

**Table 8.** Composition series of generators for the space group type No 134, consistent with ITA83.

Having completed a composition series set of generators, the derivation of all symmetry matrices or more precisely obtaining the *coset representatives* is a trivial task. Each nontranslational generator doubles, or triples in the case of 3+ operation, the current set of symmetry operations and thus the process is non-redundant and needs only one matrix multiplication per one new symmetry operation item.

The generating process needs only one list of 4x4 matrices for storing as well the original or transformed generators as new generated operations. It is assumed that the GensNo generators are located in the upper part of the **SymMtx** list starting from position 49, the current number of symmetry operators **SymsNo** is set to 1 and the unit matrix is introduced as the first element of **SymMtx**. Let the procedure **NewSymMtx** with three input indices **gen**, **oldsym**, **newsym** multiplies the matrix 48+**gen** by the matrix **oldsym**, reduces translation components modulo 1 and locates the new symmetry operation in the **newsym**  position**.** The complete space group generation procedure can be as follows:

```
For i = 1 To GensNo 'main loop
```

```
If SymMtx(48+i,1,1) + SymMtx(48+i,2,2) + SymMtx(48+i,3,3) = 0 Then 'test for 3+ 
triple = True 
Else 
triple = False
```
Endif For j = 1 To SymsNo 'generation of the successive normal subgroups Call NewSymMtx(i, j, SymsNo + j) If triple = True Then Call NewSymMtx(i, SymsNo + j, 2 \* SymsNo + j) Next j If triple = True Then SymsNo = SymsNo \* 3 Else SymsNo = SymsNo \* 2 'current number of symmetry operation Next i 'end of main loop

The advantages of the composition series method are clear from the above scheme – every new symmetry matrix is obtained by a single multiplication without checking for redundancy. Since the complete list of generators corresponds to the explicitly given ones in ITA83, the obtained result repeats the corresponding conventional space group description in ITA83, including also the order of the symmetry matrices. This is also the base for the other unique space group descriptions, irrespective of whether they are conventional or not, since before the process starts, the generators can be recalculated according to any given coordinate transformation **T** by standard equation **G**' = **T**-1**GT**. Such approach is especially simple in connection with the *translational space group symbols,* where transformations are described explicitly.

## **8. Deriving dual symbols for symmetry operations**

The derivation of a dual symbol from a symmetry operation (**W**,**w**) involves the following:


The type of point operation is easily recognized from the determinant and trace of **W** using a look-up Table 2. Splitting indices are the same for both matrices **W** and –**W**. Let **W**p denotes the proper rotation matrix det(**W**)**W.** A lattice vector [*uvw*] parallel to the rotation axis as well its reciprocal (*hkl*) are defined by any non-zero column and any non-zero row of the matrices constructed in dependence on the order *k* of **W**p:

$$k = \mathbf{2}: \mathbf{I} + \mathbf{W\_{p'}}k = \mathbf{3}: \mathbf{I} + \mathbf{W\_p} + \mathbf{W\_p}^2, \ k = \mathbf{4}: \mathbf{I} + \mathbf{W\_p}^2 \text{ and } k = \mathbf{6}: \mathbf{I}\_1 + \mathbf{W\_p}^3$$

where **I** denotes a unit matrix.

266 Recent Advances in Crystallography

generator.

�

1� 0 0 0 1� 0 001

�,� 1/2 1/2 0

� �

multiplication per one new symmetry operation item.

For i = 1 To GensNo 'main loop

triple = True

triple = False

Else

iii. generators 6 and 6� (matrices 6 and 15) are replaced by their third and second powers. iv. in the case of a cubic system the two-fold rotation in *z* direction (matrix 1) is followed by the two-fold rotation in *y* direction (matrix 2). The situation is a little more cumbersome for the space groups: the translation part of generator 2[010] occurring in the composition series is not explicitly specified and must be obtained by a cyclic permutation of the translation components (tx, ty, tz) (tz, tx, ty) given for 2[001]

The construction of composition series of generators is shown on the example of the tetragonal group *P*42/*nnm* in its initial description. According to Table 1 the input, from which the non-modified generators shown in Table 8 have been obtained, is reduced to number '134'. Comparing this space-group number with the data contained in Table 3, 132<= 134 < 136, gives the point group 4/*mmm* and point generators 3,2,9, which matrix forms are derived from the integers 7898, 3360 and 3198. The 'space' information is presented in Table 7. The given group number corresponds to string '202202', and defines translation parts for the first and the second generator. According to rule (i) in the above list, the first generator of composition series is obtained by squaring the generator with their

� �

Having completed a composition series set of generators, the derivation of all symmetry matrices or more precisely obtaining the *coset representatives* is a trivial task. Each nontranslational generator doubles, or triples in the case of 3+ operation, the current set of symmetry operations and thus the process is non-redundant and needs only one matrix

The generating process needs only one list of 4x4 matrices for storing as well the original or transformed generators as new generated operations. It is assumed that the GensNo generators are located in the upper part of the **SymMtx** list starting from position 49, the current number of symmetry operators **SymsNo** is set to 1 and the unit matrix is introduced as the first element of **SymMtx**. Let the procedure **NewSymMtx** with three input indices **gen**, **oldsym**, **newsym** multiplies the matrix 48+**gen** by the matrix **oldsym**, reduces translation components modulo 1 and locates the new symmetry operation in the **newsym** 

**Table 8.** Composition series of generators for the space group type No 134, consistent with ITA83.

1� 0 0 010 001�

�,� 1/2 0 1/2

� �

1� 0 0 0 1� 0 001�

�,� 0 0 0 �

matrix part no 3. As a result, four generators described in Table 8 are obtained.

�,� 1/2 0 1/2

position**.** The complete space group generation procedure can be as follows:

If SymMtx(48+i,1,1) + SymMtx(48+i,2,2) + SymMtx(48+i,3,3) = 0 Then 'test for 3+

0 1� 0 100 001

> Next, a positive scalar product is required, if necessary by multiplying (*hkl*) by -1. If vectors [*uvw*] and (*hkl*) have common divisors, indices should be divided. At last all indices can change the signs in order to obtain the positive axis direction according to Table 3. Having determined the direction [*uvw*] of an axis, the sense of rotation is simply determined from the inequalities (11). These are all steps needed for a complete geometric description of a point symmetry operation. Practically, the conventions are reduced to the one rule about the positive direction of [*uvw*].

The orthogonal splitting of a translation part **w** depends on the axis direction [*uvw*]. The same results are obtained for (**W**,**w**) and (-**W**,**w**), thus calculations can be reduced to the pair (**W**p,**w**). Since (**W**p,**w**)*<sup>k</sup>* = (**I**,*k***wg**), the *k*-th part of the resulting translation defines the intrinsic component of the translation, and in consequence also the location component **w**l = **w**-**w**g. In the presented procedure such decomposition is also valuable for a rotoinversion operation. As usual, for a reflection the numerical values of **w**g and **w**l must be interchanged. The central problem of deriving the point **x**c (an invariant relative to a reduced operation and closest to the origin) is to find such point on the [*uvw*] lattice vector or on the (*hkl*) plane for a rotation and rotoinversion in the first case and for a reflection in the latter. Geometrical considerations showed that **x**c are rather simply calculated from **w**l according to relations given in Table 4.

The derivation of **x**c ends the calculation needed to describe the space symmetry operation. But vectors **x**c in the case of reflections and **w**g in the case of rotations or rotoinversions are parallel to [*uvw*] and may be represented by a single ratio r. Thus, an intrinsic component **w**<sup>g</sup> and a shift vector (orthogonal to the geometric element) are presented by four simple ratios. An asterisk mark serves as a separation mark between vectors and thus a dual symbol of space-group operation takes the form of ±n ± [*uvw*](*hkl*) **w**g\***x**c.
