Tools for Crystal Symmetry Analysis

Crystallographic symmetry analysis which can be necessary to interpret EBSD data can be carried out using the pymatgen (“Python Materials Genomics”) library [1].

The crystallographic analysis of the structure data is provided in pymatgen via the powerful spglib library, which also defines the crystallographic conventions used in space group analysis.

Pymatgen includes routines to access crystal structure data in various input formats, including data import directly from the online Crystallography Open Database.

[1] Shyue Ping Ong, William Davidson Richards, Anubhav Jain, Geoffroy Hautier, Michael Kocher, Shreyas Cholia, Dan Gunter, Vincent Chevrier, Kristin A. Persson, Gerbrand Ceder. Python Materials Genomics (pymatgen) : A Robust, Open-Source Python Library for Materials Analysis. Computational Materials Science, 2013, 68, 314–319. doi:10.1016/j.commatsci.2012.10.028

[1]:
import numpy as np
import pymatgen as mg
from pymatgen.io.cif import CifParser
from pymatgen.ext.cod import COD
from pymatgen.symmetry.analyzer import SpacegroupAnalyzer

Importing Structure Data

[2]:
#this gets the primitive cell
parser = CifParser("Cu-Copper.cif")
prim_structure = parser.get_structures()[0]
print(prim_structure)
Full Formula (Cu1)
Reduced Formula: Cu
abc   :   2.556163   2.556163   2.556163
angles:  60.000000  60.000000  60.000000
Sites (1)
  #  SP      a    b    c
---  ----  ---  ---  ---
  0  Cu      0    0    0
[3]:
cod = COD()
cod_structure = cod.get_structure_by_id(1010064)
print(cod_structure)
Full Formula (Li8 O4)
Reduced Formula: Li2O
abc   :   4.610000   4.610000   4.610000
angles:  90.000000  90.000000  90.000000
Sites (12)
  #  SP       a     b     c
---  ----  ----  ----  ----
  0  Li+   0.25  0.25  0.25
  1  Li+   0.25  0.75  0.75
  2  Li+   0.75  0.25  0.75
  3  Li+   0.75  0.75  0.25
  4  Li+   0.75  0.75  0.75
  5  Li+   0.75  0.25  0.25
  6  Li+   0.25  0.75  0.25
  7  Li+   0.25  0.25  0.75
  8  O2-   0     0     0
  9  O2-   0     0.5   0.5
 10  O2-   0.5   0     0.5
 11  O2-   0.5   0.5   0
[4]:
# Reading a structure from CIF
#structure = mg.Structure.from_str(open("CsCl.cif").read(), fmt="cif")
structure = mg.Structure.from_file("Cu-Copper.cif")
print(structure)
Full Formula (Cu4)
Reduced Formula: Cu
abc   :   3.614960   3.614960   3.614960
angles:  90.000000  90.000000  90.000000
Sites (4)
  #  SP      a    b    c
---  ----  ---  ---  ---
  0  Cu    0    0    0
  1  Cu    0    0.5  0.5
  2  Cu    0.5  0    0.5
  3  Cu    0.5  0.5  0

Space Group Assignment

[5]:
finder = SpacegroupAnalyzer(structure)
print("The space group symbol is {}".format(finder.get_space_group_symbol()))
print("The point group symbol is {}".format(finder.get_point_group_symbol()))

#structure=finder.get_symmetrized_structure()
#structure =finder.get_conventional_standard_structure()
#print(structure)
The space group symbol is Fm-3m
The point group symbol is m-3m

We can output a dictionary of all the symmetry data that has been determined by SpacegroupAnalyzer via spglib:

