SyTen

◆ orthogonalise_variational_two_site() [2/2]

template<typename Iterator >
void syten::MPS::orthogonalise_variational_two_site ( State psi,
Iterator  first,
Iterator  last,
Truncation const &  trunc 
)
inline

variationally orthogonalise a state two sites at a time wrt a set of other states in-place

Parameters
psithe state to be orthogonalised (in place)
firstthe iterator to the first state of the set
lastthe iterator to the "past the end" element
trunctruncation specification

References std::vector< T >::back(), std::vector< T >::begin(), build_ctr_overlap_left(), build_ctr_overlap_right(), build_two_site_environment(), std::vector< T >::clear(), syten::conj(), distance(), syten::Caching::do_cache, std::vector< T >::end(), syten::genIONode(), syten::MPS::State::lIdx, syten::MPS::State::maybeCache(), std::move(), syten::orthogonalise_solve_svd(), orthogonalise_variational(), std::vector< T >::pop_back(), std::vector< T >::push_back(), syten::MPS::State::rIdx, split_rank_4_into_mps_lnorm(), and split_rank_4_into_mps_rnorm().

+ Here is the call graph for this function: