| std::tuple< STensor, STensor, SBasis > syten::STensorImpl::qr | ( | STensor const & | in, |
| SBasisId const & | uncombined, | ||
| DecompRescaleCGC const | rescaleCGC = DecompRescaleCGC::Yes, |
||
| FullQR const | full = FullQR::n(), |
||
| SourceLocation const & | loc = SourceLocation::current() |
||
| ) |
| in | input tensor |
| uncombined | basis over which the QR needs to be performed |
| rescaleCGC | if this is DecompRescaleCGC::Yes, the CGCs are rescaled such that they give identities when contracted over all legs but uncombined |
| full | if FullQR::y(), a full QR is performed (instead of a thin QR) |
| loc | Callsite identifier. |
qr-gen).R is square, i.e. the dimension of the basis uncombined is smaller than the dimension of all other legs combined and only a thin QR (full = FullQR::n()) was requested. References syten::STensorImpl::STensor::autodiff_enabled(), syten::STensorImpl::STensor::b(), syten::STensorImpl::STensor::bi(), syten::STensorImpl::Autodiff::create(), syten::STensorImpl::SBasis::dir(), syten::STensorImpl::STensor::enable_autodiff(), syten::STensorImpl::SBasis::f(), syten::STensorImpl::STensor::get_autodiff(), syten::STensorImpl::STensor::get_bases(), syten::STensorImpl::STensor::get_fermionic_order(), if_constexpr, syten::Inc, make_zero(), std::move(), syten::mve(), syten::YesNo< T >::n(), syten::QR::qr(), syten::STensorImpl::Autodiff::qr_adjoint_evaluator(), SYTEN_ASSERT_MSG, SYTEN_TENSOR_RANK, and syten::STensorImpl::STensor::visit().
Referenced by syten::Delinearise::cols_only(), syten::T3N::State::descendantNormaliseNode(), syten::IPEPSv2::directional_qr(), syten::IPEPS::Horz2CTM::expectation_value(), syten::IPEPS::Vert2CTM::expectation_value(), syten::IPEPSv2::full_update_apply_gate(), syten::IPEPSv2::full_update_gauge_fix(), syten::IPEPSv2::full_update_horizontal(), syten::IPEPSv2::full_update_split_evenly(), syten::IPEPSv2::full_update_vertical(), syten::IPEPSv2::CornerTransferMatrix::grow_helper(), syten::MPS::DMRG::Worker::gse_create_expanded(), syten::Pyten::init_dense_tensor(), syten::T3N::State::rootNormaliseNode(), syten::MPS::DMRG::Worker::sweepLeft2sVar(), and syten::MPS::DMRG::Worker::sweepRight2sVar().
Here is the call graph for this function:
Here is the caller graph for this function: