SyTen

◆ merge() [2/2]

template<Rank srank, typename Scalar >
GenericDenseTensor<srank-1, Scalar> syten::IdentityDenseTensorImpl::merge ( IdentityDenseTensor< 3, Scalar > const &  a,
DenseTensor< srank, Scalar > const &  b,
std::array< int, 3 > const &  c_a,
std::array< int, srank > const &  c_b 
)
inline

Product which merges two tensor legs together.

Potentially produces an OffsetDenseTensor.

References syten::DynArray< Type >::begin(), syten::LimVec< Type, max, MaxType, type >::begin(), std::copy(), syten::IdentityDenseTensorImpl::IdentityDenseTensor< rank, Scalar >::dim(), syten::DynArray< Type >::end(), syten::LimVec< Type, max, MaxType, type >::end(), std::fill(), std::is_sorted(), std::min(), std::move(), syten::No, syten::IdentityDenseTensorImpl::IdentityDenseTensor< rank, Scalar >::offset, syten::LimVec< Type, max, MaxType, type >::push_back(), syten::LimVec< Type, max, MaxType, type >::resize(), and syten::transpose().

Referenced by syten::T3N::apply_operator_itrunc(), syten::IPEPSv2::State::build_dl(), syten::T3N::RDMs::OrbRDM::contract_locals(), syten::IPEPSv2::CornerTransferMatrix::CornerTransferMatrix(), syten::T3N::Contraction::decontractToPhysicalBranching(), syten::T3N::Contraction::decontractToPhysicalPhysical(), syten::IPEPSv2::directional_qr(), syten::IPEPSv2::directional_svd(), syten::entropyTwoSite(), syten::IPEPSv2::exp(), syten::T3N::DMRG::Run::expandBranch(), syten::IPEPSv2::expectation_value(), syten::IPEPSv2::full_update_apply_gate(), syten::IPEPSv2::full_update_cond_num(), syten::IPEPSv2::full_update_gauge_fix(), syten::IPEPSv2::full_update_pseudo_invert_r4(), syten::IPEPSv2::Lattice::get(), syten::IPEPSv2::CornerTransferMatrix::grow_helper(), syten::IPEPSv2::lmult(), syten::IPEPSv2::mult(), syten::T3N::State::multiply_rec(), prodD(), syten::T3N::Operator::product_rec(), syten::IPEPSv2::simple_update(), syten::T3N::RDMs::OrbRDM::twoSite_rec(), syten::T3N::RDMs::OneParticleRDM::twoSite_right_rec(), syten::T3N::RDMs::OneParticleRDM::twoSite_upwards_rec(), and syten::T3N::TDVP::Worker::update_phys_phys().

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