SyTen

◆ expand_to_right()

void syten::MPS::expand_to_right ( Tensor< 3 > const &  left,
Tensor< 3 > const &  source,
Tensor< 4 > const &  op,
State target,
Index const  position,
SRDef const  alpha = 0.1,
Index const  max_blocksize = 15,
SRDef const  ratio = 1.,
Index const  min_blocksize = 1 
)

Calculates an expansion term according to DMRG3S pointing to the right.

Parameters
leftthe left-contraction to the left of the active site
sourcethe local mps component
opthe local mpo component
targetthe target MPS state
positionthe position in the target state, sites position and position+1 will be affected.
alphathe mixing factor.
max_blocksizemaximal blocksize of the expander
ratiothe ratio of kept to discarded states
min_blocksizeminimal blocksize of the expander

References std::vector< T >::clear(), syten::MPS::Operator::dIdx, syten::MPS::State::dropUnmatched(), syten::expansion(), syten::genSplit(), syten::MPS::Operator::lIdx, syten::MPS::State::lIdx, norm(), syten::overThreshold(), syten::MPS::Operator::rIdx, syten::MPS::State::rIdx, syten::MPS::State::size(), syten::split(), SYTEN_ZNORM_THRESHOLD, syten::MPS::Operator::uIdx, syten::MPS::State::uIdx, syten::underThreshold(), and syten::zeroExpand().

Referenced by apply_op_orthogonalise_fit(), syten::MPS::DMRG::Worker::sweepRight(), and syten::MPS::DMRG::Worker::sync().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: