14 std::set<Eigen::Matrix3d, StandardOrientationCompare>
_niggli_set(
15 const Lattice &in_lat,
double compare_tol,
bool keep_handedness);
28 auto lat_set =
_niggli_set(in_lat, compare_tol,
true);
30 throw std::runtime_error(
31 "In _canonical_equivalent_lattice(), did not find any niggli "
32 "representations of provided lattice.");
35 Index to_canonical_ix = 0;
45 for (
auto it = point_grp.begin(); it != point_grp.end(); ++it, ++ix) {
54 "Result of 'niggli()' is not a Niggli cell");
57 trans_lat_mat, compare_tol)) {
59 most_canonical_lat_mat = trans_lat_mat;
65 return std::make_pair(
Lattice(most_canonical_lat_mat, in_lat.
tol()),
const Eigen::Matrix3d & lat_column_mat() const
3x3 matrix with lattice vectors as its columne
Lattice equivalent(Lattice const &in_lat, SymOpVector const &point_grp, double compare_tol)
std::pair< Lattice, Index > _equivalent_lattice_and_index(const Lattice &in_lat, const SymOpVector &point_grp, double compare_tol)
Index operation_index(const Lattice &lat, SymOpVector const &g)
bool check(const Lattice &lat)
bool is_niggli(const Eigen::Matrix3d &test_lat_mat, double compare_tol)
Eigen::Matrix3d const & get_matrix(MappingNode const &_node)
External accessor for isometry, to provide xtal::SymOp adaptability.
std::set< Eigen::Matrix3d, StandardOrientationCompare > _niggli_set(const Lattice &in_lat, double compare_tol, bool keep_handedness)
std::vector< SymOp > make_point_group(Lattice const &_lat)
Populate.
std::vector< SymOp > SymOpVector
bool standard_orientation_compare(const Eigen::Matrix3d &low_score_lat_mat, const Eigen::Matrix3d &high_score_lat_mat, double compare_tol)
Determine whether high_score has a more standard format than low_score.
bool almost_equal(ClusterInvariants const &A, ClusterInvariants const &B, double tol)
Check if ClusterInvariants are equal.
INDEX_TYPE Index
For long integer indexing: