Tensor< 3 > syten::genSplit | ( | Basis const & | b1, |
Basis const & | b2, | ||
Index | maxBlocksize = std::numeric_limits< Index >::max() , |
||
SRDef | ratio = 1. , |
||
Index | minBlocksize = 1 , |
||
bool | make_special = false |
||
) |
Generates a splitting half-isometry map.
Takes two outgoing bases b1
and b2
and maps onto a third product-decomposed incoming basis b3
:
←–b1–[ ] [ genSplit(b1,b2) ]←–b3– ←–b2–[ ]
We know from PRB 86, 195114 (B46) that the associated CGC space is exactly the same as above, at least for SU(2). I guess it also holds for other groups.
References syten::Basis::dir, syten::Tensor< rank >::dirs, syten::Basis::flipped(), genFuse(), Inc, Out, and SYTEN_ASSERT.
Referenced by allSiteEntropy(), syten::mutualInfo::allSiteEntropy(), syten::MPS::apply_op_itrunc(), syten::MPS::apply_op_naive(), syten::MPS::apply_op_orthogonalise_fit(), syten::MPS::build_exchange_tensors_above(), syten::MPS::build_exchange_tensors_below(), syten::MPS::TDVP::Worker::calcContr(), syten::MPS::coarse_grain(), syten::MPS::RDMs::OneParticleRDM::construct(), syten::MPS::RDMs::OrbRDM::contract_locals(), syten::MPS::ProjectedPurification::correlator(), syten::MPS::BasisTransformation::ModeTransformation::cost_function(), syten::MPS::BasisTransformation::ModeTransformation::cost_function_global(), syten::MPS::SymConv::SU2::Converter_SU2U1::decompose(), syten::MPS::Snapshots::Workspace::decompose_sso(), syten::MPS::dot(), entropyTwoSite(), syten::mutualInfo::entropyTwoSite(), syten::MPS::error_estimate_2svariance(), syten::MPS::DMRG::Worker::eval_observables(), syten::MPS::TDVP::LBOWorker::evo_two_m(), syten::MPS::TDVP::Worker::evolveTwo(), syten::IPEPS::exp(), syten::MPS::DMRG::Worker::expand_to_right(), syten::MPS::TDVP::Worker::expand_to_right(), syten::MPS::expand_to_right(), syten::MPS::expectation(), syten::MPS::SwappableTEBD::exponentiate_rank6_tensor(), syten::MPS::fine_grain(), syten::MPS::genMPOId(), syten::IPEPS::genRandomCompleteState(), syten::IPEPS::genRandomTensor(), syten::IPEPS::genRandomTreeLike(), genSwap(), syten::MPS::ProjectedPurification::genTransformation(), gM(), syten::Pyten::init_tensor(), syten::IPEPS::FullCTM::init_vac(), syten::MPS::BasisTransformation::ModeTransformation::initial_cost(), syten::MPS::BasisTransformation::ModeTransformation::initial_cost_global(), syten::MPS::DMRG::LBOWorker::LBOWorker(), syten::MPS::TDVP::LBOWorker::LBOWorker(), syten::IPEPS::ldot(), syten::MPS::left_complement(), syten::MPS::ProjectedPurification::local_expectation(), syten::MPS::local_expectation(), syten::MPS::Snapshots::Workspace::measure_sso(), syten::MPS::TEBD::merge(), syten::MPS::mpo_cmp_dot_prod(), syten::MPS::mpo_cmp_prod(), syten::EnergyTruncation::EnergyTruncator< MPS::State, std::vector< MPS::Operator > >::normalize(), syten::MPS::DMRG::Worker::solveLocalTwoSite(), syten::MPS::TEBD::split(), syten::MPS::SwappableTEBD::split_rank6_into_mpos(), syten::MPS::split_rank_4_into_mps_cnorm(), syten::MPS::split_rank_4_into_mps_lnorm(), syten::MPS::split_rank_4_into_mps_rnorm(), syten::MPS::DMRG::Worker::sweepLeftTwoSite(), syten::MPS::TDVP::Worker::sweepLeftTwoSite(), syten::MPS::DMRG::Worker::sweepRightTwoSite(), syten::MPS::TDVP::Worker::sweepRightTwoSite(), syten::MPS::TDVP::Worker::sync(), syten::MPS::BasisTransformation::ModeTransformation::transform(), syten::MPS::BasisTransformation::ModeTransformation::transform_accepted(), syten::MPS::BasisTransformation::ModeTransformation::transform_accepted_global(), and syten::MPS::DMRG::Worker::Worker().