About qr decomposition function : qr
4 ビュー (過去 30 日間)
古いコメントを表示
X = qr(A) return a matrix X such that triu(X) is the upper triangualr factor R .
Could tell me how to calculate X ? (what is the algorithm to calculate X ?)
Also, why triu(X) is equal to R ?
4 件のコメント
Matt J
2014 年 12 月 17 日
Whoops, that's right. I forgot how that calling syntax worked. However, like the OP, I find it non-intuitive that qr() would return an output of that form. If triu(X) is R, then what is useful about the lower triangular part of the output? Why not just return R instead of forcing the user to call triu(X)?
Titus Edelhofer
2014 年 12 月 17 日
Good question. The example at the bottom of the doc makes exactly this distinction between sparse and full:
if issparse(A)
R = qr(A);
else
R = triu(qr(A));
end
The values in the lower triangle describe the elementary reflectors for computing the qr decomposition, although I admit I'm not sure what you can use them for ;-).
Titus
回答 (1 件)
Titus Edelhofer
2014 年 12 月 17 日
Hi,
regarding the algorithm: the help for qr states
% X = QR(A) and X = QR(A,0) return the output of LAPACK's *GEQRF routine. % TRIU(X) is the upper triangular factor R.
So take a look at the GEQRF documentation about the algorithm. It looks as if the algorithm is based on Householder reflections.
Titus
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!