[6]:
symdata=finder.get_symmetry_dataset()
print(symdata)
{'number': 225, 'hall_number': 523, 'international': 'Fm-3m', 'hall': '-F 4 2 3', 'choice': '', 'transformation_matrix': array([[  1.00000000e+00,   3.79646512e-17,   0.00000000e+00],
       [  1.91466924e-19,   1.91466924e-19,  -1.00000000e+00],
       [  0.00000000e+00,   1.00000000e+00,   0.00000000e+00]]), 'origin_shift': array([ 1.,  1.,  1.]), 'rotations': array([[[ 1,  0,  0],
        [ 0,  1,  0],
        [ 0,  0,  1]],

       [[-1,  0,  0],
        [ 0, -1,  0],
        [ 0,  0, -1]],

       [[ 0,  0,  1],
        [ 0,  1,  0],
        [-1,  0,  0]],

       ...,
       [[ 0,  0,  1],
        [ 1,  0,  0],
        [ 0, -1,  0]],

       [[ 1,  0,  0],
        [ 0,  0, -1],
        [ 0,  1,  0]],

       [[-1,  0,  0],
        [ 0,  0,  1],
        [ 0, -1,  0]]], dtype=int32), 'translations': array([[  0.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   0.00000000e+00],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  1.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  0.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  1.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   1.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   0.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   0.00000000e+00,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  5.00000000e-01,   1.00000000e+00,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  0.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01],
       [  5.00000000e-01,   5.00000000e-01,   4.44089210e-16],
       [  1.00000000e+00,   5.00000000e-01,   5.00000000e-01]]), 'wyckoffs': ['a', 'a', 'a', 'a'], 'equivalent_atoms': array([0, 0, 0, 0], dtype=int32), 'mapping_to_primitive': array([0, 0, 0, 0], dtype=int32), 'std_lattice': array([[ 3.61496,  0.     ,  0.     ],
       [ 0.     ,  3.61496,  0.     ],
       [ 0.     ,  0.     ,  3.61496]]), 'std_types': array([1, 1, 1, 1], dtype=int32), 'std_positions': array([[ 0. ,  0. ,  0. ],
       [ 0. ,  0.5,  0.5],
       [ 0.5,  0. ,  0.5],
       [ 0.5,  0.5,  0. ]]), 'std_mapping_to_primitive': array([0, 0, 0, 0], dtype=int32), 'pointgroup': 'm-3m'}

Getting the unique point group operators:

[7]:
pg = np.array([ [[ 1.,  0.,  0.],
                 [ 0.,  1.,  0.],
                 [ 0.,  0.,  1.]] ] )
for idx,op in enumerate(symdata['rotations']):
    is_new_op=True
    for pg_op in pg:
        if np.array_equal(pg_op,op):
            is_new_op=False
    if is_new_op:
        pg=np.append(pg,[op],axis=0)
#print(pg)
print(pg.shape)
(48, 3, 3)
[8]:
hkl=np.array([1,0,0])
new_hkl=np.matmul(hkl,pg)
print(new_hkl.shape)
print(new_hkl)
(48, 3)
[[ 1.  0.  0.]
 [-1.  0.  0.]
 [ 0.  0.  1.]
 [ 0.  0. -1.]
 [-1.  0.  0.]
 [ 1.  0.  0.]
 [ 0.  0. -1.]
 [ 0.  0.  1.]
 [ 1.  0.  0.]
 [-1.  0.  0.]
 [ 0.  0.  1.]
 [ 0.  0. -1.]
 [-1.  0.  0.]
 [ 1.  0.  0.]
 [ 0.  0. -1.]
 [ 0.  0.  1.]
 [ 0.  1.  0.]
 [ 0. -1.  0.]
 [ 0.  1.  0.]
 [ 0. -1.  0.]
 [ 0.  1.  0.]
 [ 0. -1.  0.]
 [ 0.  1.  0.]
 [ 0. -1.  0.]
 [ 0. -1.  0.]
 [ 0.  1.  0.]
 [ 0. -1.  0.]
 [ 0.  1.  0.]
 [ 0. -1.  0.]
 [ 0.  1.  0.]
 [ 0. -1.  0.]
 [ 0.  1.  0.]
 [ 0.  0. -1.]
 [ 0.  0.  1.]
 [ 1.  0.  0.]
 [-1.  0.  0.]
 [ 0.  0.  1.]
 [ 0.  0. -1.]
 [-1.  0.  0.]
 [ 1.  0.  0.]
 [ 0.  0.  1.]
 [ 0.  0. -1.]
 [-1.  0.  0.]
 [ 1.  0.  0.]
 [ 0.  0. -1.]
 [ 0.  0.  1.]
 [ 1.  0.  0.]
 [-1.  0.  0.]]
[9]:
# sort out the unique hkls of the family
hkl_family=np.array([new_hkl[0]])
for idx,hkl in enumerate(new_hkl):
    is_new_hkl=True
    for f in hkl_family:
        if np.array_equal(hkl,f):
            is_new_hkl=False
    if is_new_hkl:
        hkl_family=np.append(hkl_family,[hkl],axis=0)

print(hkl_family.shape)
print(hkl_family)
(6, 3)
[[ 1.  0.  0.]
 [-1.  0.  0.]
 [ 0.  0.  1.]
 [ 0.  0. -1.]
 [ 0.  1.  0.]
 [ 0. -1.  0.]]
[10]:
# alternative approach

# returns a list of SymmOp objects
pg_ops=finder.get_point_group_operations()

hkl=np.array([0,0,1])
family=np.array([hkl])

for idx,op in enumerate(pg_ops):
    new_hkl=pg_ops[idx].apply_rotation_only(hkl)
    hkl_is_new=True
    for fvec in family:
        if np.array_equal(new_hkl,fvec):
            hkl_is_new=False
    if hkl_is_new:
        family=np.append(family,[new_hkl],axis=0)
print(hkl, " family:")
print(family)
[0 0 1]  family:
[[ 0.  0.  1.]
 [ 0.  0. -1.]
 [ 1.  0.  0.]
 [-1.  0.  0.]
 [ 0. -1.  0.]
 [ 0.  1.  0.]]

spglib Examples

[11]:
import sys
import spglib
import numpy as np

#######################################
# Uncomment to use Atoms class in ASE #
#######################################
# from ase import Atoms

#######################################################################
# Using the local Atoms-like class (BSD license) where a small set of #
# ASE Atoms features is comaptible but enough for this example.       #
#######################################################################
from atoms import Atoms
[12]:
def show_symmetry(symmetry):
    for i in range(symmetry['rotations'].shape[0]):
        print("  --------------- %4d ---------------" % (i + 1))
        rot = symmetry['rotations'][i]
        trans = symmetry['translations'][i]
        print("  rotation:")
        for x in rot:
            print("     [%2d %2d %2d]" % (x[0], x[1], x[2]))
        print("  translation:")
        print("     (%8.5f %8.5f %8.5f)" % (trans[0], trans[1], trans[2]))

def show_lattice(lattice):
    print("Basis vectors:")
    for vec, axis in zip(lattice, ("a", "b", "c")):
        print("%s %10.5f %10.5f %10.5f" % (tuple(axis,) + tuple(vec)))

def show_cell(lattice, positions, numbers):
    show_lattice(lattice)
    print("Atomic points:")
    for p, s in zip(positions, numbers):
        print("%2d %10.5f %10.5f %10.5f" % ((s,) + tuple(p)))
[13]:
silicon_ase = Atoms(symbols=['Si'] * 8,
                    cell=[(4, 0, 0),
                          (0, 4, 0),
                          (0, 0, 4)],
                    scaled_positions=[(0, 0, 0),
                                      (0, 0.5, 0.5),
                                      (0.5, 0, 0.5),
                                      (0.5, 0.5, 0),
                                      (0.25, 0.25, 0.25),
                                      (0.25, 0.75, 0.75),
                                      (0.75, 0.25, 0.75),
                                      (0.75, 0.75, 0.25)],
                    pbc=True)

silicon = ([(4, 0, 0),
            (0, 4, 0),
            (0, 0, 4)],
           [(0, 0, 0),
            (0, 0.5, 0.5),
            (0.5, 0, 0.5),
            (0.5, 0.5, 0),
            (0.25, 0.25, 0.25),
            (0.25, 0.75, 0.75),
            (0.75, 0.25, 0.75),
            (0.75, 0.75, 0.25)],
           [14,] * 8)

silicon_dist = ([(4.01, 0, 0),
                 (0, 4, 0),
                 (0, 0, 3.99)],
                [(0.001, 0, 0),
                 (0, 0.5, 0.5),
                 (0.5, 0, 0.5),
                 (0.5, 0.5, 0),
                 (0.25, 0.25, 0.251),
                 (0.25, 0.75, 0.75),
                 (0.75, 0.25, 0.75),
                 (0.75, 0.75, 0.25)],
                [14,] * 8)

silicon_prim = ([(0, 2, 2),
                 (2, 0, 2),
                 (2, 2, 0)],
                [(0, 0, 0),
                 (0.25, 0.25, 0.25)],
                [14, 14])

rutile = ([(4, 0, 0),
           (0, 4, 0),
           (0, 0, 3)],
          [(0, 0, 0),
           (0.5, 0.5, 0.5),
           (0.3, 0.3, 0.0),
           (0.7, 0.7, 0.0),
           (0.2, 0.8, 0.5),
           (0.8, 0.2, 0.5)],
          [14, 14, 8, 8, 8, 8])

rutile_dist = ([(3.97, 0, 0),
                (0, 4.03, 0),
                (0, 0, 3.0)],
               [(0, 0, 0),
                (0.5001, 0.5, 0.5),
                (0.3, 0.3, 0.0),
                (0.7, 0.7, 0.002),
                (0.2, 0.8, 0.5),
                (0.8, 0.2, 0.5)],
               [14, 14, 8, 8, 8, 8])

a = 3.07
c = 3.52
MgB2 = ([(a, 0, 0),
         (-a/2, a/2*np.sqrt(3), 0),
         (0, 0, c)],
        [(0, 0, 0),
         (1.0/3, 2.0/3, 0.5),
         (2.0/3, 1.0/3, 0.5)],
        [12, 5, 5])

a = [3., 0., 0.]
b = [-3.66666667, 3.68178701, 0.]
c = [-0.66666667, -1.3429469, 1.32364995]
niggli_lattice = np.array([a, b, c])
[14]:
print("[get_spacegroup]")
print("  Spacegroup of Silicon is %s." % spglib.get_spacegroup(silicon))
print('')

print("[get_spacegroup]")
print("  Spacegroup of Silicon (ASE Atoms-like format) is %s." %
      spglib.get_spacegroup(silicon_ase))
print('')
print("[get_spacegroup]")
print("  Spacegroup of Rutile is %s." % spglib.get_spacegroup(rutile))
print('')
print("[get_spacegroup]")
print("  Spacegroup of MgB2 is %s." % spglib.get_spacegroup(MgB2))
print('')
print("[get_symmetry]")
print("  Symmetry operations of Rutile unitcell are:")
print('')
symmetry = spglib.get_symmetry(rutile)
show_symmetry(symmetry)
print('')
print("[get_symmetry]")
print("  Symmetry operations of MgB2 are:")
print('')
symmetry = spglib.get_symmetry(MgB2)
show_symmetry(symmetry)
print('')
print("[get_pointgroup]")
print("  Pointgroup of Rutile is %s." %
      spglib.get_pointgroup(symmetry['rotations'])[0])
print('')

dataset = spglib.get_symmetry_dataset( rutile )
print("[get_symmetry_dataset] ['international']")
print("  Spacegroup of Rutile is %s (%d)." % (dataset['international'],
                                              dataset['number']))
print('')
print("[get_symmetry_dataset] ['pointgroup']")
print("  Pointgroup of Rutile is %s." % (dataset['pointgroup']))
print('')
print("[get_symmetry_dataset] ['hall']")
print("  Hall symbol of Rutile is %s (%d)." % (dataset['hall'],
                                               dataset['hall_number']))
print('')
print("[get_symmetry_dataset] ['wyckoffs']")
alphabet = "abcdefghijklmnopqrstuvwxyz"
print("  Wyckoff letters of Rutile are: ", dataset['wyckoffs'])
print('')
print("[get_symmetry_dataset] ['equivalent_atoms']")
print("  Mapping to equivalent atoms of Rutile are: ")
for i, x in enumerate(dataset['equivalent_atoms']):
  print("  %d -> %d" % (i + 1, x + 1))
print('')
print("[get_symmetry_dataset] ['rotations'], ['translations']")
print("  Symmetry operations of Rutile unitcell are:")
for i, (rot,trans) in enumerate(zip(dataset['rotations'],
                                    dataset['translations'])):
    print("  --------------- %4d ---------------" % (i + 1))
    print("  rotation:")
    for x in rot:
        print("     [%2d %2d %2d]" % (x[0], x[1], x[2]))
    print("  translation:")
    print("     (%8.5f %8.5f %8.5f)" % (trans[0], trans[1], trans[2]))
print('')

print("[refine_cell]")
print(" Refine distorted rutile structure")
lattice, positions, numbers = spglib.refine_cell(rutile_dist, symprec=1e-1)
show_cell(lattice, positions, numbers)
print('')

