SyTen

◆ orthonormalise()

template<typename Vec , typename It >
static void syten::Krylov::OrthoPolicies::TwoSiteVariational::orthonormalise ( Vec v,
It  from,
It  to,
IterativeConfig const &  conf,
IterativeExit e 
)
inlinestatic

Orthonormalises v against the specified vectors using first orthogonalise_variational_two_site anmd then orthogonalise_variational.

This way, the larger variational subspace of two sites can be exploited while orthogonality is preserved exactly even after truncation.

Template Parameters
Vectype of the vector to orthogonalise
Ittype of the iterator behind which we can access the orthogonal vectors
Parameters
vinput and output vector to orthogonalise
fromfirst element of the set of vectors against which to orthogonalise, which have to be orthogonal.
toone-past-the-end element of the set of vectors against which to orthogonalise.
confconfiguration to use
eexit object, used to signal error conditions

References syten::IterativeExit::error, syten::MaxPossible, syten::IterativeExit::message, syten::Krylov::norm(), syten::Krylov::orthogonalise_variational(), syten::Krylov::orthogonalise_variational_two_site(), syten::IterativeExit::reason, syten::to_string_rd(), and syten::underThreshold().

+ Here is the call graph for this function: