CASM  1.1.0
A Clusters Approach to Statistical Mechanics
IrrepWedge.hh
Go to the documentation of this file.
1 #ifndef CASM_symmetry_IrrepWedge
2 #define CASM_symmetry_IrrepWedge
3 
5 #include "casm/external/Eigen/Core"
8 
9 namespace CASM {
10 
11 namespace SymRepTools_v2 {
12 
14 struct IrrepWedge {
15  IrrepWedge(IrrepInfo _irrep_info, Eigen::MatrixXd _axes);
16 
19 
25 
27  std::vector<Index> mult;
28 };
29 
32 
38 class SubWedge {
39  public:
40  SubWedge(std::vector<IrrepWedge> const &_iwedges);
41 
43  std::vector<IrrepWedge> const &irrep_wedges() const { return m_iwedges; }
44 
47  Eigen::MatrixXd const &trans_mat() const { return m_trans_mat; }
48 
49  private:
50  std::vector<IrrepWedge> m_iwedges;
52 
54  std::vector<IrrepWedge> const &_iwedges);
55 };
56 
59 
61 std::vector<IrrepWedge> make_irrep_wedges(
63 
66 std::vector<SubWedge> make_symrep_subwedges(
68 
69 } // namespace SymRepTools_v2
70 
71 } // namespace CASM
72 
73 #endif
SubWedge(std::vector< IrrepWedge > const &_iwedges)
Definition: IrrepWedge.cc:76
std::vector< IrrepWedge > m_iwedges
Definition: IrrepWedge.hh:50
Eigen::MatrixXd const & trans_mat() const
Definition: IrrepWedge.hh:47
std::vector< IrrepWedge > const & irrep_wedges() const
IrrepWedges comprising the Subwedge.
Definition: IrrepWedge.hh:43
static Eigen::MatrixXd _subwedge_to_trans_mat(std::vector< IrrepWedge > const &_iwedges)
Definition: IrrepWedge.cc:79
IrrepWedge make_dummy_irrep_wedge(Eigen::MatrixXd const &axes)
Construct a "dummy" IrrepWedge with user specified axes.
Definition: IrrepWedge.cc:67
std::vector< IrrepWedge > make_irrep_wedges(IrrepDecomposition const &irrep_decomposition)
Make IrrepWedges from an IrrepDecomposition.
Definition: IrrepWedge.cc:109
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,...
Definition: IrrepWedge.cc:172
SubWedge make_dummy_subwedge(Eigen::MatrixXd const &axes)
Makes a "dummy" SubWedge from a single "dummy" IrrepWedge with given axes.
Definition: IrrepWedge.cc:101
Main CASM namespace.
Definition: APICommand.hh:8
Eigen::MatrixXd MatrixXd
std::vector< SymRepTools::IrrepInfo > irrep_decomposition(SymGroupRep const &_rep, SymGroup const &head_group, bool allow_complex)
Finds irreducible subspaces that comprise an underlying subspace It does not rely on the character ta...
Definition: SymRepTools.cc:761
Performs irreducible subspace construction and symmetrization.
An irreducible wedge in an irreducible vector space.
Definition: IrrepWedge.hh:14
IrrepWedge(IrrepInfo _irrep_info, Eigen::MatrixXd _axes)
Definition: IrrepWedge.cc:56
std::vector< Index > mult
Symmetric multiplicity of each column of 'axes'.
Definition: IrrepWedge.hh:27
IrrepInfo irrep_info
The description of the associated irreducible vector space.
Definition: IrrepWedge.hh:18