クラス テンプレート JAMA::SVD< Real >

#include <jama_svd.h>

すべてのメンバ一覧

Public メソッド

 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)
Real norm2 ()
Real cond ()
int rank ()

Private 変数

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


説明

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

例:

svd.cpp.

jama_svd.h39 行で定義されています。


コンストラクタとデストラクタ

template<class Real >
JAMA::SVD< Real >::SVD ( const Array2D< Real > &  Arg  )  [inline]


関数

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

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

jama_svd.h514 行で定義されています。

参照先 JAMA::SVD< Real >::m, JAMA::SVD< Real >::n, と JAMA::SVD< Real >::s.

template<class Real >
void JAMA::SVD< Real >::getS ( Array2D< Real > &  A  )  [inline]

Return the diagonal matrix of singular values

戻り値:
S

jama_svd.h496 行で定義されています。

参照先 JAMA::SVD< Real >::n, と JAMA::SVD< Real >::s.

template<class Real >
void JAMA::SVD< Real >::getSingularValues ( Array1D< Real > &  x  )  [inline]

Return the one-dimensional array of singular values

jama_svd.h487 行で定義されています。

参照先 JAMA::SVD< Real >::s.

template<class Real >
void JAMA::SVD< Real >::getU ( Array2D< Real > &  A  )  [inline]

jama_svd.h466 行で定義されています。

参照先 JAMA::SVD< Real >::m, JAMA::SVD< Real >::n, と JAMA::SVD< Real >::U.

template<class Real >
void JAMA::SVD< Real >::getV ( Array2D< Real > &  A  )  [inline]

jama_svd.h480 行で定義されています。

参照先 JAMA::SVD< Real >::V.

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

Two norm (max(S))

jama_svd.h508 行で定義されています。

参照先 JAMA::SVD< Real >::s.

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

Effective numerical matrix rank

戻り値:
Number of nonnegligible singular values.

jama_svd.h522 行で定義されています。

参照先 TNT::Array1D< T >::dim(), JAMA::SVD< Real >::m, JAMA::SVD< Real >::n, と JAMA::SVD< Real >::s.


変数

template<class Real >
int JAMA::SVD< Real >::m [private]

template<class Real >
int JAMA::SVD< Real >::n [private]

template<class Real >
Array1D<Real> JAMA::SVD< Real >::s [private]

template<class Real >
Array2D<Real> JAMA::SVD< Real >::U [private]

jama_svd.h43 行で定義されています。

参照元 JAMA::SVD< Real >::getU(), と JAMA::SVD< Real >::SVD().

template<class Real >
Array2D<Real> JAMA::SVD< Real >::V [private]

jama_svd.h43 行で定義されています。

参照元 JAMA::SVD< Real >::getV(), と JAMA::SVD< Real >::SVD().


このクラスの説明は次のファイルから生成されました:

TNTに対してThu Nov 13 00:45:18 2008に生成されました。  doxygen 1.5.7.1