7 : m_primitive_lattice(tiling_unit),
8 m_superlattice(superlattice),
9 m_transformation_matrix_to_super(
11 this->superlattice(),
TOL)),
12 m_size(
std::abs(m_transformation_matrix_to_super.determinant())) {}
16 : m_primitive_lattice(tiling_unit),
19 m_transformation_matrix_to_super(transformation_matrix),
20 m_size(
std::abs(m_transformation_matrix_to_super.determinant())) {}
32 Lattice reconstructed_tiling_unit(
38 return result_superlattice;
const Eigen::Matrix3d & lat_column_mat() const
3x3 matrix with lattice vectors as its columne
const Lattice & prim_lattice() const
const Eigen::Matrix3l & transformation_matrix_to_super() const
const Lattice & superlattice() const
static Superlattice smooth_prim(const Lattice &tiling_unit, const Lattice &superlattice)
Superlattice(const Lattice &tiling_unit, const Lattice &superlattice)
Lattice m_primitive_lattice
Lattice make_superlattice(const Lattice &lat, const Eigen::Matrix< IntegralType, 3, 3, Options > &transf_mat)
Returns a super Lattice. Transformation matrix must be integer.
Eigen::Matrix< typename Derived::Scalar, Derived::RowsAtCompileTime, Derived::ColsAtCompileTime > inverse(const Eigen::MatrixBase< Derived > &M)
Return the integer inverse matrix of an invertible integer matrix.
Eigen::Matrix3l make_transformation_matrix_to_super(const Lattice &tiling_unit, const Lattice &superlattice, double tol)
Matrix< long int, 3, 3 > Matrix3l