print("[find_primitive]")
print(" Fine primitive distorted silicon structure")
lattice, positions, numbers = spglib.find_primitive(silicon_dist, symprec=1e-1)
show_cell(lattice, positions, numbers)
print('')

print("[standardize_cell]")
print(" Standardize distorted rutile structure:")
print(" (to_primitive=0 and no_idealize=0)")
lattice, positions, numbers = spglib.standardize_cell(rutile_dist,
                                                      to_primitive=0,
                                                      no_idealize=0,
                                                      symprec=1e-1)
show_cell(lattice, positions, numbers)
print('')

print("[standardize_cell]")
print(" Standardize distorted rutile structure:")
print(" (to_primitive=0 and no_idealize=1)")
lattice, positions, numbers = spglib.standardize_cell(rutile_dist,
                                                      to_primitive=0,
                                                      no_idealize=1,
                                                      symprec=1e-1)
show_cell(lattice, positions, numbers)
print('')

print("[standardize_cell]")
print(" Standardize distorted silicon structure:")
print(" (to_primitive=1 and no_idealize=0)")
lattice, positions, numbers = spglib.standardize_cell(silicon_dist,
                                                      to_primitive=1,
                                                      no_idealize=0,
                                                      symprec=1e-1)
show_cell(lattice, positions, numbers)
print('')

print("[standardize_cell]")
print(" Standardize distorted silicon structure:")
print(" (to_primitive=1 and no_idealize=1)")
lattice, positions, numbers = spglib.standardize_cell(silicon_dist,
                                                      to_primitive=1,
                                                      no_idealize=1,
                                                      symprec=1e-1)
show_cell(lattice, positions, numbers)
print('')

symmetry = spglib.get_symmetry(silicon)
print("[get_symmetry]")
print("  Number of symmetry operations of silicon conventional")
print("  unit cell is %d (192)." % len(symmetry['rotations']))
show_symmetry(symmetry)
print('')

symmetry = spglib.get_symmetry_from_database(525)
print("[get_symmetry_from_database]")
print("  Number of symmetry operations of silicon conventional")
print("  unit cell is %d (192)." % len(symmetry['rotations']))
show_symmetry(symmetry)
print('')

reduced_lattice = spglib.niggli_reduce(niggli_lattice)
print("[niggli_reduce]")
print("  Original lattice")
show_lattice(niggli_lattice)
print("  Reduced lattice")
show_lattice(reduced_lattice)
print('')


mapping, grid = spglib.get_ir_reciprocal_mesh([11, 11, 11],
                                              silicon_prim,
                                              is_shift=[0, 0, 0])
num_ir_kpt = len(np.unique(mapping))
print("[get_ir_reciprocal_mesh]")
print("  Number of irreducible k-points of primitive silicon with")
print("  11x11x11 Monkhorst-Pack mesh is %d (56)." % num_ir_kpt)
print('')

mapping, grid = spglib.get_ir_reciprocal_mesh([8, 8, 8],
                                              rutile,
                                              is_shift=[1, 1, 1])
num_ir_kpt = len(np.unique(mapping))
print("[get_ir_reciprocal_mesh]")
print("  Number of irreducible k-points of Rutile with")
print("  8x8x8 Monkhorst-Pack mesh is %d (40)." % num_ir_kpt)
print('')

mapping, grid = spglib.get_ir_reciprocal_mesh([9, 9, 8],
                                              MgB2,
                                              is_shift=[0, 0, 1])
num_ir_kpt = len(np.unique(mapping))
print("[get_ir_reciprocal_mesh]")
print("  Number of irreducible k-points of MgB2 with")
print("  9x9x8 Monkhorst-Pack mesh is %s (48)." % num_ir_kpt)
print('')
[get_spacegroup]
  Spacegroup of Silicon is Fd-3m (227).

[get_spacegroup]
  Spacegroup of Silicon (ASE Atoms-like format) is Fd-3m (227).

[get_spacegroup]
  Spacegroup of Rutile is P4_2/mnm (136).

[get_spacegroup]
  Spacegroup of MgB2 is P6/mmm (191).

[get_symmetry]
  Symmetry operations of Rutile unitcell are:

  ---------------    1 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    2 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    3 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------    4 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------    5 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    6 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    7 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------    8 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------    9 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------   10 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------   11 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   12 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   13 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------   14 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------   15 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   16 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)

