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.