golib  0.5
goMath::ThinSVD< Real > Class Template Reference

#include <gosvd.h>

Public Member Functions

 ThinSVD (const goMath::Matrix< Real > &Arg)
 
void getU (goMath::Matrix< Real > &A)
 
void getV (goMath::Matrix< Real > &A)
 
goMath::Matrix< Real > & getU ()
 
const goMath::Matrix< Real > & getU () const
 
goMath::Matrix< Real > & getV ()
 
const goMath::Matrix< Real > & getV () const
 
void getSingularValues (goMath::Vector< Real > &x)
 
goMath::Vector< Real > & getSingularValues ()
 
const goMath::Vector< Real > & getSingularValues () const
 
void getS (goMath::Matrix< Real > &A)
 
double norm2 ()
 
double cond ()
 
int rank ()
 

Detailed Description

template<class Real>
class goMath::ThinSVD< Real >

Singular Value Decomposition. This is taken from the JAMA toolkit. JAMA is free of copyright. The classes are renamed to fit in the go... naming conventions.

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

Member Function Documentation

◆ cond()

template<class Real >
double goMath::ThinSVD< Real >::cond ( )

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

◆ getS()

template<class Real >
void goMath::ThinSVD< Real >::getS ( goMath::Matrix< Real > &  A)

Return the diagonal matrix of singular values

Returns
S

◆ getSingularValues()

template<class Real >
void goMath::ThinSVD< Real >::getSingularValues ( goMath::Vector< Real > &  x)

Return the one-dimensional array of singular values

◆ norm2()

template<class Real >
double goMath::ThinSVD< Real >::norm2 ( )

Two norm (max(S))

◆ rank()

template<class Real >
int goMath::ThinSVD< Real >::rank ( )

Effective numerical matrix rank

Returns
Number of nonnegligible singular values.

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