Implementation of a T3N tree. More...
#include <vector>#include <boost/serialization/split_member.hpp>#include <boost/serialization/traits.hpp>#include <boost/serialization/level.hpp>#include <boost/algorithm/string.hpp>#include "inc/util/boost_versioning.h"#include "inc/util/scalars.h"#include "inc/util/pair.h"#include "inc/util/vectors.h"#include "inc/util/binary_tree.h"#include "inc/util/vec.h"#include "inc/util/memory_size.h"
Include dependency graph for tree.h:
This graph shows which files directly or indirectly include this file:Classes | |
| struct | syten::T3N::Tree::Node< T >::LegArray |
| Proxy object for Legs. More... | |
| class | syten::T3N::Tree::Node< T > |
| A Node of a T3N containing values of type T. More... | |
| class | syten::T3N::Tree::Tree< T > |
Namespaces | |
| namespace | syten |
| Syten namespace. | |
| namespace | syten::T3N |
| Namespace for T3N. | |
Typedefs | |
| typedef syten::BinaryTree::NodeType | syten::T3N::Tree::LegType |
| LegsTypes. More... | |
| typedef Vec< Index > | syten::T3N::Tree::Position |
| Type for position of nodes inside a tree. More... | |
Enumerations | |
| enum class | syten::T3N::Tree::IterDirection : char { Left , Right , Top , Bottom } |
| Specifying the direction of a Node. More... | |
| enum class | syten::T3N::Tree::NodeType : char { Branching , Physical , Undefined } |
| Switch for the NodeType. More... | |
Functions | |
| template<typename T > | |
| Index | syten::T3N::Tree::distance (Tree< T > const &t, Position const &pos1, Position const &pos2) |
| Returns the number of physical nodes between the two coordinates. More... | |
| LegType | syten::T3N::Tree::getComplementaryDirection (LegType direction, LegType root=LegType::A) |
| Useful shortcut for the complementary direction during DMRG calculations. More... | |
| Index | syten::T3N::Tree::getLeg (LegType l) |
| For Tensor operations. More... | |
| LegType | syten::T3N::Tree::getNotDir (LegType direction) |
| Gives the other leg of a Branching Node. More... | |
| Position | syten::T3N::Tree::lastCommonAncestor (Position const &one, Position const &two) |
| Returns the last common ancestor and the number of shared nodes. More... | |
| template<typename T > | |
| std::ostream & | syten::T3N::Tree::operator<< (std::ostream &out, Node< T > const &node) |
| Output for nodes. More... | |
| std::ostream & | syten::T3N::Tree::operator<< (std::ostream &out, NodeType const &n) |
| Output for a NodeType. More... | |
| template<typename T > | |
| std::ostream & | syten::T3N::Tree::operator<< (std::ostream &out, Tree< T > const &tree) |
| Output for trees. More... | |
| Vec< LegType > | syten::T3N::Tree::path (Position const &from, Position const &to) |
| Returns the path going from the first position to the second. More... | |
| template<typename NewType , typename OtherType , typename ... Args> | |
| auto | syten::T3N::Tree::reconstruct (Tree< OtherType > const &other, Args... args) |
Constructs a tree with the same structure as other and calls the desired constructor. More... | |
| template<typename NewType , typename OtherType , typename ... Args> | |
| void | syten::T3N::Tree::reconstruct_rec (typename Tree< NewType >::Ptrc n, typename Tree< OtherType >::cPtrc o, Args... args) |
| Recursive helper function. More... | |
Variables | |
| static const Index | syten::T3N::Tree::BranchingNodeLegs = 3 |
| Number of legs for a BranchingNode. More... | |
| static const Index | syten::T3N::Tree::NodeLegs = 3 |
| The entire number of legs for the Nodes. More... | |
| static const Index | syten::T3N::Tree::PhysicalNodeLegs = 2 |
| Number of legs for a PhysicalNode. More... | |
| static constexpr unsigned int | syten::T3N::Tree::version_node = 1 |
| Version number of data interface for nodes. More... | |
| static constexpr unsigned int | syten::T3N::Tree::version_tree = 1 |
| Version number of data interface for trees. More... | |
Implementation of a T3N tree.