SyTen

◆ Worker() [3/3]

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.

Parameters
[in]psi_the input/initial guess.
[in]op_the operators over which we want to minimise
[in]conf_the configuration object.
[out]connectoroutput 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.

+ Here is the call graph for this function: