Function SV_decomp_jacobi (o2scl_linalg)

O2scl : Function List

template<class mat_t, class mat2_t, class vec_t>
void o2scl_linalg::SV_decomp_jacobi(size_t M, size_t N, mat_t &A, mat2_t &Q, vec_t &S)

SV decomposition using one-sided Jacobi orthogonalization.

This factors matrix A of size (M,N) into

\[ A = U~D~V^T \]
where U is a column-orthogonal matrix of size (M,N) (stored in A), D is a diagonal matrix of size (N,N) (stored in the vector S of size N), and V is a orthogonal matrix of size (N,N).

This function computes singular values to higher relative accuracy than SV_decomp() and SV_decomp_mod().

Idea for Future:

There were originally a few GSL_COERCE_DBL calls which have been temporarily removed and could be restored.