SRDef syten::MPS::State::rightnorm | ( | Index const | site, |
Truncation | trunc = Truncation() , |
||
State::DropNorm const | dropN = DropNorm::Yes , |
||
State::DropUnmatched const | dropU = DropUnmatched::lr |
||
) |
Right-normalises the tensor \(X_i\) on the specified site as \(X_i^{\sigma_i} \to U S V^\sigma\) and multiplies the corresponding transformation \(US\) in the next tensor on the left \(X_{i-1} \to X_{i-1} U S\).
After normalisation, the contraction of \(X\) with its hermitian conjugate over the physical and right indices should give an identity matrix.
→--[+]→-. →--. ↓ | = | ←--[ ]←-' ←--'
site | location of tensor to normalise |
trunc | Truncation specification |
dropN | if the leftmost tensor is normalised, ensure that the total state is normalised. |
dropU | whether, and if so, compared to where, drop unmatched blocks |
References syten::clear(), dropUnmatched(), lIdx, lInt, syten::MPS::norm(), syten::QR::qr(), rInt, syten::singValSqdToError(), size(), syten::SVD::svd(), SYTEN_ZNORM_THRESHOLD, uInt, and syten::underThreshold().
Referenced by syten::allSiteEntropy(), syten::mutualInfo::allSiteEntropy(), syten::MPS::apply_op_itrunc(), syten::MPS::DMRG::PDMRG::assembleState(), syten::MPS::block_entropies(), syten::MPS::ProjectedPurification::correlator(), syten::mutualInfo::entropyOneSite(), syten::entropyOneSite(), syten::entropyTwoSite(), syten::mutualInfo::entropyTwoSite(), syten::MPS::TDVP::PTDVP< enable >::get_psi(), syten::Pyten::init_mps(), syten::MPS::ProjectedPurification::local_expectation(), syten::MPS::Snapshots::Workspace::move_to_site(), syten::MPS::RDMs::OrbRDM::OrbRDM(), syten::MPS::orthogonalise_variational(), rightnorm(), syten::MPS::schmidt_decompositions(), syten::MPS::schmidt_values(), truncate(), truncateVariational(), syten::MPS::DMRG::Worker::Worker(), and syten::MPS::TDVP::Worker::Worker().