Struct CanonicalizeOptions¶
Defined in File options.hpp
Struct Documentation¶
-
struct CanonicalizeOptions¶
options that control behavior of
canonicalize()Public Functions
-
CanonicalizeOptions copy_and_set(CanonicalizationMethod) const¶
-
CanonicalizeOptions copy_and_set(std::optional<container::set<Index>>) const¶
-
CanonicalizeOptions copy_and_set(IgnoreNamedIndexLabel) const¶
Public Members
- SEQUANT_DESIGNATED_INIT_ONLY
-
CanonicalizationMethod method = CanonicalizationMethod::Complete¶
TN canonicalization method
-
std::optional<container::set<Index>> named_indices = std::nullopt¶
specifies named indices; by default all indices that appear only once are deduced to be named, but this may be misleading if e.g. single summed-over dummy index appears in an expression
-
IgnoreNamedIndexLabel ignore_named_index_labels = IgnoreNamedIndexLabel::Yes¶
whether the graph-based canonicalization ignores the labels of named indices, so that the structure of the result does not depend on them; named indices that an automorphism of the network can exchange are then placed in the order of their labels, as the context’s index comparer orders them; the result is determined only if that comparer orders every two named indices of the network. A Sum canonicalizes its summands with labels distinguished regardless.
Public Static Functions
-
static CanonicalizeOptions default_options()¶
Friends
-
inline friend bool operator==(const CanonicalizeOptions &a, const CanonicalizeOptions &b)¶
- Returns:
true if
aandbagree in every member
-
CanonicalizeOptions copy_and_set(CanonicalizationMethod) const¶