SyTen

◆ LBOWorker() [3/3]

syten::MPS::DMRG::LBOWorker::LBOWorker ( LBOState &&  psi_,
std::vector< Operator > &&  op_,
DMRGConfig &&  conf_,
Tensor< 2 > &  ,
Index const  lbound_,
const Index  rbound_,
std::vector< LBOState > &&  ortho_ 
)

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.
[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

This constructor right-normalises the input state and calculates the needed right-contractions, so it might take a while.

References std::vector< T >::begin(), syten::DMRG::DMRGConfig::cache, syten::MPS::LBOState::cache(), calcContrLeft(), calcContrRight(), conf, contrLeft, contrRight, syten::DMRG::DMRGConfig::currentStage, dir, syten::MPS::LBOState::dropUnmatched(), std::vector< T >::end(), energyM(), syten::Basis::flipped(), syten::genFuse(), syten::genIONode(), syten::genSplit(), syten::Tensor< rank >::getBasis(), initLog(), std::iota(), syten::DMRG::DMRGConfig::lastEnergy, syten::MPS::lboify_mpo_cmp(), lbound, syten::MPS::LBOState::leftnorm(), length, syten::MPS::LBOState::lIdx, syten::MPS::Operator::lIdx, logTrace(), syten::MPS::LBOState::m(), syten::MPS::LBOState::mc(), syten::MPS::LBOState::No, syten::MPS::norm(), syten::DMRG::DMRGConfig::numWorkers, op, ortho, orthoLeft, orthoRight, syten::MPS::LBOState::pleaseCache, position, psi, std::vector< T >::push_back(), rbound, std::vector< T >::resize(), syten::MPS::LBOState::rIdx, syten::MPS::Operator::rIdx, syten::MPS::LBOState::rightnorm(), site_positions, syten::MPS::LBOState::size(), syten::DMRG::DMRGConfig::stages, SYTEN_ASSERT_DEBUG, SYTEN_ASSERT_MSG, syten::MPS::LBOState::v(), syten::MPS::LBOState::vc(), and syten::DMRG::DMRGConfig::worker.

+ Here is the call graph for this function: