SBasis const& merged_basis,
SBasis const& p1,
SBasis const& p2) {
auto [q, r, qr_basis] =
qr(transformer,
merged_basis);
qr_basis,
merged_basis);
return demerge((t1t2 * q).unprime(merged_basis),
p1,p2);
}
std::tuple< STensor, STensor, SBasis > qr(STensor const &in, SBasisId const &uncombined, DecompRescaleCGC const rescaleCGC, FullQR const full, SourceLocation const &loc)
QR decomposition for STensor.
Definition: stensor_decomps.cpp:102
STensor demerge(STensor const &in, SBasis const &f1, SBasis const &f2, Index maxBlocksize, SRDef ratio, Index minBlocksize, bool ethereal, SourceLocation const &loc)
Given a tensor and two bases, constructs the merged bases of the two and then splits that basis of th...
Definition: stensor_fusesplit.cpp:26
STensor project(STensor input, SBasisId const &which, SBasis const &onto, bool nowarn)
Projects the which basis of tensor input onto the sectors onto.
Definition: stensor_project.cpp:17
STensorImpl::STensor STensor
‘Smart’ tensor class.
Definition: stensor_base.h:556