Struct IrrepContextSpec¶
Defined in File config.hpp
Nested Relationships¶
Nested Types¶
Struct Documentation¶
-
struct IrrepContextSpec¶
Description of an IRREP context: the group (or rather its multiplication rules) and the IRREPs that leaf tensors are assumed to transform as. See make_irrep_context.
Public Types
-
using IrrepNames = std::vector<std::string>¶
Names of IRREPs. The name “*” refers to any IRREP.
Public Members
-
std::string group¶
The name of the group: “symbolic” or one of the shipped point groups (C1, Ci, C2, Cs, C2v, C2h, D2, D2h). Unused if
tableis set.
-
std::optional<std::vector<std::string>> symbols¶
Symbolic IRREPs. Only allowed for
group(not for tables). If not set, symbols are only allowed for the “symbolic” group.
-
std::optional<std::vector<std::string>> relations¶
Relations of the form “lhs = rhs” between IRREPs. Only allowed for
group(not for tables).
-
std::vector<std::pair<std::string, IrrepNames>> tensors¶
IRREPs of leaf tensors. A key containing a ‘{’ is a serialized tensor that is matched by block, all other keys are full-match regular expressions for the tensor label (an exact label takes precedence over patterns).
-
std::vector<std::pair<std::string, IrrepNames>> variables¶
IRREPs of scalar variables. Keys are full-match regular expressions for the variable label (an exact label takes precedence over patterns). Variables that are not listed are totally symmetric.
-
IrrepNames default_irreps = {"*"}¶
IRREPs of leaf tensors that are not covered by
tensors.
-
bool error_on_unspecified = false¶
Whether tensors that are not covered by
tensorsare an error (instead of havingdefault_irreps)
-
struct Table¶
An explicit multiplication table.
Public Members
-
std::string totally_symmetric¶
Name of the totally symmetric IRREP.
-
std::vector<std::pair<std::string, IrrepNames>> products¶
Products of the form “X*Y” together with the IRREPs they may contain.
-
std::vector<std::pair<std::string, std::string>> conjugates¶
Pairs of IRREPs and their conjugates.
-
std::string totally_symmetric¶
-
using IrrepNames = std::vector<std::string>¶