num::svd¶
Defined in header <linear/svd/svd.hpp>
svd_result svd(const mat<real> &A, real tol = 1e-12, idx max_sweeps = 100);
Compute full singular value decomposition \(A = U \Sigma V^T\).
Uses LAPACK dgesdd when configured, else in-tree one-sided Jacobi sweeps. Call num::lapack::svd or num::seq::svd to force one.
Parameters¶
A: Input \(m \times n\) dense matrix.tol: Orthogonality tolerance for Jacobi sweeps (default: 1e-12).max_sweeps: Maximum one-sided Jacobi sweeps (default: 100).
Return value¶
svd_result with left singular vectors \(U\), singular values \(\Sigma\), and transposed right vectors \(V^T\).