std::tuple< SRDef, Tensor< rank >, Tensor< 2 >, Tensor< 2 > > syten::SVD::svd | ( | Tensor< rank > const & | in, |
Index | uncombinedLeg, | ||
Truncation const & | trunc = Truncation() , |
||
DecompRescaleCGC const | rescale = DecompRescaleCGC::Yes , |
||
GaugeFixSVD | gf = GaugeFixSVD::n() , |
||
SourceLocation | location = SourceLocation::current() |
||
) |
A nicer interface to a named left-normalising SVD.
Use as follows:
err
will contain the sum of squared singular values, u
, s
and v
will contain the tensors returned by the SVD, where u
has the same rank as in
and s
and v
are rank-2 tensors connecting to the uncombLeg
of u
.
err
, u
, s
and v
beforehand. References std::make_tuple(), std::move(), and svd().