| STensor syten::STensorImpl::demerge | ( | STensor const & | in, |
| SBasis const & | f1, | ||
| SBasis const & | f2, | ||
| Index | maxBlocksize = Maximum(), |
||
| SRDef | ratio = 1., |
||
| Index | minBlocksize = 1, |
||
| bool | ethereal = true, |
||
| SourceLocation const & | loc = SourceLocation::current() |
||
| ) |
Given a tensor and two bases, constructs the merged bases of the two and then splits that basis of the tensor in back into bases f1 and f2.
References syten::STensorImpl::STensor::bi(), syten::STensorImpl::SBasis::dir(), gen_merge(), prod(), SYTEN_ASSERT_MSG, and SYTEN_PRETTY_SLOC.
Referenced by syten::T3N::Contraction::decontractToPhysicalBranching(), syten::T3N::Contraction::decontractToPhysicalPhysical(), syten::IPEPSv2::directional_qr(), syten::IPEPSv2::directional_svd(), syten::IPEPSv2::exp(), syten::IPEPSv2::expectation_value(), syten::IPEPSv2::full_update_apply_gate(), syten::IPEPSv2::full_update_gauge_fix(), syten::IPEPSv2::full_update_horizontal(), syten::IPEPSv2::full_update_pseudo_invert_r4(), syten::IPEPSv2::full_update_vertical(), syten::IPEPSv2::simple_update(), svd(), syten::T3N::TDVP::Worker::update_phys_branch_phys(), and syten::T3N::TDVP::Worker::update_phys_phys().
Here is the call graph for this function:
Here is the caller graph for this function: