syten::MPS::DMRG::Worker::Worker | ( | State && | psi_, |
std::vector< Operator > && | op_, | ||
DMRGConfig && | conf_, | ||
Tensor< 2 > & | connector, | ||
Index const | lbound_, | ||
const Index | rbound_, | ||
std::vector< State > && | ortho_, | ||
std::vector< std::pair< Lattice, std::string > > && | exps_ | ||
) |
Standard ctor, use to set up a DMRG worker.
[in] | psi_ | the input/initial guess. |
[in] | op_ | the operators over which we want to minimise |
[in] | conf_ | the configuration object. |
[out] | connector | output reference in which to store the rhs connector (inverted) |
[in] | lbound_ | left edge of this worker segment |
[in] | rbound_ | right edge of this worker segment |
[in] | ortho_ | set of states against which to orthogonalise |
[in] | exps_ | list of lattice files and names of local observables to be evaluated |
This constructor right-normalises the input state and calculates the needed right-contractions, so it might take a while.
References syten::Tensor< rank >::b(), std::vector< T >::begin(), syten::DMRG::DMRGConfig::cache, syten::MPS::State::cache(), calcContrLeft(), calcContrRight(), syten::DMRG::DMRGConfig::complete_l0_contraction, conf, contrLeft, contrRight, syten::DMRG::DMRGConfig::currentStage, dir, syten::Tensor< rank >::dirs, syten::MPS::State::dropUnmatched(), std::vector< T >::end(), energy(), exps, syten::Basis::f(), syten::genCombinator(), syten::genFuse(), syten::genIONode(), syten::genSplit(), syten::herm(), initLog(), syten::invertDiagonal(), std::iota(), syten::DMRG::DMRGConfig::lastEnergy, lbound, syten::MPS::State::leftnorm(), length, syten::MPS::Operator::lIdx, syten::MPS::State::lIdx, syten::MPS::State::lInt, logTrace(), std::move(), syten::MPS::norm(), syten::DMRG::DMRGConfig::numWorkers, op, ortho, orthoLeft, orthoRight, syten::MPS::State::pleaseCache, position, psi, rbound, std::vector< T >::resize(), syten::MPS::Operator::rIdx, syten::MPS::State::rIdx, syten::MPS::State::rightnorm(), syten::MPS::State::rInt, site_positions, syten::MPS::State::size(), syten::DMRG::DMRGConfig::stages, syten::SVD::svd(), std::swap(), SYTEN_ASSERT_DEBUG, SYTEN_ASSERT_MSG, syten::MPS::Operator::uIdx, syten::MPS::State::uInt, and syten::DMRG::DMRGConfig::worker.