これは、(ユセフサアド、示されていますスパース線形システムのための反復法、P。260)が
これはにも当てはまりますか?
ケースにはであると、私はその観察
この場合、での定式化が望ましいということですか?
これは、(ユセフサアド、示されていますスパース線形システムのための反復法、P。260)が
これはにも当てはまりますか?
ケースにはであると、私はその観察
この場合、での定式化が望ましいということですか?
回答:
場合とN < M、その後、 rはn個のK(A T A )= R A N K(A A T)= R A N K(A )≤ N < Mの ようにA T Aを∈ R M × Mはフルランクにすることはできません。つまり、特異です。
従って、条件数は。有限精度の計算のため、MATLABで計算すると、ではなく、大きな数が得られます。cond(A'A)
Inf
さて、なぜがAの条件数の2乗に近いのかを見てみましょう。SVD分解を使用してA = U S V Tと、U ∈ R N × N、S ∈ R N × M、V ∈ R M × Mを、我々は表現できA T Aとしての
U T U = Iのように、が正規直交であることに注意して到達しました。ことをさらに我々ノートSは最終分解するような対角行列であり、A T Aのように表すことができるV S 2 V Tと、S 2を意味S T Sをから最初のN個の特異値を持つ対角行列を得、S乗斜めに。これは、条件数が最初と最後の特異値の比であるため、c o n d (のためのA∈RN×M、
これで、を使用して同じ演習を実行できます。
つまり、結果、ここでのS2はSSTを意味するため、上記の表記との微妙な違い。
ただし、微妙な違いに注意してください。以下のためにが、条件数は、分母におけるM番目の特異値を有するA A Tは N番目の特異値を有します。これが、条件数に大きな違いが見られる理由を説明しています— A A Tは確かにA T Aよりも「より良い条件」になります。
それでも、David Ketchesonは正しかった— 2つの非常に異なる行列間の条件数を比較しています。特に、達成できることは、A A Tで達成できることと同じではありません。
正確な算術cond(A ^ 2)= cond(A'A)= cond(AA ')で、例えばを参照してください。Golub and van Loan、第3版、p70。Aがランク不足に近い場合、これは浮動小数点演算では当てはまりません。最良のアドバイスは、最小二乗問題を解決するときに上記の本のレシピに従うことです。最も安全なのはSVDアプローチです(p257)。SVDを計算するときは、代わりに\ varepsilon-rankを使用してください。ここで、\ varepsilonは行列データの解像度です。