SyTen

◆ genSplit()

Tensor< 3 > syten::genSplit ( Basis const &  b1,
Basis const &  b2,
Index  maxBlocksize = std::numeric_limitsIndex >::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::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::coarse_grain(), syten::MPS::RDMs::OneParticleRDM::construct(), syten::MPS::RDMs::OrbRDM::contract_locals(), syten::MPS::ProjectedPurification::correlator(), syten::MPS::SymConv::SU2::Converter_SU2U1::decompose(), syten::MPS::dot(), 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::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::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::TEBD::merge(), syten::MPS::mpo_cmp_dot_prod(), syten::MPS::mpo_cmp_prod(), 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::DMRG::Worker::Worker(), and syten::MPS::TDVP::Worker::Worker().

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