void syten::MPS::expand_to_left | ( | Tensor< 3 > const & | right, |
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 left.
right | the right-contraction to the right of the active site |
source | the local mps component |
op | the local mpo component |
target | the target MPS state |
position | the position in the target state, sites position and position-1 will be affected. |
alpha | the mixing factor. |
max_blocksize | maximal blocksize of the expander |
ratio | the ratio of kept to discarded states |
min_blocksize | minimal blocksize of the expander |
References syten::MPS::Operator::dIdx, syten::MPS::State::dropUnmatched(), syten::expansion(), syten::genFuse(), syten::MPS::Operator::lIdx, syten::MPS::State::lIdx, norm(), syten::overThreshold(), syten::MPS::Operator::rIdx, syten::MPS::State::rIdx, 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::sweepLeft(), and syten::MPS::DMRG::Worker::sync().