hikari.symmetry.group ===================== .. py:module:: hikari.symmetry.group .. autoapi-nested-parse:: This file contains class definition and necessary tools for constructing and evaluating all symmetry groups. Classes ------- .. autoapisummary:: hikari.symmetry.group.Group Module Contents --------------- .. py:class:: Group(*generators) Base immutable class containing information about symmetry groups. It stores information for point and space groups and, among others, allows for iteration over its `hikari.symmetry.BoundedOperation` elements. .. py:class:: System Bases: :py:obj:`enum.Enum` Enumerator class with information about associated crystal system .. py:attribute:: triclinic :value: 0 .. py:attribute:: monoclinic :value: 1 .. py:attribute:: orthorhombic :value: 2 .. py:attribute:: trigonal :value: 3 .. py:attribute:: tetragonal :value: 4 .. py:attribute:: cubic :value: 5 .. py:attribute:: hexagonal :value: 6 .. py:property:: directions :type: list[numpy.ndarray] .. py:attribute:: BRAVAIS_PRIORITY_RULES :value: 'A+B+C=F>R>I>C>B>A>H>P' .. py:attribute:: AXIS_PRIORITY_RULES :value: '6>61>62>63>64>65>-6>4>41>42>43>-4>-3>3>31>32>2>21' .. py:attribute:: PLANE_PRIORITY_RULES :value: 'm>a+b=e>a+c=e>b+c=e>a>b>c>n>d' .. py:attribute:: __generators :value: [] .. py:attribute:: __operations .. py:attribute:: name .. py:attribute:: number :value: 0 .. py:method:: from_generators_operations(generators, operations) :classmethod: Generate group using already complete list of generators and operators. Does not check if `operations` are correct or complete for efficiency! :param generators: A complete list of group generators :param operations: A complete list of group operations :return: Symmetry group with given generators and operators. .. py:method:: from_hall_symbol(hall_symbol) :classmethod: .. py:method:: __eq__(other) .. py:method:: __lt__(other) .. py:method:: __gt__(other) .. py:method:: __le__(other) .. py:method:: __ge__(other) .. py:method:: __repr__() .. py:method:: __str__() .. py:method:: __hash__() .. py:property:: auto_generated_name :type: str Name of the group generated automatically. Use only as approx. .. py:property:: centering_symbol :type: str .. py:property:: generators :type: list[hikari.symmetry.operations.BoundedOperation] .. py:property:: operations :type: list[hikari.symmetry.operations.BoundedOperation] .. py:property:: order :type: int .. py:property:: is_centrosymmetric :type: bool True if group has centre of symmetry; False otherwise. .. py:property:: is_enantiogenic :type: bool True if determinant of any operation in group is negative. .. py:property:: is_sohncke :type: bool True if determinant of all operations in group are positive. .. py:property:: is_achiral .. py:property:: is_chiral .. py:property:: is_symmorphic :type: bool .. py:property:: is_polar :type: bool .. py:property:: system :type: System Predicted crystal system associated with this group .. py:method:: lauefy() :return: New PointGroup with centre of symmetry added to generators. :rtype: Group .. py:method:: reciprocate() .. py:method:: transform(m) Transform the group using 4x4 matrix. For reference, see `bilbao resources `_ or `IUCr pamphlet no. 22 `_. :example: >>> import numpy >>> from hikari.symmetry import SG >>> matrix = numpy.array([(1,0,1,0),(0,1,0,0),(-1,0,0,0),(0,0,0,1)]) >>> SG['P21/c'].transform(matrix).auto_generated_name P 21/n :param m: A 4x4 array containing information about new base and origin. :type m: np.ndarray :return: Group with new, transformed basis and origin. :rtype: Group