CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
Namespaces | |
IrrepDecompositionImpl | |
IrrepWedgeImpl | |
Classes | |
struct | IrrepInfo |
struct | IrrepDecomposition |
Performs irreducible subspace construction and symmetrization. More... | |
struct | IrrepWedge |
An irreducible wedge in an irreducible vector space. More... | |
class | SubWedge |
struct | _RealType |
struct | _RealType< std::vector< T > > |
struct | _RealType< Eigen::Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime > > |
struct | VectorSpaceSymReport |
Summary of data associated with the action of a symmetry group on a vector space. More... | |
class | VectorInvariants |
Used for generating SimpleOrbit of high symmetry direction vectors. More... | |
struct | VectorSymCompare |
Used for constructing SimpleOrbit of high symmetry direction vectors. More... | |
Typedefs | |
typedef std::vector< Eigen::MatrixXd > | MatrixRep |
typedef std::set< Index > | GroupIndices |
typedef std::set< GroupIndices > | GroupIndicesOrbit |
typedef std::vector< GroupIndicesOrbit > | GroupIndicesOrbitVector |
template<typename T > | |
using | _Real = typename _RealType< T >::Type |
Functions | |
IrrepInfo | make_dummy_irrep_info (Eigen::MatrixXcd const &trans_mat) |
Construct a "dummy" IrrepInfo with user specified transformtion matrix. More... | |
IrrepInfo | make_dummy_irrep_info (Eigen::MatrixXd const &trans_mat) |
Construct a "dummy" IrrepInfo with user specified transformtion matrix. More... | |
Eigen::MatrixXd | full_trans_mat (std::vector< IrrepInfo > const &irreps) |
Assumes that irreps are real, and concatenates their individual trans_mats to form larger trans_mat. More... | |
IrrepWedge | make_dummy_irrep_wedge (Eigen::MatrixXd const &axes) |
Construct a "dummy" IrrepWedge with user specified axes. More... | |
SubWedge | make_dummy_subwedge (Eigen::MatrixXd const &axes) |
Makes a "dummy" SubWedge from a single "dummy" IrrepWedge with given axes. More... | |
std::vector< IrrepWedge > | make_irrep_wedges (IrrepDecomposition const &irrep_decomposition) |
Make IrrepWedges from an IrrepDecomposition. More... | |
std::vector< SubWedge > | make_symrep_subwedges (IrrepDecomposition const &irrep_decomposition) |
Find full irreducible wedge of a group-represented vector space, as a vector of SubWedges, from an IrrepDecomposition. More... | |
multivector< Eigen::VectorXcd >::X< 2 > | make_irrep_special_directions (MatrixRep const &rep, GroupIndices const &head_group, Eigen::MatrixXcd const &irrep_subspace, double vec_compare_tol, GroupIndicesOrbitVector const &cyclic_subgroups, GroupIndicesOrbitVector const &all_subgroups, bool use_all_subgroups=false) |
Find high-symmetry directions in a irreducible space. More... | |
Eigen::MatrixXcd | make_irrep_symmetrizer_matrix (multivector< Eigen::VectorXcd >::X< 2 > const &irrep_special_directions, Eigen::MatrixXcd const &irrep_subspace, double vec_compare_tol) |
Make an irreducible space symmetrizer matrix using special directions. More... | |
template<typename Derived > | |
_Real< Derived > | to_real (Eigen::MatrixBase< Derived > const &mat) |
template<typename T > | |
_Real< std::vector< T > > | to_real (std::vector< T > const &vec) |
VectorSpaceSymReport | vector_space_sym_report (IrrepDecomposition const &irrep_decomposition, bool calc_wedges=false) |
Construct VectorSpaceSymReport. More... | |
Eigen::MatrixXcd | vector_space_prepare (Eigen::MatrixXcd const &vector_space, double tol) |
Vector space preparation for comparison. More... | |
Eigen::MatrixXd | vector_space_prepare (Eigen::MatrixXd const &vector_space, double tol) |
Vector space preparation for comparison. More... | |
using CASM::SymRepTools_v2::_Real = typedef typename _RealType<T>::Type |
Definition at line 16 of file to_real.hh.
typedef std::set< Index > CASM::SymRepTools_v2::GroupIndices |
Definition at line 15 of file IrrepDecomposition.hh.
Definition at line 16 of file IrrepDecomposition.hh.
typedef std::vector< GroupIndicesOrbit > CASM::SymRepTools_v2::GroupIndicesOrbitVector |
Definition at line 17 of file IrrepDecomposition.hh.
typedef std::vector< Eigen::MatrixXd > CASM::SymRepTools_v2::MatrixRep |
Definition at line 14 of file IrrepDecomposition.hh.
Eigen::MatrixXd CASM::SymRepTools_v2::full_trans_mat | ( | std::vector< IrrepInfo > const & | irreps | ) |
Assumes that irreps are real, and concatenates their individual trans_mats to form larger trans_mat.
Definition at line 43 of file IrrepDecomposition.cc.
IrrepInfo CASM::SymRepTools_v2::make_dummy_irrep_info | ( | Eigen::MatrixXcd const & | trans_mat | ) |
Construct a "dummy" IrrepInfo with user specified transformtion matrix.
Construct a "dummy" IrrepInfo with user specified transformtion matrix
The "dummy" IrrepInfo is constructed with specified transformtion matrix and character vector of [(dim,0)] where 'dim' is the dimension of irrep (number of rows of trans_mat
)
Definition at line 24 of file IrrepDecomposition.cc.
IrrepInfo CASM::SymRepTools_v2::make_dummy_irrep_info | ( | Eigen::MatrixXd const & | trans_mat | ) |
Construct a "dummy" IrrepInfo with user specified transformtion matrix.
Construct a "dummy" IrrepInfo with user specified transformtion matrix
The "dummy" IrrepInfo is constructed with specified transformtion matrix and character vector of [(dim,0)] where 'dim' is the dimension of irrep (number of rows of trans_mat
)
Definition at line 35 of file IrrepDecomposition.cc.
IrrepWedge CASM::SymRepTools_v2::make_dummy_irrep_wedge | ( | Eigen::MatrixXd const & | axes | ) |
Construct a "dummy" IrrepWedge with user specified axes.
Construct a "dummy" IrrepWedge with user specified axes
Note:
Definition at line 67 of file IrrepWedge.cc.
SubWedge CASM::SymRepTools_v2::make_dummy_subwedge | ( | Eigen::MatrixXd const & | axes | ) |
Makes a "dummy" SubWedge from a single "dummy" IrrepWedge with given axes.
Makes a "dummy" SubWedge from a single "dummy" IrrepWedge with given axes
Note:
Definition at line 101 of file IrrepWedge.cc.
multivector< Eigen::VectorXcd >::X< 2 > CASM::SymRepTools_v2::make_irrep_special_directions | ( | MatrixRep const & | rep, |
GroupIndices const & | head_group, | ||
Eigen::MatrixXcd const & | irrep_subspace, | ||
double | vec_compare_tol, | ||
GroupIndicesOrbitVector const & | cyclic_subgroups, | ||
GroupIndicesOrbitVector const & | all_subgroups, | ||
bool | use_all_subgroups | ||
) |
Find high-symmetry directions in a irreducible space.
Find high-symmetry directions in a irreducible space
rep | Matrix representation of head_group, this defines group action on the underlying vector space |
head_group | Group for which the irreps are to be found |
subspace | A column vector matrix representing a basis of the irreducible space in which high symmetry directions will be found. The number of rows must equal rep.dim() , the number of columns is equal to the dimension of the irreducible space. |
vec_compare_tol | Tolerance for elementwise floating-point comparisons of vectors |
all_subgroups | Denotes whether all subgroups of head_group should be used for symmetry analysis (if true), or only cyclic subgroups (if false). Cyclic subgroups are those found by taking a group element and multiplying it by itself until a group is generated. |
result[i]
is an orbit of symmetrically equivalent directions, and the value result[i][j]
is an individual direction (Eigen::VectorXcd). Direction vectors are normalized to unit length. The total set of all directions is guaranteed to span the space.if | rep is not an irreducible representation |
Definition at line 39 of file Symmetrizer.cc.
Eigen::MatrixXcd CASM::SymRepTools_v2::make_irrep_symmetrizer_matrix | ( | multivector< Eigen::VectorXcd >::X< 2 > const & | irrep_special_directions, |
Eigen::MatrixXcd const & | irrep_subspace, | ||
double | vec_compare_tol | ||
) |
Make an irreducible space symmetrizer matrix using special directions.
Definition at line 101 of file Symmetrizer.cc.
std::vector< IrrepWedge > CASM::SymRepTools_v2::make_irrep_wedges | ( | IrrepDecomposition const & | irrep_decomposition | ) |
Make IrrepWedges from an IrrepDecomposition.
Make IrrepWedges from an IrrepDecomposition
Definition at line 109 of file IrrepWedge.cc.
std::vector< SubWedge > CASM::SymRepTools_v2::make_symrep_subwedges | ( | IrrepDecomposition const & | irrep_decomposition | ) |
Find full irreducible wedge of a group-represented vector space, as a vector of SubWedges, from an IrrepDecomposition.
Definition at line 172 of file IrrepWedge.cc.
_Real<Derived> CASM::SymRepTools_v2::to_real | ( | Eigen::MatrixBase< Derived > const & | mat | ) |
Definition at line 29 of file to_real.hh.
_Real<std::vector<T> > CASM::SymRepTools_v2::to_real | ( | std::vector< T > const & | vec | ) |
Definition at line 34 of file to_real.hh.
Eigen::MatrixXcd CASM::SymRepTools_v2::vector_space_prepare | ( | Eigen::MatrixXcd const & | vector_space, |
double | tol | ||
) |
Vector space preparation for comparison.
Vector space preparation for comparison
Definition at line 109 of file VectorSymCompare_v2.cc.
Eigen::MatrixXd CASM::SymRepTools_v2::vector_space_prepare | ( | Eigen::MatrixXd const & | vector_space, |
double | tol | ||
) |
Vector space preparation for comparison.
Vector space preparation for comparison
Definition at line 120 of file VectorSymCompare_v2.cc.
VectorSpaceSymReport CASM::SymRepTools_v2::vector_space_sym_report | ( | IrrepDecomposition const & | irrep_decomposition, |
bool | calc_wedges | ||
) |
Construct VectorSpaceSymReport.
Construct VectorSpaceSymReport
irrep_decomposition | An IrrepDecomposition |
calc_wedges | If true, 'irreducible_wedge' is constructed. If false, 'irreducible_wedge' is empty. |
Definition at line 12 of file VectorSpaceSymReport.cc.