SyTen
syten::Krylov Namespace Reference

Krylov subspace methods. More...

Namespaces

 ClassicImpl
 Contains the classic Krylov implementation and helper functions.
 
 Evolution
 Implementation of time evolution with recycling etc. using Krylov subspaces.
 
 OrthoPolicies
 Orthonormalisation policies used by StandardKrylov and TensorNetworksKrylov.
 
 SolverPolicies
 Solver policies to be used by StandardKrylov and TensorNetworksKrylov.
 
 TensorNetworksImpl
 Implementation helpers for Krylov::TensorNetworks class.
 

Classes

struct  KrylovEvolver
 Helper class to model a Krylov time evolution. More...
 
class  NaiveExponential
 The plain exponential via application of the operator to the vector. More...
 
class  OperatorWrapper
 The OperatorWrapper class wraps a MPS/BTT operator, providing an interface complying to the exponentialLanczos template. More...
 
class  Standard
 The "Standard" Krylov method using the same solver and orthonormalisation policies as TensorNetworksKrylov but with the original Lanczos order. More...
 
class  StateWrapper
 The StateWrapper class wraps a MPS/BTT-state to provide an interface complying to exponentialLanczos template. More...
 
class  TensorNetworks
 Krylov implementation optimised for tensor network applications where calculating \( x^T \cdot A \cdot y \) does not require a matrix-vector application. More...
 

Functions

template<typename Vector , typename Matrix , typename... Pars>
IterativeExit eigenLanczos (Vector &&vec, Matrix const &mat, IterativeConfig const &conf, Vector &evec)
 eigenLanczos shorthand for a Lanczos eigen-solver More...
 
template<typename Vector , typename Matrix , typename Scalar >
IterativeExit expLanczos (Vector &&vec, Matrix const &mat, IterativeConfig const &conf, Scalar prefactor, Vector &result)
 expLanczos shorthand for an exponential Lanczos solver, calculates \(\exp(c H) v\) More...
 
template<typename Op >
auto make_OperatorWrapper (Op &&o)
 make_OperatorWrapper simplifies OperatorWrapper construction by template type deduction More...
 
template<typename StateT , typename TruncT >
auto make_StateWrapper (StateT &&state, TruncT &&trunc)
 make_StateWrapper simplifies StateWrapper construction by template type deduction More...
 
template<typename SType , typename TType >
SRDef norm (StateWrapper< SType, TType > const &s)
 norm non-member norm function More...
 
template<typename SType , typename TType >
StateWrapper< SType, TType > 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 orthogonalise_arithmetic (StateWrapper< SType, TType > &s, It first, It last, bool assume_norm_one=false)
 
template<typename SType , typename TType , typename It >
void orthogonalise_variational (StateWrapper< SType, TType > &s, It first, It last)
 
template<typename SType , typename TType , typename It >
void orthogonalise_variational_two_site (StateWrapper< SType, TType > &s, It first, It last)
 
template<typename SType , typename TType >
SDef overlap (StateWrapper< SType, TType > const &a, StateWrapper< SType, TType > const &b)
 Overlap of two StateWrappers, first argument is complex-conjugated. More...
 

Detailed Description

Krylov subspace methods.