小さなランクの対角更新でシステムを解く


9

元の大規模でスパースな線形システムます。今、Aは因数分解やAのあらゆる分解に対応するには大きすぎるため、A 1はありませんが、反復解法で解x 0が見つかったと仮定します。Ax0=b0A1Ax0

ここで、Iは、(対角エントリの数を変更する)Aの対角に小さなランク更新を適用したい: Dは、その対角線と数にほとんど0の対角行列でありますゼロ以外の値。もし私がA 1を持っていれば、ウッドベリーの公式を利用して更新を逆に適用することができます。ただし、これは利用できません。システム全体をもう一度解決する以外にできることはありますか?私は、前提条件を考え出すことができるかもしれないといういくつかの方法があるM反転が容易\簡単であるように、M A 1(A+D)x1=b0DA1M、つまり x 0の場合に適用する必要があるのは M - 1を適用することだけであり、反復法は数回/数回の反復で収束しますか?MA1A0x0M1


A1000109

A106107

2
1つのシステムのソリューションでは、それについてはあまりわかりません。同じシステムを複数回解く場合、それらのベクトル(および/または関連するクリロフ空間)の逆マップは、収束を加速するために使用できるいくつかの情報を提供します。それぞれの場合、いくつのシステムを解決していますか?
ジェドブラウン

bAA

回答:


4
  1. BCbjcj=Abj

  2. (A+D)x=bAx=bD=0(C+DB)ybC+DB

  3. x0=By(A+D)x=bBC

BCBBCx0B

行は、問題全体の粗い離散化にほぼ対応するように選択する必要があります。予想される行列ベクトルの乗算の総数の5倍以上の行を取得することで十分です。

BCC=ABBxxx=Byyx(C+DB)y=bx0=By=x

xBx

(k+1)k


ノイマイヤー先生、ありがとうございます。これを試してみます。これがどのように機能するかについて簡単に説明してもらえますか?
コスティ

Ax0=b0Ax1=b1Ax2=b2

D=0

@Costis:ステップ2にもう少し詳細を追加しました。-アプリケーションを作成する場合は、プレプリントをmaに送信してください。
Arnold Neumaier

(C+DB)yb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.