Class TensorNetworkV3::Edge

Nested Relationships

This class is a nested type of Class TensorNetworkV3.

Class Documentation

class Edge

a (hyper)edge in a tensor network

Edge in a TensorNetworkV3 = the Index annotating it + a list of vertices corresponding to the Tensor index slots it connects

Note

this is move-only since using pointers to refer to Index objects

Public Functions

Edge() = default
Edge(const Edge&) = delete
Edge(Edge&&) = default
Edge &operator=(const Edge&) = delete
Edge &operator=(Edge&&) = default
inline explicit Edge(const Vertex &vertex)
inline explicit Edge(std::initializer_list<Vertex> vertices)
inline Edge(const Vertex &vertex, const Index *index)
inline Edge(std::initializer_list<Vertex> vertices, const Index *index)
inline Edge &connect_to(const Vertex &vertex)
inline bool operator<(const Edge &other) const
inline bool operator==(const Edge &other) const
inline const Vertex &vertex(std::size_t i) const
Parameters:

i – vertex ordinal

Returns:

const reference to the ith Vertex object

Pre:

this->size() > i

inline std::size_t vertex_count() const
Returns:

the number of attached terminals (0 or more)

inline const Index &idx() const