Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Linear Algebra > Linear Equations > rankqr

rankqr

QR分解に基づく階数

呼び出し手順

[Q,R,JPVT,RANK,SVAL]=rankqr(A, [RCOND,JPVT])

パラメータ

A

実数または複素数の行列

RCOND

Aの実効階数(ランク)を定義するために使用される実数です. この階数は, Aのピボット選択付きのQR分解の中の 最大の先頭の部分三角行列R11の次数として定義されます. その推定された条件数は < 1/RCOND となります.

JPVT

エントリの整数ベクトル, JPVT(i) が 0でない場合, Ai列目は APの先頭と交換され, それ以外の場合,iは自由な列となります. 処理終了時にJPVT(i) = kの場合, A*Pi列目は, Ak列目となっています.

RANK

Aの実効ランク,すなわち, 部分行列R11の次数. これは,Aの完全な直交分解における 部分行列T1の次数と同じです.

SVAL

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)は,それぞれ ARANK番目および(RANK+1)番目の 特異値の推定値となります.

これらの値を評価することにより,選択したRCONDの 値により階数が良好に定義されることを確認することができます. 比 SVAL(1)/SVAL(2) は, R(1:RANK,1:RANK)の条件数の推定値です.

A=rand(5,3)*rand(3,7);
[Q,R,JPVT,RANK,SVAL]=rankqr(A,%eps)

参照

  • qr — QR 分解
  • rank — 階数

使用される関数

Slicot library routines MB03OD, ZB03OD.

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:24 CEST 2012