大きな行列の条件数をどのように概算するのですか?


9

がフーリエ変換(不均一または均一)、有限差分、および対角行列組み合わせである場合、大きな行列の条件数をどのように近似しますか?G F R SGGFRS

行列は非常に大きく、メモリには保存されず、関数としてのみ使用できます。

特に、次のマトリックスがあります。

Gμ=SHFHFS+μRHR

と条件数の関係を調べたい。K G μμkGμ

ある種の反復的なアプローチが必要だと思いますか?最適には、利用可能なMATLABコードがいくつかあります。


1
条件数の定義を試し、三角形の不等式とサブマルチプリクティビティを使用してみてはどうでしょうか。各マトリックスの規範/条件について何か言うことができるはずです。この方法は、あなたの条件数の推定値を得るGμ
Anke、2013

回答:


11

MATLABは、このために、「正確な」機能のカップルを持っている、condそしてrcond、後者は条件数の逆数を返すと。Matlab近似関数condestについては、以下で詳しく説明します。

多くの場合、条件数の推定は、行列の線形システムの解の副産物として生成されるため、とにかく実行する必要がある他の作業に条件数の推定を便乗させることができる場合があります。見積もりの​​計算方法の簡単な説明については、こちらをご覧ください。また、Sandia Labs AztecOOのドキュメントの注釈(セクション 3.1を参照)では、オプションの条件数推定が反復ソルバーから利用可能である(生成された3対角Lanczos行列と共役勾配、または生成されたヘッセンブルグ行列と再起動されたGMRESを使用)。

行列が「非常に大きく」、「関数としてのみ利用可能」であるため、論理的なアプローチは、共役勾配法ソルバーまたはバリアントに便乗する方法です。

最近のarXiv.orgの論文、線形システムの反復解における非定常極値固有値近似と相対誤差の推定量は、そのようなアプローチを提案しており、以前の文献にいくつかの引用があります。

私が見たところ、このフォーラムには密接に関連した以前の質問がいくつかあります(すべて回答とは限りませんが、コメントを確認してください)。

CGを使用して極端な固有値を推定する

非常に大きな行列の条件数の推定

Matlab / Octaveで大きな行列の条件数を計算する最速のアルゴリズム


condestA 1111111

行列は明らかにエルミートで正定であるため、おそらく2ノルムの条件数がより重要になります。次に問題は、最大(最小)固有値に対する最大固有値の比率を推定することになります。この課題は、1ノルムの場合と多少似ていますが、通常、最大の固有値の適切な推定値を簡単に取得できますが、最小の固有値の推定はより困難になります。

非SPD(および非正方形)のケースを目的としていますが、この最近のarXiv.orgの論文、Reliable Iterative Condition-Number Estimationは、最小の固有値推定問題と、Krylov部分空間による攻撃の有望なラインの概要を示していますSPDの場合、共役勾配に相当する方法(LSQR)。


お返事ありがとうございます。共役勾配ソルバーの副産物として条件番号を取得するにはどうすればよいですか?
Stiefel 2013

@Stiefel:Lei Guang-yaoによる極値固有値の近似計算と非特異行列の条件数に関する1992年の論文があります。より良いリファレンスを見つけることができるかどうかを見てみましょう(ペイウォールの背後ではありません)。
hardmath

@Stiefel:リンクをいくつか追加。Googleブックス(またはライブラリ)でOwe Axelssonの反復解法(1996)をチェックすることもできます。チャップ。13 共役勾配法の収束率。ただし、収束に必要な反復回数の推定は、条件数だけの場合よりも優れていることに重点が置かれています。
hardmath

1
@Stiefelあなたのような名前でCGメソッドについて教えてください:) en.wikipedia.org/wiki/Eduard_Stiefel
staliを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.