Essentia  2.1-beta6-dev
SVD< Real > Class Template Reference

#include <jama_svd.h>

Public Member Functions

 SVD (const Array2D< Real > &Arg)
 
void getU (Array2D< Real > &A)
 
void getV (Array2D< Real > &A)
 
void getSingularValues (Array1D< Real > &x)
 
void getS (Array2D< Real > &A)
 
double norm2 ()
 
double cond ()
 
int rank ()
 

Private Attributes

Array2D< Real > U
 
Array2D< Real > V
 
Array1D< Real > s
 
int m
 
int n
 

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

Constructor & Destructor Documentation

◆ SVD()

SVD ( const Array2D< Real > &  Arg)
inline

Member Function Documentation

◆ cond()

double cond ( )
inline

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

◆ getS()

void getS ( Array2D< Real > &  A)
inline

Return the diagonal matrix of singular values

Returns
S

◆ getSingularValues()

void getSingularValues ( Array1D< Real > &  x)
inline

Return the one-dimensional array of singular values

◆ getU()

void getU ( Array2D< Real > &  A)
inline

◆ getV()

void getV ( Array2D< Real > &  A)
inline

◆ norm2()

double norm2 ( )
inline

Two norm (max(S))

◆ rank()

int rank ( )
inline

Effective numerical matrix rank

Returns
Number of nonnegligible singular values.

References Array1D< T >::dim().

Member Data Documentation

◆ m

int m
private

◆ n

int n
private

◆ s

Array1D<Real> s
private

◆ U

Array2D<Real> U
private

◆ V

Array2D<Real> V
private

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