OpenMD 3.1
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
JAMA::SVD< Real > Class Template Reference

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.
 

Detailed Description

template<class Real>
class JAMA::SVD< Real >

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).

Definition at line 33 of file SVD.hpp.

Constructor & Destructor Documentation

◆ SVD()

template<class Real >
JAMA::SVD< Real >::SVD ( const DynamicRectMatrix< Real > & Arg)
inline

Definition at line 39 of file SVD.hpp.

Member Function Documentation

◆ cond()

template<class Real >
Real JAMA::SVD< Real >::cond ( )
inline

Two norm of condition number (max(S)/min(S))

Definition at line 459 of file SVD.hpp.

◆ getS()

template<class Real >
void JAMA::SVD< Real >::getS ( DynamicRectMatrix< Real > & A)
inline

Return the diagonal matrix of singular values.

Returns
S

Definition at line 445 of file SVD.hpp.

◆ getSingularValues()

template<class Real >
void JAMA::SVD< Real >::getSingularValues ( DynamicVector< Real > & x)
inline

Return the one-dimensional array of singular values.

Definition at line 440 of file SVD.hpp.

Referenced by OpenMD::MolecularRestraint::calcForce().

◆ getU()

template<class Real >
void JAMA::SVD< Real >::getU ( DynamicRectMatrix< Real > & A)
inline

Definition at line 426 of file SVD.hpp.

◆ getV()

template<class Real >
void JAMA::SVD< Real >::getV ( DynamicRectMatrix< Real > & A)
inline

Definition at line 437 of file SVD.hpp.

◆ norm2()

template<class Real >
Real JAMA::SVD< Real >::norm2 ( )
inline

Two norm (max(S))

Definition at line 456 of file SVD.hpp.

◆ rank()

template<class Real >
int JAMA::SVD< Real >::rank ( )
inline

Effective numerical matrix rank.

Returns
Number of nonnegligible singular values.

Definition at line 464 of file SVD.hpp.


The documentation for this class was generated from the following file: