QR分解に基づく階数
[Q,R,JPVT,RANK,SVAL]=rankqr(A, [RCOND,JPVT])
実数または複素数の行列
Aの実効階数(ランク)を定義するために使用される実数です.
この階数は,
Aのピボット選択付きのQR分解の中の
最大の先頭の部分三角行列R11の次数として定義されます.
その推定された条件数は < 1/RCOND となります.
エントリの整数ベクトル, JPVT(i) が 0でない場合,
Aのi列目は
APの先頭と交換され,
それ以外の場合,iは自由な列となります.
処理終了時にJPVT(i) = kの場合,
A*Pのi列目は,
Aのk列目となっています.
Aの実効ランク,すなわち,
部分行列R11の次数.
これは,Aの完全な直交分解における
部分行列T1の次数と同じです.
3つの要素を有する実数ベクトル;三角分解Rの
特異値の推定値.
SVAL(1) は,
R(1:RANK,1:RANK)の最大特異値です;
SVAL(2) は,
R(1:RANK,1:RANK)の最小特異値です;
SVAL(3) は,
RANK < MIN(M,N)の場合,
R(1:RANK+1,1:RANK+1),
そうでない場合, R(1:RANK,1:RANK)の最小特異値です.
実数または複素数のM行N列一般行列Aの(オプションで)
ランク出力を伴なうQR分解を計算します.
ランクが不完全になる可能性があり,実効ランクを条件数のインクリメンタル推定により
推定します.
このルーチンは列ピボット選択付きのQR分解を使用します:
A * P = Q * R, where R = [ R11 R12 ], [ 0 R22 ] | ![]() | ![]() |
R11は,条件数の推定値が1/RCOND未満となる
最大の部分行列として定義されます.
R11, RANKの次数は,
Aの実効階数です.
三角分解が階数出力を伴なう場合 (これは先頭の列が健全(well-conditioned)な場合です),
SVAL(1)はAの最大特異値の
推定値となり,SVAL(2) および
SVAL(3)は,それぞれ Aの
RANK番目および(RANK+1)番目の
特異値の推定値となります.
これらの値を評価することにより,選択したRCONDの
値により階数が良好に定義されることを確認することができます.
比 SVAL(1)/SVAL(2) は,
R(1:RANK,1:RANK)の条件数の推定値です.
Slicot library routines MB03OD, ZB03OD.