CASM  1.1.0
A Clusters Approach to Statistical Mechanics
VectorSpaceSymReport.cc
Go to the documentation of this file.
2 
3 namespace CASM {
4 
5 namespace SymRepTools_v2 {
6 
13  IrrepDecomposition const &irrep_decomposition, bool calc_wedges) {
14  VectorSpaceSymReport result;
15  result.irreps = irrep_decomposition.irreps;
17  irrep_decomposition.symmetry_adapted_subspace;
18  for (Index element_index : irrep_decomposition.head_group) {
19  auto matrix_rep = irrep_decomposition.fullspace_rep[element_index];
20  result.symgroup_rep.push_back(matrix_rep);
21  }
22  result.axis_glossary =
23  std::vector<std::string>(result.symmetry_adapted_subspace.rows(), "x");
24  Index i = 0;
25  for (std::string &x : result.axis_glossary) {
26  x += std::to_string(++i);
27  }
28  if (calc_wedges) {
30  }
31  return result;
32 }
33 
34 } // namespace SymRepTools_v2
35 
46  SymGroupRep const &rep, SymGroup const &head_group,
47  Eigen::MatrixXd const &subspace, bool calc_wedges) {
48  bool allow_complex = true;
50  make_irrep_decomposition(rep, head_group, subspace, allow_complex);
52  calc_wedges);
53 }
54 
55 } // namespace CASM
SymGroup is a collection of symmetry operations that satisfy the group property The symmetry operatio...
Definition: SymGroup.hh:42
SymGroupRep is an alternative representation of a SymGroup for something other than real space....
Definition: SymGroupRep.hh:31
std::string to_string(ENUM val)
Return string representation of enum class.
Definition: io_traits.hh:172
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
VectorSpaceSymReport vector_space_sym_report(IrrepDecomposition const &irrep_decomposition, bool calc_wedges=false)
Construct VectorSpaceSymReport.
Main CASM namespace.
Definition: APICommand.hh:8
Eigen::MatrixXd MatrixXd
SymRepTools_v2::IrrepDecomposition make_irrep_decomposition(SymGroupRep const &rep, SymGroup const &head_group, Eigen::MatrixXd const &_init_subspace, bool allow_complex)
Make an IrrepDecompotion using CASM::SymGroupRep and CASM::SymGroup.
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
SymRepTools_v2::VectorSpaceSymReport vector_space_sym_report_v2(DoFSpace const &dof_space, SupercellSymInfo const &sym_info, std::vector< PermuteIterator > const &group, bool calc_wedges=false)
Make VectorSpaceSymReport.
Definition: DoFSpace.cc:585
INDEX_TYPE Index
For long integer indexing:
Definition: definitions.hh:39
Performs irreducible subspace construction and symmetrization.
Summary of data associated with the action of a symmetry group on a vector space.
std::vector< Eigen::MatrixXd > symgroup_rep
Matrix representation for each operation in the group – defines action of group on vector space.
std::vector< std::string > axis_glossary
Names given to individual axes in initial (un-adapted) vector space, corresponding to rows of symmetr...
std::vector< SubWedge > irreducible_wedge
Irreducible wedge in the vector space encoded as a vector of symmetrically distinct SubWedges.
std::vector< IrrepInfo > irreps
A list of all irreducible representation that make up the full representation.
Eigen::MatrixXd symmetry_adapted_subspace
Symmetry-oriented subspace of the vector space (columns are the basis vectors)