soprano.properties.symmetry.utils#
Utility functions for symmetry calculations
- soprano.properties.symmetry.utils._find_wyckoff_points(a, symprec=1e-05, backend='auto')[source]#
Find and return all Wyckoff points for a given atomic system, as well as the operations that each Wyckoff point is stable under, and whether the Hessian has local radial symmetry or is definite in them.
Note: This function uses the spglib backend internally when available, because the coordinate-transform arithmetic is written against spglib’s convention for
transformation_matrixandorigin_shift. Moyo’sstd_linearis a different matrix even at the same Hall number — there is freedom in choosing a transformation matrix up to a Euclidean normalizer, and spglib and moyo select different ones by design (see spglib/moyo#198). Thebackendparameter is accepted for API consistency but is overridden to"spglib"when spglib is installed; moyo is used as a fallback only when spglib is absent.- Parameters:
backend (Literal['auto', 'spglib', 'moyo'])
- soprano.properties.symmetry.utils._get_symmetry_dataset(s, symprec, backend='auto')[source]#
Return a
SpacegroupDatasetfor the givenase.Atomsobject s.- Parameters:
backend (Literal['auto', 'spglib', 'moyo'])
- soprano.properties.symmetry.utils._get_symmetry_ops(hall_no, backend='auto')[source]#
Return
(rotations, translations)numpy arrays for hall_no.- Parameters:
backend (Literal['auto', 'spglib', 'moyo'])