Internal class used to represent stacks of (possibly multiply) applications of TTOperators to either a TTTensor or TTOperator.
More...
|
| | TTStack (const bool _canno, const size_t _corePos=0) |
| |
| | TTStack (const TTStack &_other)=default |
| |
| | TTStack (TTStack &&_other)=default |
| |
| virtual value_t | frob_norm () const override |
| | Calculates the frobenious norm of the TensorNetwork. More...
|
| |
| virtual TensorNetwork * | get_copy () const override |
| | Returns a new copy of the network. More...
|
| |
| | operator TTNetwork< isOperator > () |
| |
| virtual void | operator*= (const value_t _factor) override |
| | Performs the entrywise multiplication with a constant _factor. More...
|
| |
| virtual void | operator/= (const value_t _divisor) override |
| | Performs the entrywise divison by a constant _divisor. More...
|
| |
| TTStack & | operator= (const TTStack &_other)=delete |
| |
| TTStack & | operator= (TTStack &&_other)=delete |
| |
| virtual bool | specialized_contraction (std::unique_ptr< IndexedTensorMoveable< TensorNetwork >> &_out, IndexedTensorReadOnly< TensorNetwork > &&_me, IndexedTensorReadOnly< TensorNetwork > &&_other) const override |
| | (Internal) Calculates the contraction between _me and _other and stores the result in _out. Requires that *this is the tensorObjectReadOnly of _me. More...
|
| |
| virtual void | specialized_evaluation (IndexedTensorWritable< TensorNetwork > &&, IndexedTensorReadOnly< TensorNetwork > &&) override |
| | (Internal) Evaluates _other into _me. Requires that *this is the tensorObjectReadOnly of _me. More...
|
| |
| virtual bool | specialized_sum (std::unique_ptr< IndexedTensorMoveable< TensorNetwork >> &_out, IndexedTensorReadOnly< TensorNetwork > &&_me, IndexedTensorReadOnly< TensorNetwork > &&_other) const override |
| | (Internal) Calculates the sum between _me and _other and stores the result in _out. Requires that *this is the tensorObjectReadOnly of _me. More...
|
| |
| | TensorNetwork () |
| | Constructs an order zero TensorNetwork. More...
|
| |
| | TensorNetwork (const TensorNetwork &_cpy)=default |
| | Copy Constructor. More...
|
| |
| | TensorNetwork (TensorNetwork &&_mv) noexcept=default |
| | Move Constructor. More...
|
| |
| | TensorNetwork (Tensor _other) |
| | Constructs the trivial TensorNetwork containing the given Tensor as single node. More...
|
| |
| | TensorNetwork (std::unique_ptr< Tensor > &&_tensor) |
| | Constructs the trivial TensorNetwork containing the given Tensor as single node. The TN takes the ownership of the pointer. More...
|
| |
| | TensorNetwork (size_t _degree) |
| | Constructs the trivial TensorNetwork containing a Tensor with the given degree. More...
|
| |
| | TensorNetwork (const ZeroNode _nodeStatus) |
| | (Internal) Constructs an order zero TensorNetwork. More...
|
| |
| virtual | ~TensorNetwork ()=default |
| | Destructor. More...
|
| |
| void | contract (const size_t _nodeId1, const size_t _nodeId2) |
| | Contracts the nodes with indices _nodeId1 and _nodeId2. More...
|
| |
| size_t | contract (const std::set< size_t > &_ids) |
| | Contracts the nodes with with indices included in the given set _ids. More...
|
| |
| double | contraction_cost (const size_t _nodeId1, const size_t _nodeId2) const |
| | Approximates the cost of contraction two given nodes. More...
|
| |
| size_t | datasize () const |
| | Calculates the storage requirement of the current representation. More...
|
| |
| size_t | degree () const |
| | Gets the degree of the TensorNetwork. More...
|
| |
| void | draw (const std::string &_filename) const |
| | Draws a graph representation of the TensorNetwork. More...
|
| |
| std::pair< size_t, size_t > | find_common_edge (const size_t _nodeA, const size_t _nodeB) const |
| | Finds the position of a single common edge between two nodes. More...
|
| |
| virtual void | fix_mode (const size_t _mode, const size_t _slatePosition) |
| | Fixes a specific mode to a specific value, effectively reducing the order by one. More...
|
| |
| | operator Tensor () const |
| | Explicit cast to Tensor. More...
|
| |
| template<typename... args> |
| internal::IndexedTensor< TensorNetwork > | operator() (args... _args) |
| | Indexes the TensorNetwork for read/write use. More...
|
| |
| template<typename... args> |
| internal::IndexedTensorReadOnly< TensorNetwork > | operator() (args... _args) const |
| | Indexes the TensorNetwork for read only use. More...
|
| |
| internal::IndexedTensor< TensorNetwork > | operator() (const std::vector< Index > &_indices) |
| | Indexes the TensorNetwork for read/write use. More...
|
| |
| internal::IndexedTensor< TensorNetwork > | operator() (std::vector< Index > &&_indices) |
| | Indexes the TensorNetwork for read/write use. More...
|
| |
| internal::IndexedTensorReadOnly< TensorNetwork > | operator() (const std::vector< Index > &_indices) const |
| | Indexes the TensorNetwork for read only use. More...
|
| |
| internal::IndexedTensorReadOnly< TensorNetwork > | operator() (std::vector< Index > &&_indices) const |
| | Indexes the TensorNetwork for read only use. More...
|
| |
| TensorNetwork & | operator= (const TensorNetwork &_cpy)=default |
| | TensorNetworks are copy assignable. More...
|
| |
| TensorNetwork & | operator= (TensorNetwork &&_mv)=default |
| | TensorNetworks are move assignable. More...
|
| |
| value_t | operator[] (const size_t _position) const |
| | Read the value at a specific position. More...
|
| |
| value_t | operator[] (const std::vector< size_t > &_positions) const |
| | Read the value at a specific position. More...
|
| |
| void | reduce_representation () |
| | Contracts all nodes that are joined by a full-rank edge. More...
|
| |
| virtual void | remove_slate (const size_t _mode, const size_t _slatePosition) |
| | removes the given _slatePosition from the _mode. this reduces the given dimension by one More...
|
| |
| virtual void | require_correct_format () const |
| | Sanity check for the TensorNetwork and if applicable for the specific format. More...
|
| |
| void | require_valid_network (const bool _check_erased=true) const |
| | Sanity checks the network. More...
|
| |
| void | reshuffle_nodes (const std::function< size_t(size_t)> &_f) |
| | reshuffled the nodes according to the given function More...
|
| |
| virtual void | resize_mode (const size_t _mode, const size_t _newDim, const size_t _cutPos=~0ul) |
| | Resizes a specific mode of the TensorNetwork. More...
|
| |
| virtual void | round_edge (const size_t _nodeA, const size_t _nodeB, const size_t _maxRank, const double _eps, const double _softThreshold) |
| | Thresholds the rank between two given nodes. More...
|
| |
| void | sanitize () |
| | Removes all erased nodes from the TensorNetwork. More...
|
| |
| void | swap_external_links (const size_t _i, const size_t _j) |
| | Swaps the external indices _i and _j, effectively changing those indices for the represented Tensor (e.g. a transposition for matrices). More...
|
| |
| virtual void | transfer_core (const size_t _from, const size_t _to, const bool _allowRankReduction=true) |
| | Transfers the core from one given node to another. More...
|
| |
template<bool isOperator>
class xerus::internal::TTStack< isOperator >
Internal class used to represent stacks of (possibly multiply) applications of TTOperators to either a TTTensor or TTOperator.
Definition at line 38 of file ttStack.h.