Class PathInfo¶
Defined in File PathInfo.hpp
Class Documentation¶
-
class
Jet::PathInfo¶ PathInforepresents a contraction path in aTensorNetwork.Public Types
-
using
NodeID_t= size_t¶ Type of a node ID.
-
using
IndexToSizeMap= std::unordered_map<std::string, size_t>¶ Type of the index-to-size map.
-
using
Steps= std::vector<PathStepInfo>¶ Type of a
PathStepInfosequence.
Public Functions
-
inline
PathInfo()¶ Constructs an empty path.
-
template<typename
Tensor>
inlinePathInfo(const TensorNetwork<Tensor> &tn, const Path &path)¶ Constructs a populated path.
Warning
The program is aborted if the given path references a node ID which does not exist in the given tensor network.
- Template Parameters
Tensor – Type of the tensor in the tensor network.
- Parameters
tn – Tensor network associated with the contraction path.
path – Pairs of node IDs representing a raw contraction path.
-
inline const IndexToSizeMap &
GetIndexSizes() const noexcept¶ Returns the index-to-size map of this path.
- Returns
Map which associates each index with a dimension size.
-
inline size_t
GetNumLeaves() const noexcept¶ Returns the number of leaf steps in this path.
- Returns
Number of leaves.
-
inline const Path &
GetPath() const noexcept¶ Returns the raw contraction path of this path.
- Returns
Pairs of node IDs representing the contraction path.
-
inline const Steps &
GetSteps() const noexcept¶ Returns the steps of this path.
- Returns
Collection of path steps.
-
inline double
GetPathStepFlops(size_t id) const¶ Computes the number of floating-point operations needed to execute a path step (excluding any dependencies or child steps).
Warning
The program is aborted if the given step ID does not exist.
- Parameters
id – ID of a path step.
- Returns
Number of floating-point multiplications and additions needed to compute the tensor associated with the path step.
-
inline double
GetTotalFlops() const noexcept¶ Computes the total number of floating-point operations needed to contract the tensors represented by this path.
- Parameters
id – ID of a path step.
- Returns
Total number of floating-point multiplications and additions.
-
inline double
GetPathStepMemory(size_t id) const¶ Computes the size of the tensor in a path step.
Warning
The program is aborted if the given step ID does not exist.
- Parameters
id – ID of a path step.
- Returns
Number of elements in the tensor associated with the path step.
-
inline double
GetTotalMemory() const noexcept¶ Computes the total memory required (up to a constant
sizeoffactor) to hold the tensors represented by this path.- Returns
Total number of elements in the tensors.
-
using