Struct TensorNetwork::SlotCanonicalizationMetadata

Nested Relationships

This struct is a nested type of Class TensorNetwork.

Struct Documentation

struct SlotCanonicalizationMetadata

metadata produced by canonicalize_slots()

Public Types

using named_index_compare_t = std::function<bool(const std::pair<const Index*, IndexSlotType>&, const std::pair<const Index*, IndexSlotType>&)>

type of less-than comparison function for named indices, receives {Index ptr, its slot type}

Public Functions

size_t hash_value() const
inline auto get_index_view() const
template<typename Cont>
inline auto get_indices() const

Public Members

named_indices_t named_indices

list of named indices

named_index_compare_t named_index_compare

less-than comparison function for named indices, used for coarse-grained sorting of named indices, before sorting to canonical order

container::svector<named_indices_t::const_iterator> named_indices_canonical

list of named indices, sorted first by named_index_compare, then by canonical order; iterators point to named_indices

std::shared_ptr<bliss::Graph> graph

canonicalized colored graph, use graph->cmp to compare against another to detect equivalence

std::int8_t phase = +1

if tensor network contains tensors with antisymmetric bra/ket this reports the phase change due to permutation of slots relative to their input order