1

QR 分解は Math.NET Numerics でどのように実装されていますか?

Gram-Schimdt またはギブンズ回転ですか? Gram-Schimdt で実装されているような気がしますが、よくわかりません。実装が見つかりません。

Gram-Schimdt による QR 分解は、ギブンス回転による結果とは異なりますか?

行列のギブンス回転を使用して (手動で) QR 分解を生成し、MathNet.Numerics.LinearAlgebra.Generic.Factorization.QRMethod(Gram-Schimdt を実装していると思われる) を使用して QR 分解を生成しましたが、結果はわずかに異なりました。数値の違いは約 1E-16 (それほど大きくない) で、一部の行には反対の符号 (*-1) があります (これが本当の問題です。これは、MathNet.Numerics が異なる QR アルゴリズムを実装しているために発生すると思います)。

ギブンズ回転を使用して QR 分解を実行するライブラリをいくつか提案できますか?

4

1 に答える 1

0

ドキュメントによると、それはHouseholder リフレクションを使用して実装されています。

QR 分解の計算は、Householder 変換によって構築時に行われます。

あなたが説明したように、さまざまな方法で、わずかな数値の違いや負の行を持つ答えが生成される可能性があります。詳細については、ウィキペディアの記事を参照してください。

于 2016-06-24T15:59:06.787 に答える