|
inline |
Split of two legs of a standard dense tensor using a rank-3 identity dense tensor.
This function can be optimised further, the last transposition is typically not necessary.
References syten::DynArray< Type >::begin(), syten::IdentityDenseTensorImpl::IdentityDenseTensor< rank, Scalar >::dim(), syten::DynArray< Type >::end(), std::fill(), syten::DenseTensor< rank, Scalar >::get_data(), std::max(), syten::No, syten::IdentityDenseTensorImpl::IdentityDenseTensor< rank, Scalar >::offset, syten::LimVec< Type, max, MaxType, type >::push_back(), syten::LimVec< Type, max, MaxType, type >::reserve(), syten::LimVec< Type, max, MaxType, type >::resize(), syten::DenseTensor< rank, Scalar >::size(), and SYTEN_ASSERT.
Referenced by syten::MPS::DMRG::Worker::expand_to_right(), syten::T3N::genPhysCmp(), syten::T3N::genPhysId(), prodD(), syten::MPS::DMRG::Worker::solveLocalTwoSite(), syten::MPS::DMRG::Worker::sweepLeftTwoSite(), and syten::MPS::DMRG::Worker::sweepRightTwoSite().