CASM  1.1.0
A Clusters Approach to Statistical Mechanics
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
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...