std::tuple< Tensor< 2 >, Tensor< 2 >, Tensor< 2 > > syten::Eigen::eigenGen | ( | Tensor< 2 > | in, |
SourceLocation | location = SourceLocation::current() |
||
) |
Decomposes the tensor in
into a tuple [r, d, l]
such that r·d·l
is in
(r
being based on the right eigenvectors and l
being based on the left eigenvectors).
References std::clock(), syten::conj(), std::chrono::duration::count(), syten::Tensor< rank >::dirs, syten::hasCGC(), syten::makeIdentity(), std::move(), std::chrono::high_resolution_clock::now(), syten::Tensor< rank >::size(), SYTEN_ASSERT_MSG, syten::EnvVars::tensor_time, syten::MemoryUsage::totalSize(), and syten::transpose().
Referenced by syten::Pyten::init_tensor_decomp().