SyTen
orthogonalise.h File Reference

Generic orthogonalisation functions. More...

+ Include dependency graph for orthogonalise.h:
+ This graph shows which files directly or indirectly include this file:

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::MPS
 The namespace containing all MPS-related tools, classes and objects.
 

Functions

template<typename T , typename Iterator >
void syten::orthogonalise_arithmetic (T &vec, Iterator first, Iterator last, bool assume_norm_one=false, Truncation const &trunc=Truncation())
 Generic implementation of orthogonalisation against a set of vectors using Gram-Schmidt orthogonalisation. More...
 
template<typename T , typename Iterator >
void syten::orthogonalise_arithmetic_imp (T &vec, Iterator first, Iterator last, Truncation const &=Truncation(), bool assume_norm_one=false, long=0)
 orthogonalise_arithmetic(): Fully generic implementation More...
 
template<typename T , typename Iterator >
auto syten::orthogonalise_arithmetic_imp (T &vec, Iterator first, Iterator last, Truncation const &trunc=Truncation(), bool assume_norm_one=false, int=0) -> decltype(vec.truncateKeepNorm(trunc), void())
 orthogonalise_arithmetic(): Preferred implementation, used if truncateKeepNorm() exists. More...
 
template<typename Vector , typename Iterator >
std::pair< typename std::remove_reference< Vector >::type, DenseTensor< 2 > > syten::orthogonalise_solve_svd (Vector &&target, Iterator first, Iterator last, bool careful)
 Generic implementation of orthogonalisation against a set of vectors using SVD-based orthogonalisation. More...
 
template<typename Vector , typename Iterator >
std::remove_reference< Vector >::type syten::orthogonalise_solve_svd (Vector &&target, Iterator first, Iterator last, DenseTensor< 2 > const &xtxinv, bool careful)
 Generic implementation of orthogonalisation against a set of vectors using SVD-based orthogonalisation. More...
 

Detailed Description

Generic orthogonalisation functions.