CASM  1.1.0
A Clusters Approach to Statistical Mechanics
IrrepDecompositionImpl.hh File Reference

Go to the source code of this file.

Classes

struct  CASM::SymRepTools_v2::IrrepDecompositionImpl::CommuterParamsCounter
 
struct  CASM::SymRepTools_v2::IrrepDecompositionImpl::PossibleIrrep
 Data structure used for storing and checking possible irreps. More...
 

Namespaces

 CASM
 Main CASM namespace.
 
 CASM::SymRepTools_v2
 
 CASM::SymRepTools_v2::IrrepDecompositionImpl
 

Functions

Eigen::MatrixXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::prettyc (const Eigen::MatrixXcd &M)
 Round entries that are within tol of being integer to that integer value. More...
 
Eigen::MatrixXd CASM::SymRepTools_v2::IrrepDecompositionImpl::pretty (const Eigen::MatrixXd &M)
 Round entries that are within tol of being integer to that integer value. More...
 
Eigen::MatrixXd CASM::SymRepTools_v2::IrrepDecompositionImpl::real_I (Index rows, Index cols)
 
Eigen::MatrixXd CASM::SymRepTools_v2::IrrepDecompositionImpl::real_Zero (Index rows, Index cols)
 
Eigen::MatrixXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::complex_I (Index rows, Index cols)
 
Eigen::MatrixXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::complex_Zero (Index rows, Index cols)
 
Eigen::MatrixXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::make_commuter (CommuterParamsCounter const &params, MatrixRep const &rep, GroupIndices const &head_group, Eigen::MatrixXcd const &kernel)
 
Eigen::MatrixXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::make_kernel (Eigen::MatrixXcd const &subspace)
 
Eigen::MatrixXd CASM::SymRepTools_v2::IrrepDecompositionImpl::make_kernel (Eigen::MatrixXd const &subspace)
 
Index CASM::SymRepTools_v2::IrrepDecompositionImpl::find_end_of_equal_eigenvalues (Index begin, Eigen::VectorXd const &eigenvalues)
 
Eigen::MatrixXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::make_irrep_subspace (Eigen::MatrixXcd const &KV_matrix, Index begin, Index end, bool allow_complex)
 Make an irreducible subspace. More...
 
Eigen::VectorXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::make_characters (std::vector< Eigen::MatrixXcd > const &rep)
 Calculate character for all matrices in rep. More...
 
Eigen::VectorXd CASM::SymRepTools_v2::IrrepDecompositionImpl::make_characters (std::vector< Eigen::MatrixXd > const &rep)
 Calculate character for all matrices in rep. More...
 
bool CASM::SymRepTools_v2::IrrepDecompositionImpl::make_is_block_diagonal (std::vector< Eigen::MatrixXcd > const &rep, Index begin, Index end, double tol)
 Check if approximately zero outside block along diagonal. More...
 
Eigen::VectorXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::make_irrep_characters (std::vector< Eigen::MatrixXcd > const &rep, Index begin, Index end)
 Find characters for block in range [begin, end) More...
 
double CASM::SymRepTools_v2::IrrepDecompositionImpl::make_squared_norm (Eigen::VectorXcd const &characters)
 
double CASM::SymRepTools_v2::IrrepDecompositionImpl::make_squared_norm (Eigen::VectorXd const &characters)
 
std::complex< double > CASM::SymRepTools_v2::IrrepDecompositionImpl::frobenius_product (Eigen::MatrixXcd const &matrix)
 
Eigen::MatrixXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::normalize_commuter (Eigen::MatrixXcd const &commuter)
 
bool CASM::SymRepTools_v2::IrrepDecompositionImpl::is_extended_by (Eigen::MatrixXcd const &space_A, Eigen::MatrixXcd const &space_B)
 Return true if space_A is extended by space_B. More...
 
Eigen::MatrixXcd CASM::SymRepTools_v2::IrrepDecompositionImpl::extend (Eigen::MatrixXcd const &space_A, Eigen::MatrixXcd const &space_B)
 Return matrix combining columns of space_A and space_B. More...
 
Eigen::MatrixXd CASM::SymRepTools_v2::IrrepDecompositionImpl::extend (Eigen::MatrixXd const &space_A, Eigen::MatrixXd const &space_B)
 Return matrix combining columns of space_A and space_B. More...
 
std::vector< PossibleIrrep > CASM::SymRepTools_v2::IrrepDecompositionImpl::make_possible_irreps (Eigen::MatrixXcd const &commuter, Eigen::MatrixXcd const &kernel, MatrixRep const &rep, GroupIndices const &head_group, bool allow_complex)
 
std::vector< IrrepInfo > CASM::SymRepTools_v2::IrrepDecompositionImpl::make_irrep_info (std::set< PossibleIrrep > const &irreps)
 Make a vector of IrrepInfo from PossibleIrreps. More...
 
IrrepInfo CASM::SymRepTools_v2::IrrepDecompositionImpl::subspace_to_full_space (IrrepInfo const &subspace_irrep, Eigen::MatrixXd const &subspace)
 Transforms IrrepInfo constructed for a subspace to be IrrepInfo appropriate for the full space (full space dimension == subspace.rows()) More...
 
IrrepInfo CASM::SymRepTools_v2::IrrepDecompositionImpl::make_dummy_irrep_info (Eigen::MatrixXcd const &trans_mat)
 
bool CASM::SymRepTools_v2::IrrepDecompositionImpl::is_irrep (MatrixRep const &rep, GroupIndices const &head_group)
 
std::vector< IrrepInfo > CASM::SymRepTools_v2::IrrepDecompositionImpl::irrep_decomposition (MatrixRep const &rep, GroupIndices const &head_group, bool allow_complex)
 Finds irreducible subspaces that comprise an underlying subspace. More...
 
std::vector< IrrepInfo > CASM::SymRepTools_v2::IrrepDecompositionImpl::make_fullspace_irreps (std::vector< IrrepInfo > const &subspace_irreps, Eigen::MatrixXd const &subspace)
 Convert irreps generated for a subspace to full space dimension. More...
 
Eigen::MatrixXd CASM::SymRepTools_v2::IrrepDecompositionImpl::make_invariant_space (MatrixRep const &rep, GroupIndices const &head_group, Eigen::MatrixXd const &subspace)
 Expand subspace by application of group, and orthogonalize. More...
 
MatrixRep CASM::SymRepTools_v2::IrrepDecompositionImpl::make_subspace_rep (MatrixRep const &fullspace_rep, Eigen::MatrixXd const &subspace)
 
std::vector< IrrepInfo > CASM::SymRepTools_v2::IrrepDecompositionImpl::symmetrize_irreps (MatrixRep const &subspace_rep, GroupIndices const &head_group, std::vector< IrrepInfo > const &irreps, GroupIndicesOrbitVector const &cyclic_subgroups, GroupIndicesOrbitVector const &all_subgroups)
 Symmetrize IrrepInfo, by finding high symmetry directions and aligning the irrep subspace basis with those directions. More...