[get_symmetry]
  Symmetry operations of MgB2 are:

  ---------------    1 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    2 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    3 ---------------
  rotation:
     [ 1 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    4 ---------------
  rotation:
     [-1  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    5 ---------------
  rotation:
     [ 0 -1  0]
     [ 1 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    6 ---------------
  rotation:
     [ 0  1  0]
     [-1  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    7 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    8 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    9 ---------------
  rotation:
     [-1  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   10 ---------------
  rotation:
     [ 1 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   11 ---------------
  rotation:
     [ 0  1  0]
     [-1  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   12 ---------------
  rotation:
     [ 0 -1  0]
     [ 1 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   13 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   14 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   15 ---------------
  rotation:
     [-1  0  0]
     [-1  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   16 ---------------
  rotation:
     [ 1  0  0]
     [ 1 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   17 ---------------
  rotation:
     [-1  1  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   18 ---------------
  rotation:
     [ 1 -1  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   19 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   20 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   21 ---------------
  rotation:
     [ 1  0  0]
     [ 1 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   22 ---------------
  rotation:
     [-1  0  0]
     [-1  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   23 ---------------
  rotation:
     [ 1 -1  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   24 ---------------
  rotation:
     [-1  1  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)

[get_pointgroup]
  Pointgroup of Rutile is 6/mmm.

[get_symmetry_dataset] ['international']
  Spacegroup of Rutile is P4_2/mnm (136).

[get_symmetry_dataset] ['pointgroup']
  Pointgroup of Rutile is 4/mmm.

[get_symmetry_dataset] ['hall']
  Hall symbol of Rutile is -P 4n 2n (419).

[get_symmetry_dataset] ['wyckoffs']
  Wyckoff letters of Rutile are:  ['a', 'a', 'f', 'f', 'f', 'f']

[get_symmetry_dataset] ['equivalent_atoms']
  Mapping to equivalent atoms of Rutile are:
  1 -> 1
  2 -> 1
  3 -> 3
  4 -> 3
  5 -> 3
  6 -> 3

[get_symmetry_dataset] ['rotations'], ['translations']
  Symmetry operations of Rutile unitcell are:
  ---------------    1 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    2 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    3 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------    4 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------    5 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    6 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    7 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------    8 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------    9 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------   10 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------   11 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   12 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   13 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------   14 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.50000)
  ---------------   15 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   16 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)

[refine_cell]
 Refine distorted rutile structure
Basis vectors:
a    4.00000    0.00000    0.00000
b    0.00000    4.00000    0.00000
c    0.00000    0.00000    3.00000
Atomic points:
14    0.00000    0.00000    0.00000
14    0.50000    0.50000    0.50000
 8    0.29995    0.29995    0.00000
 8    0.70005    0.70005    0.00000
 8    0.20005    0.79995    0.50000
 8    0.79995    0.20005    0.50000

[find_primitive]
 Fine primitive distorted silicon structure
Basis vectors:
a    0.00000    2.00000    2.00000
b    2.00000    0.00000    2.00000
c    2.00000    2.00000    0.00000
Atomic points:
14    0.25000    0.25000    0.25000
14    0.00000    0.00000    0.00000

[standardize_cell]
 Standardize distorted rutile structure:
 (to_primitive=0 and no_idealize=0)
Basis vectors:
a    4.00000    0.00000    0.00000
b    0.00000    4.00000    0.00000
c    0.00000    0.00000    3.00000
Atomic points:
14    0.00000    0.00000    0.00000
14    0.50000    0.50000    0.50000
 8    0.29995    0.29995    0.00000
 8    0.70005    0.70005    0.00000
 8    0.20005    0.79995    0.50000
 8    0.79995    0.20005    0.50000

[standardize_cell]
 Standardize distorted rutile structure:
 (to_primitive=0 and no_idealize=1)
Basis vectors:
a    3.97000    0.00000    0.00000
b    0.00000    4.03000    0.00000
c    0.00000    0.00000    3.00000
Atomic points:
14    0.00000    0.00000    0.00000
14    0.50010    0.50000    0.50000
 8    0.30000    0.30000    0.00000
 8    0.70000    0.70000    0.00200
 8    0.20000    0.80000    0.50000
 8    0.80000    0.20000    0.50000

[standardize_cell]
 Standardize distorted silicon structure:
 (to_primitive=1 and no_idealize=0)
Basis vectors:
a    0.00000    2.00000    2.00000
b    2.00000    0.00000    2.00000
c    2.00000    2.00000    0.00000
Atomic points:
14    0.25000    0.25000    0.25000
14    0.00000    0.00000    0.00000

[standardize_cell]
 Standardize distorted silicon structure:
 (to_primitive=1 and no_idealize=1)
Basis vectors:
a    0.00000    2.00000   -1.99500
b    2.00500    2.00000    0.00000
c    2.00500    0.00000   -1.99500
Atomic points:
14    0.99975    0.00025    0.00025
14    0.74975    0.75025    0.74975

[get_symmetry]
  Number of symmetry operations of silicon conventional
  unit cell is 192 (192).
  ---------------    1 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    2 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------    3 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------    4 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------    5 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------    6 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------    7 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------    8 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------    9 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   10 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   11 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   12 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   13 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   14 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   15 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   16 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   17 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   18 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   19 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   20 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   21 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   22 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   23 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   24 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   25 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   26 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   27 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   28 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   29 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   30 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   31 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   32 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   33 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   34 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   35 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   36 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   37 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   38 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   39 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   40 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   41 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   42 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   43 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   44 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   45 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   46 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   47 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   48 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   49 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   50 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   51 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   52 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   53 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   54 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   55 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   56 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   57 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   58 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   59 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   60 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   61 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   62 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   63 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   64 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   65 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   66 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   67 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   68 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   69 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   70 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   71 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   72 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   73 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   74 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   75 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   76 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   77 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   78 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   79 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   80 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   81 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   82 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   83 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   84 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   85 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   86 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   87 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   88 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   89 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   90 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   91 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   92 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   93 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   94 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   95 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   96 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   97 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   98 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   99 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  100 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  101 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  102 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  103 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  104 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  105 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  106 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  107 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  108 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  109 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  110 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  111 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  112 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  113 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  114 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  115 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  116 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  117 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  118 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  119 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  120 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  121 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  122 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  123 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  124 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  125 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  126 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  127 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  128 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  129 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  130 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  131 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  132 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  133 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  134 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  135 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  136 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  137 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  138 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  139 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  140 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  141 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  142 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  143 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  144 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  145 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  146 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  147 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  148 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  149 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  150 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  151 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  152 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  153 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  154 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  155 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  156 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  157 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  158 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  159 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  160 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  161 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  162 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  163 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  164 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  165 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  166 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  167 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  168 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  169 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  170 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  171 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  172 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  173 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  174 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  175 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  176 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  177 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  178 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  179 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  180 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  181 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  182 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  183 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  184 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  185 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  186 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  187 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  188 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  189 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  190 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  191 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  192 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.00000  0.50000)

[get_symmetry_from_database]
  Number of symmetry operations of silicon conventional
  unit cell is 192 (192).
  ---------------    1 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    2 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------    3 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------    4 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------    5 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------    6 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------    7 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------    8 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------    9 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   10 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   11 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   12 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   13 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   14 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   15 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   16 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   17 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   18 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   19 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   20 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   21 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   22 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   23 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   24 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   25 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   26 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   27 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   28 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   29 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   30 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   31 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   32 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   33 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   34 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   35 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   36 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   37 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   38 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   39 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   40 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   41 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   42 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   43 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   44 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   45 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   46 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   47 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   48 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   49 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   50 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   51 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   52 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   53 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   54 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   55 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   56 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   57 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   58 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   59 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   60 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   61 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   62 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   63 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   64 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   65 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   66 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   67 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   68 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   69 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   70 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   71 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   72 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   73 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   74 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   75 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   76 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   77 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   78 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   79 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------   80 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   81 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   82 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   83 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   84 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   85 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   86 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   87 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------   88 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   89 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   90 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------   91 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   92 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------   93 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------   94 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   95 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   96 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------   97 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------   98 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------   99 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  100 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  101 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  102 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  103 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  104 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  105 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  106 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  107 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  108 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  109 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  110 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  111 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  112 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  113 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  114 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  115 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  116 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  117 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  118 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  119 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  120 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  121 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  122 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  123 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  124 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  125 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  126 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  127 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  128 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  129 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  130 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  131 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  132 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  133 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  134 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  135 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  136 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  137 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  138 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  139 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  140 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  141 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  142 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  143 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  144 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  145 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  146 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  147 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  148 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  149 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  150 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  151 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  152 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  153 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  154 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  155 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  156 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  157 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  158 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  159 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  160 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  161 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  162 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  163 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  164 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  165 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  166 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  167 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  168 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  169 ---------------
  rotation:
     [-1  0  0]
     [ 0 -1  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  170 ---------------
  rotation:
     [ 0  1  0]
     [-1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  171 ---------------
  rotation:
     [ 1  0  0]
     [ 0  1  0]
     [ 0  0 -1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  172 ---------------
  rotation:
     [ 0 -1  0]
     [ 1  0  0]
     [ 0  0 -1]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  173 ---------------
  rotation:
     [-1  0  0]
     [ 0  1  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  174 ---------------
  rotation:
     [ 0  1  0]
     [ 1  0  0]
     [ 0  0  1]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  175 ---------------
  rotation:
     [ 1  0  0]
     [ 0 -1  0]
     [ 0  0  1]
  translation:
     ( 0.75000  0.25000  0.75000)
  ---------------  176 ---------------
  rotation:
     [ 0 -1  0]
     [-1  0  0]
     [ 0  0  1]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  177 ---------------
  rotation:
     [ 0  0 -1]
     [-1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  178 ---------------
  rotation:
     [ 0  0 -1]
     [ 0  1  0]
     [-1  0  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  179 ---------------
  rotation:
     [ 0  0 -1]
     [ 1  0  0]
     [ 0  1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  180 ---------------
  rotation:
     [ 0  0 -1]
     [ 0 -1  0]
     [ 1  0  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  181 ---------------
  rotation:
     [ 0  0  1]
     [-1  0  0]
     [ 0  1  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  182 ---------------
  rotation:
     [ 0  0  1]
     [ 0  1  0]
     [ 1  0  0]
  translation:
     ( 0.00000  0.50000  0.50000)
  ---------------  183 ---------------
  rotation:
     [ 0  0  1]
     [ 1  0  0]
     [ 0 -1  0]
  translation:
     ( 0.25000  0.75000  0.75000)
  ---------------  184 ---------------
  rotation:
     [ 0  0  1]
     [ 0 -1  0]
     [-1  0  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  185 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0 -1]
     [-1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  186 ---------------
  rotation:
     [-1  0  0]
     [ 0  0 -1]
     [ 0  1  0]
  translation:
     ( 0.50000  0.50000  0.00000)
  ---------------  187 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0 -1]
     [ 1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  188 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0 -1]
     [ 0 -1  0]
  translation:
     ( 0.50000  0.00000  0.50000)
  ---------------  189 ---------------
  rotation:
     [ 0  1  0]
     [ 0  0  1]
     [-1  0  0]
  translation:
     ( 0.75000  0.75000  0.25000)
  ---------------  190 ---------------
  rotation:
     [ 1  0  0]
     [ 0  0  1]
     [ 0  1  0]
  translation:
     ( 0.00000  0.00000  0.00000)
  ---------------  191 ---------------
  rotation:
     [ 0 -1  0]
     [ 0  0  1]
     [ 1  0  0]
  translation:
     ( 0.25000  0.25000  0.25000)
  ---------------  192 ---------------
  rotation:
     [-1  0  0]
     [ 0  0  1]
     [ 0 -1  0]
  translation:
     ( 0.00000  0.50000  0.50000)

[niggli_reduce]
  Original lattice
Basis vectors:
a    3.00000    0.00000    0.00000
b   -3.66667    3.68179    0.00000
c   -0.66667   -1.34295    1.32365
  Reduced lattice
Basis vectors:
a   -0.66667   -1.34295    1.32365
b    2.33333   -1.34295    1.32365
c    1.00000    0.99589    2.64730

[get_ir_reciprocal_mesh]
  Number of irreducible k-points of primitive silicon with
  11x11x11 Monkhorst-Pack mesh is 56 (56).

[get_ir_reciprocal_mesh]
  Number of irreducible k-points of Rutile with
  8x8x8 Monkhorst-Pack mesh is 40 (40).

[get_ir_reciprocal_mesh]
  Number of irreducible k-points of MgB2 with
  9x9x8 Monkhorst-Pack mesh is 48 (48).