CommonLibrary  0.9.0
EV_Householder< T > クラステンプレート

ハウスホルダー法による行列の QR 分解 [詳解]

静的公開メンバ関数

static void qr (SquareMatrix< T > *r, SquareMatrix< T > *q)
 ハウスホルダー法による行列 r のQR変換 [詳解]
 
static void doubleShiftQR (const SymmetricMatrix< T > &mat, SquareMatrix< T > *r, SquareMatrix< T > *q, T e, unsigned int maxCnt)
 原点シフト付きQR変換 [詳解]
 

詳解

template<class T>
class EV_Householder< T >

ハウスホルダー法による行列の QR 分解

ハウスホルダー法を使い、行列 A を A = QR の形式に分解する(qr関数)。 但し、Q は直交行列、R は上三角行列をそれぞれ表す。

また、doubleShiftQR 関数は対称行列を QR に相似変換する。 従って、上三角行列 R の対角成分は対称行列の固有値となる。

関数詳解

template<class T >
static void EV_Householder< T >::qr ( SquareMatrix< T > *  r,
SquareMatrix< T > *  q 
)
static

ハウスホルダー法による行列 r のQR変換

引数
r変換する正方行列(結果は上三角行列になる)
q直交行列を得るための行列(NULLならば無視)
戻り値
なし
template<class T >
static void EV_Householder< T >::doubleShiftQR ( const SymmetricMatrix< T > &  mat,
SquareMatrix< T > *  r,
SquareMatrix< T > *  q,
e,
unsigned int  maxCnt 
)
static

原点シフト付きQR変換

引数
mat変換対象の対称行列
r変換後の上三角行列を格納する正方行列へのポインタ
q変換後の直交行列を格納する正方行列へのポインタ(NULLならば無視)
e収束判定のためのしきい値
maxCnt収束しなかった場合の最大処理回数
戻り値
処理回数

このクラス詳解は次のファイルから抽出されました: