共役勾配の最悪の場合の複雑さは何ですか?


9

してみましょう、対称正定。ベクトルにAを乗算するのにm単位の作業が必要だとします。ウェル上にCGアルゴリズムを実行することが知られているAの条件数とκが必要OMはARn×nmAAκ、作業単位。O(mκ)

もちろん、ステートメントであるため、これは上限です。また、CGアルゴリズムは、ラッキーな初期推測で常にゼロステップで終了できます。O

私たちは、RHS及び必要になります初期(不運な)推測が存在する場合は知っていますステップ?別の言い方をすれば、CGの最悪の場合の作業の複雑さは、実際にあるΘMΘ(κ)Θ(mκ)

この質問は、プレコンディショナーの利点(低い)がコスト(mが高い)を上回るかどうかを判断しようとしたときに発生します。現在、おもちゃの問題を扱っており、コンパイルされた言語で何かを実装する前に、より良いアイデアを知りたいと思っています。κm


5
おそらく、CGアルゴリズムを「逆方向」に実行し、アルゴリズムがすべてのステップを必要とする直交検索方向のそれぞれに適切なエネルギーを投入することにより、悲観的な初期推測を構築できます。A
origimbo 2016年

回答:


9

答えは、確かにイエスです。の収束率限界は、条件数κの対称正定行列のセットにわたって鋭い。言い換えれば、詳細は何も知りませんAの条件数よりもを、CGは本当に取ることができます(κ1)/(κ+1)κA収束する κ反復。大まかに言えば、Aの固有値が条件数κの区間内で均一に分布している(つまり、「ペッパー」である)場合、上限が達成されます。κAκ

これは、より厳密なステートメントです。確定的バージョンはより複雑ですが、同じ原則を使用して動作します。

定理最悪の場合の選択)。任意のランダムな直交行列ピックUをさせ、λ 1... λ NであるN個の実数が均一実際の間隔からサンプリングされた[ 1 κ ]、およびlet B = [ B 1; B N ]であるn個の実数は、標準的なガウスからIIDをサンプリングしました。定義Aは= Uは、dは、I Gλ 1AUλ1,,λnn[1,κ]b=[b1;;bn]nその後、限界に N 、共役勾配に確率1で収束します εの正確溶液 A X = Bない未満で Ω

A=Udiag(λ1,,λn)UT.
nϵAx=b回の繰り返し。Ω(κlogϵ1)

証明。標準証明は、Greenbaumの本Saadの本など、さまざまな場所で見つかった手法を使用して、最適なチェビシェフ多項式近似に基づいています。


1
回答が後で説明するように、境界はシャープではありません。固有値が均一に分布していない場合、cgは定常的な反復ではないため、より速く収束します。したがって、マトリックスについてさらに知る必要があります。
Guido Kanschat

@GuidoKanschat:良い点です。条件がκのすべてのでシャープネスが得られることを明確にするために、ステートメントを修正しました。Aκ
Richard Zhang

証拠は最小化に帰着 order-の空間におけるk個満たす多項式P 0 = 1。等価的にこれはある最小のp 最大λ Λ A | p λ | 。上記の制限では、Λ A [ 1 κ ]であり、ミニマックス問題の解はチェビシェフ多項式であり、その誤差はとして収束します。p(A)kp(0)=1minpmaxλΛ(A)|p(λ)|Λ(A)[1,κ]κ
リチャード・チャン

0

これを私の元の質問として:HS を必要とするRHSと最初の(不運な)推測が存在するかどうかを知っていますか? ステップ?Θ(κ)

質問への答えは「いいえ」です。この回答のアイデアは、Guido Kanschatからのコメントに由来しています。

主張:任意の指定された条件番号、行列Aが存在します。その条件番号に対して、CGアルゴリズムは最大で2つのステップで終了します(任意の指定されたRHSおよび初期推定に対して)。kA

検討ここで、Aは= dをI G1 κ κ ... κ 。このとき、Aの条件数はκです。ましょうbはR N RHSこと、の固有値示すAのようにλ Iここで、 λ I = { 1 iは= 1 κ I 1ARn×nA=diag(1,κ,κ,,κ)AκbRnAλi

λi={1i=1κi1.

まずケース考える、初期推定は、ゼロです。示すX 2 R n個の第二の推定値としてA - 1、B CGアルゴリズムから。我々は示しXを2 = A - 1件の B示すによってX 2 - A - 1、B A X 2 - Ax(0)Rnx(2)RnA1bx(2)=A1b。確かに、x(2)A1b,A(x(2)A1b)=0

x(2)A1b,A(x(2)A1b)=x(2)A1bA2=minppoly1(p(A)A1)bA2=minppoly1i=1n(p(λi)λi1)2λibi2i=1n(p^(λi)λi1)2λibi2=0

p^p^(x)=(1+κx)/κx(0)=0

x(0)0x(2)=x(2)¯+x(0)x(2)¯bb¯=bAx(0)


このうちどれだけが有限精度の演算に対して堅牢ですか?
origimbo 2016年

@origimbo質問が私に向けられた場合、答えは「わからない」です。
2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.