from_generators#

classmethod Symmetry.from_generators(*generators: Rotation) Symmetry[source]#

Create a Symmetry from a minimum list of generating transformations.

Parameters:
*generators

An arbitrary list of constituent transformations.

Returns:
sym

Examples

Combining a 180° rotation about [1, -1, 0] with a 4-fold rotoinversion axis along [0, 0, 1]

>>> from orix.quaternion import Symmetry
>>> myC2 = Symmetry([(1, 0, 0, 0), (0, 0.75**0.5, -0.75**0.5, 0)])
>>> myS4 = Symmetry([(1, 0, 0, 0), (0.5**0.5, 0, 0, 0.5**0.5)])
>>> myS4.improper = [0, 1]
>>> mySymmetry = Symmetry.from_generators(myC2, myS4)
>>> mySymmetry
Symmetry (8,)
[[ 1.      0.      0.      0.    ]
 [ 0.      0.7071 -0.7071  0.    ]
 [ 0.7071  0.      0.      0.7071]
 [ 0.      0.     -1.      0.    ]
 [ 0.      1.      0.      0.    ]
 [-0.7071  0.      0.      0.7071]
 [ 0.      0.      0.      1.    ]
 [ 0.     -0.7071 -0.7071  0.    ]]