# pymatgen.symmetry.settings module

This module provides classes for non-standard space-group settings

class JonesFaithfulTransformation(P, p)

  Bases: `object`

  Transformation for space-groups defined in a non-standard setting

  Transform between settings using matrix P and origin shift vector p, using same notation as reference.

  Should initialize using from_transformation_string in Jones faithful notation, given by a string specifying both a transformation matrix and an origin shift, with parts delimited by a semi-colon. Best shown by example:

  - a,b,c;0,0,0 is the identity (no change)

  - -b+c,a+c,-a+b+c;0,0,0 is R3:r to R3:h (rhombohedral to hexagonal setting)

  - a,b,c;-1/4,-1/4,-1/4 is Pnnn:1 to Pnnn:2 (change in origin choice)

  - b,c,a;-1/2,-1/2,-1/2 is Bbab:1 to Ccca:2 (change settin and origin)

  Can transform points (coords), lattices and symmetry operations.

  Used for transforming magnetic space groups since these are commonly used in multiple settings, due to needing to transform between magnetic and non-magnetic settings.

  See: International Tables for Crystallography (2016). Vol. A, Chapter 1.5, pp. 75–106.

  property P: List[List[float]]

    transformation matrix

    Type

      return

  classmethod from_origin_shift(origin_shift='0,0,0')

    Construct SpaceGroupTransformation from its origin shift string. :param p: origin shift vector :return:

  classmethod from_transformation_string(transformation_string='a,b,c;0,0,0')

    Construct SpaceGroupTransformation from its transformation string. :param P: matrix :param p: origin shift vector :return:

  property inverse: pymatgen.symmetry.settings.JonesFaithfulTransformation

    JonesFaithfulTransformation

    Type

      return

  property p: List[float]

    translation vector

    Type

      return

  static parse_transformation_string(transformation_string: str = 'a,b,c;0,0,0') → Tuple[Union[List[List[float]], numpy.ndarray], List[float]]
    Parameters

      transformation_string (str, optional) – Defaults to “a,b,c;0,0,0”.

    Raises

      ValueError – When transformation string fails to parse.

    Returns

      transformation matrix & vector

    Return type

      Tuple[Union[List[List[float]], np.ndarray], List[float]]

  transform_coords(coords: Union[List[List[float]], numpy.ndarray]) → List[List[float]]

    Takes a list of co-ordinates and transforms them. :param coords: List of coords :return:

  transform_lattice(lattice: pymatgen.core.lattice.Lattice) → pymatgen.core.lattice.Lattice

    Takes a Lattice object and transforms it. :param lattice: Lattice :return:

  transform_symmop(symmop: Union[pymatgen.core.operations.SymmOp, pymatgen.core.operations.MagSymmOp]) → Union[pymatgen.core.operations.SymmOp, pymatgen.core.operations.MagSymmOp]

    Takes a symmetry operation and transforms it. :param symmop: SymmOp or MagSymmOp :return:

  property transformation_string: str

    transformation string

    Type

      return