Wrappers around states and operators to work with the generic Lanczos algorithm. More...
#include <iostream>#include <stdexcept>#include <type_traits>#include <vector>#include "inc/util/persistent.h"#include "inc/tensor/truncation.h"#include "inc/util/converting_iterator.h"
Include dependency graph for state_wrappers.h:
This graph shows which files directly or indirectly include this file:Classes | |
| class | syten::Krylov::OperatorWrapper< Op > |
| The OperatorWrapper class wraps a MPS/BTT operator, providing an interface complying to the exponentialLanczos template. More... | |
| class | syten::Krylov::StateWrapper< StateT, TruncT > |
| The StateWrapper class wraps a MPS/BTT-state to provide an interface complying to exponentialLanczos template. More... | |
Namespaces | |
| namespace | syten |
| Syten namespace. | |
| namespace | syten::Krylov |
| Krylov subspace methods. | |
Functions | |
| template<typename Op > | |
| auto | syten::Krylov::make_OperatorWrapper (Op &&o) |
| make_OperatorWrapper simplifies OperatorWrapper construction by template type deduction More... | |
| template<typename StateT , typename TruncT > | |
| auto | syten::Krylov::make_StateWrapper (StateT &&state, TruncT &&trunc) |
| make_StateWrapper simplifies StateWrapper construction by template type deduction More... | |
| template<typename SType , typename TType > | |
| SRDef | syten::Krylov::norm (StateWrapper< SType, TType > const &s) |
| norm non-member norm function More... | |
| template<typename SType , typename TType > | |
| StateWrapper< SType, TType > | syten::Krylov::operator* (SDef prefactor, StateWrapper< SType, TType > const &s) |
| operator * Multiplication of scalar w/ statewrapper. invokes StateWrapper::operator * More... | |
| template<typename SType , typename TType , typename It > | |
| void | syten::Krylov::orthogonalise_arithmetic (StateWrapper< SType, TType > &s, It first, It last, bool assume_norm_one=false) |
| template<typename SType , typename TType , typename It > | |
| void | syten::Krylov::orthogonalise_variational (StateWrapper< SType, TType > &s, It first, It last) |
| template<typename SType , typename TType , typename It > | |
| void | syten::Krylov::orthogonalise_variational_two_site (StateWrapper< SType, TType > &s, It first, It last) |
| template<typename SType , typename TType > | |
| SDef | syten::Krylov::overlap (StateWrapper< SType, TType > const &a, StateWrapper< SType, TType > const &b) |
| Overlap of two StateWrappers, first argument is complex-conjugated. More... | |
Wrappers around states and operators to work with the generic Lanczos algorithm.
MPS/BTTS and MPO/BTTO in general support the operations necessary for a Lanczos algorithm to work, but require a thin wrapper to e.g. truncate states at the appropriate time and provide an interface to match the generic implementation.