linalg 1.8.2
A linear algebra library that provides a user-friendly interface to several BLAS and LAPACK routines.
|
Computes the singular value decomposition of a matrix A. The SVD is defined as: \( A = U S V^T \), where \( U \) is an M-by-M orthogonal matrix, \( S \) is an M-by-N diagonal matrix, and \( V \) is an N-by-N orthogonal matrix. In the event that \( V \) is complex valued, \( V^H \) is computed instead of \( V^T \). More...
Public Member Functions | |
svd_dbl | |
svd_cmplx | |
Computes the singular value decomposition of a matrix A. The SVD is defined as: \( A = U S V^T \), where \( U \) is an M-by-M orthogonal matrix, \( S \) is an M-by-N diagonal matrix, and \( V \) is an N-by-N orthogonal matrix. In the event that \( V \) is complex valued, \( V^H \) is computed instead of \( V^T \).
[in,out] | a | On input, the M-by-N matrix to factor. The matrix is overwritten on output. |
[out] | s | A MIN(M, N)-element array containing the singular values of a sorted in descending order. |
[out] | u | An optional argument, that if supplied, is used to contain the orthogonal matrix U from the decomposition. The matrix U contains the left singular vectors, and can be either M-by-M (all left singular vectors are computed), or M-by-MIN(M,N) (only the first MIN(M, N) left singular vectors are computed). |
[out] | vt | An optional argument, that if supplied, is used to contain the conjugate transpose of the N-by-N orthogonal matrix V. The matrix V contains the right singular vectors. |
[out] | work | An optional input, that if provided, prevents any local memory allocation for complex-valued workspaces. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork . |
[out] | olwork | An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work , and returns without performing any actual calculations. |
[out] | rwork | An optional input, that if provided, prevents any local memory allocation for real-valued workspaces. If not provided, the memory required is allocated within. If provided, the length of the array must be at least 5 * MIN(M, N). |
[in,out] | err | An optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. Possible errors and warning messages that may be encountered are as follows.
|
Definition at line 2182 of file linalg.f90.