|
CASM
AClustersApproachtoStatisticalMechanics
|
#include "casm/crystallography/SupercellEnumerator.hh"#include "casm/external/boost.hh"#include "casm/external/Eigen/Dense"#include "casm/crystallography/Structure.hh"#include "casm/clex/PrimClex.hh"Go to the source code of this file.
Namespaces | |
| CASM | |
| Main CASM namespace. | |
| CASM::HermiteCounter_impl | |
Functions | |
| Eigen::Matrix3i | CASM::make_unit_cell (PrimClex &primclex, const jsonParser &json) |
| Read unit cell transformation matrix from JSON input. More... | |
| ScelEnumProps | CASM::make_scel_enum_props (PrimClex &primclex, const jsonParser &input) |
| Make a ScelEnumProps object from JSON input. More... | |
| HermiteCounter::Index | CASM::HermiteCounter_impl::_spill_factor (Eigen::VectorXi &diag, HermiteCounter::Index position, HermiteCounter::value_type attempt) |
| Find the next factor of the specified position and share with next element. Use attempt as starting point. More... | |
| HermiteCounter::Index | CASM::HermiteCounter_impl::next_spill_position (Eigen::VectorXi &diag, HermiteCounter::Index position) |
| Spill the next factor of the specified element with its neighbor, and return new position. More... | |
| HermiteCounter::Index | CASM::HermiteCounter_impl::upper_size (HermiteCounter::Index init_dim) |
| Determine the number of elements in the upper triangular matrix (excluding diagonal) More... | |
| EigenVectorXiCounter | CASM::HermiteCounter_impl::_upper_tri_counter (const Eigen::VectorXi ¤t_diag) |
| Create a counter for the elements above the diagonal based on the current diagonal value. More... | |
| Eigen::MatrixXi | CASM::HermiteCounter_impl::_zip_matrix (const Eigen::VectorXi ¤t_diag, const Eigen::VectorXi ¤t_upper_tri) |
| Assemble a matrix diagonal and unrolled upper triangle values into a matrix. More... | |
| Eigen::MatrixXi | CASM::HermiteCounter_impl::_expand_dims_old (const Eigen::MatrixXi &hermit_mat, const Eigen::VectorXi &active_dims) |
| Expand a n x n Hermite normal matrix into a m x m one (e.g. for 2D supercells) More... | |
| Eigen::MatrixXi | CASM::HermiteCounter_impl::_expand_dims (const Eigen::MatrixXi &H, const Eigen::MatrixXi &G) |
| Expand a n x n Hermite normal matrix (H) into a m x m one through a m x m generating matrix (G) (e.g. for arbitrary 2D supercells) More... | |
| Eigen::VectorXi | CASM::HermiteCounter_impl::_canonical_unroll (const Eigen::MatrixXi &hermit_mat) |
| Unroll a Hermit normal form square matrix into a vector such that it's canonical form is easy to compare. More... | |
| bool | CASM::HermiteCounter_impl::_canonical_compare (const Eigen::MatrixXi &H0, const Eigen::MatrixXi &H1) |
| Compare two integer matrices and see which one is lexicographically greatest. Returns true if H0<H1. More... | |
| template<> | |
| Eigen::Matrix3i | CASM::enforce_min_volume< Lattice > (const Lattice &unit, const Eigen::Matrix3i &T, const SymGroup &point_grp, Index volume, bool fix_shape) |
| Eigen::Matrix3i | CASM::canonical_hnf (const Eigen::Matrix3i &T, const SymGroup &effective_pg, const Lattice &ref_lattice) |
| Return canonical hermite normal form of the supercell matrix, and op used to find it. More... | |