SyTen
syten::Krylov::OrthoPolicies Namespace Reference

Orthonormalisation policies used by StandardKrylov and TensorNetworksKrylov. More...

Classes

struct  AllButLast
 Orthogonalises only against the first N-2 vectors of the set of size N, i.e. More...
 
struct  Arithmetic
 Arithmetic orthonormalisation. More...
 
struct  Combined
 Uses two different implementations to first orthonormalise against the last two vectors of the orthogonalisation set and then against all vectors of that set. More...
 
struct  Complete
 Completely orthogonalises the space using the specified OrthoImpl class method. More...
 
struct  LastTwo
 Orthogonalises only against the last two vectors of the orthogonalisation set. More...
 
struct  None
 Does nothing when called to orthonormalise or orthogonalise(). More...
 
struct  TwoSiteVariational
 Two-site variational orthonormalisation. More...
 
struct  Variational
 Variational orthonormalisation. More...
 

Detailed Description

Orthonormalisation policies used by StandardKrylov and TensorNetworksKrylov.

The interface provided by the completed policy classes are:

  • the orthonormalise() function which takes the desired vector, a vector of vectors against which to orthonormalise, the iterative config to use and the iterative exit object to encode the return value.
  • the orthogonalise() function which orthogonalises but does not orthonormalise.
  • the invSubspaceSufficient() function which returns true if the orthogonalisation procedure is such that a resulting zero norm is only due to actual linear dependence and not other effects such as a limited variational space. In other words, if this function returns true, encountering an invariant subspace within Krylov implies that the problem was solved exactly.