singular value decomposition More...
#include <matrix_decomp.h>
Public Member Functions | |
| SVD (const Matrix< C > &A) | |
| default constructor, perform SVD | |
| void | getU (Matrix< C > &U) const |
| return U | |
| void | getUS (Matrix< C > &US) const |
| return U*S | |
| void | getS (Vector< C > &S) const |
| return singular values diag(S) | |
| void | getV (Matrix< C > &V) const |
| return V | |
Protected Attributes | |
| Matrix< C >::size_type | rowdim_ |
| m=A.rowdim(), n=A.coldim() | |
| Matrix< C >::size_type | coldim_ |
| Matrix< C > | U_ |
| storage for the decomposition | |
| Matrix< C > | V_ |
| Vector< C > | Sdiag_ |
| storage for diag(S) | |
singular value decomposition
Compute the singular value decomposition of an m-by-n matrix A, in the form A = U*S*V where U is an m-by-n orthogonal matrix, S is an n-by-n diagonal matrix and V is an n-by-n orthogonal matrix. The singular values sigma_k = S(k,k) are ordered such that sigma_0 >= sigma_1 >= ... >= sigma_{n-1}
1.7.6.1