Struct IrrepContextSpec

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 table is set.

std::optional<Table> table

If set, the group is given by this multiplication table.

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 tensors are an error (instead of having default_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.