OpenMD 3.1
Molecular Dynamics in the Open
|
Singular Value Decomposition. More...
#include <SVD.hpp>
Public Member Functions | |
SVD (const DynamicRectMatrix< Real > &Arg) | |
void | getU (DynamicRectMatrix< Real > &A) |
void | getV (DynamicRectMatrix< Real > &A) |
void | getSingularValues (DynamicVector< Real > &x) |
Return the one-dimensional array of singular values. | |
void | getS (DynamicRectMatrix< Real > &A) |
Return the diagonal matrix of singular values. | |
Real | norm2 () |
Two norm (max(S)) | |
Real | cond () |
Two norm of condition number (max(S)/min(S)) | |
int | rank () |
Effective numerical matrix rank. | |
Singular Value Decomposition.
For an m-by-n matrix A with m >= n, the singular value decomposition is an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and an n-by-n orthogonal matrix V so that A = U*S*V'.
The singular values, sigma(k) = S(k,k), are ordered so that sigma(0) >= sigma(1) >= ... >= sigma(n-1).
The singular value decompostion always exists, so the constructor will never fail. The matrix condition number and the effective numerical rank can be computed from this decomposition.
(Adapted from JAMA, a Java Matrix Library, developed by jointly by the Mathworks and NIST; see http://math.nist.gov/javanumerics/jama).
|
inline |
|
inline |
|
inline |
|
inline |
Return the one-dimensional array of singular values.
Definition at line 440 of file SVD.hpp.
Referenced by OpenMD::MolecularRestraint::calcForce().
|
inline |
|
inline |
|
inline |
|
inline |