Objects of this class hold a subset of the information provided by spg_get_dataset().
More...
|
| Symmetry_operations (const Crystal_structure &structure, double _symprec=1e-5) |
| Constructor that calls spglib to analyze the symmetries of the provided structure. More...
|
|
std::size_t | get_nsym () const |
|
int | get_spacegroup_number () const |
|
std::string | get_spacegroup_symbol () const |
|
std::string | get_wyckoff () const |
|
std::vector< int > | get_equivalences () const |
|
template<typename T > |
auto | transform_v (const Eigen::MatrixBase< T > &vector, std::size_t index, bool cartesian=false) const -> Eigen::Matrix< typename T::Scalar, Eigen::Dynamic, Eigen::Dynamic > |
| Transform a vector according to one of the symmetry operations. More...
|
|
template<typename T > |
auto | rotate_v (const Eigen::MatrixBase< T > &vector, std::size_t index, bool cartesian=false) const -> Eigen::Matrix< typename T::Scalar, Eigen::Dynamic, Eigen::Dynamic > |
| Rotate (but do not translate) a vector according to one of the symmetry operations. More...
|
|
template<typename T > |
Eigen::Matrix< T, 3, 3 > | rotate_m (const Eigen::Ref< const Eigen::Matrix< T, 3, 3 >> &matrix, std::size_t index, bool cartesian=false) const |
| Rotate a 3 x 3 matrix according to one of the symmetry operations. More...
|
|
template<typename T > |
Eigen::Matrix< T, 3, 3 > | unrotate_m (const Eigen::Ref< const Eigen::Matrix< T, 3, 3 >> &matrix, std::size_t index, bool cartesian=false) const |
| Rotate a 3 x 3 matrix according to the inverse of one of the symmetry operations. More...
|
|
std::size_t | map_atom (std::size_t original, std::size_t index) const |
| Get the atom index that an atom is mapped to through a symmetry operation. More...
|
|
bool | is_inversion (std::size_t index) const |
| Find out if a symmetry operation involves an inversion. More...
|
|
template<typename T > |
auto | rotate_q (const Eigen::MatrixBase< T > &vector, std::size_t index) const -> Eigen::Matrix< typename T::Scalar, Eigen::Dynamic, Eigen::Dynamic > |
| Rotate a vector expressed in direct reciprocal coordinates according to one of the symmetry operations. More...
|
|
template<typename T > |
Eigen::Matrix< T, 3, 3 > | symmetrize_m (const Eigen::Ref< const Eigen::Matrix< T, 3, 3 >> &matrix, bool cartesian=false) const |
| Symmetrize a 3x3 matrix using all the operations in the group. More...
|
|
std::vector< std::vector< Transformed_pair > > | get_pair_classes () const |
| Take all pairs of atoms in the structure and divide them among equivalence classes defined by the internal translations. More...
|
|
Objects of this class hold a subset of the information provided by spg_get_dataset().