共役勾配がこの非対称前提条件子で機能するのはなぜですか?


8

、この前スレッド対称予備調整組み合わせる以下乗法方法及びP 2対称システムのためのA 、X = Bが示唆された: P - 1つのコンボ= P - 1 1 + P - 1 2I - A P - 1 1= P 1 1 + P 1 2P P1P2バツ=b

Pコンボ1:=P11+P21P11=P11+P21P21P11

この結合された前提条件子は対称ではありません。ただし、とにかくいくつかの異なるコンテキストで共役勾配でそれを使用してみましたが、メソッドは常にうまく収束しているようです。どうしてこれなの?


例1:ランダム行列。

% Testing multiplicative combination of preconditioners
n = 500;
[U,S,~] = svd(randn(n,n)); A = U*S*U';
[W1,S1,~] = svd(randn(n,n)); noise1 = W1*S1*W1';
[W2,S2,~] = svd(randn(n,n)); noise2 = W2*S2*W2';
P1 = A + 0.5 * noise1;
P2 = A + 0.5 * noise2;

solve_P = @(x) P1\x + P2\x - P2\(A*(P1\x));

b = randn(n,1);
x_true = A\b;
pcg(A,b,1e-6,n);
pcg(A,b,1e-6,n,P1);
x = pcg(A,b,1e-6,n,solve_P);
norm(x_true - x)/norm(x_true)

これが私が得る出力です:

pcg converged at iteration 127 to a solution with relative residual 9.9e-07.
pcg converged at iteration 62 to a solution with relative residual 6.8e-07.
pcg converged at iteration 51 to a solution with relative residual 8.1e-07.
relative error= 4.23e-07

例2:ポアソン方程式を解くためのマルチグリッドと不完全コレスキーの組み合わせ。

n = 50; N = n^2;
A = gallery('poisson',n); %Laplacian on n-by-n grid, zero dirichlet BC

L = ichol(A);
solve_P1 = @(x) L'\(L\x);
% Combinatorial multigrid: http://www.cs.cmu.edu/~jkoutis/cmg.html
solve_P2 = cmg_sdd(A); 

solve_P = @(x) solve_P1(x) + solve_P2(x) - solve_P1(A*solve_P2(x));

b = randn(N,1);
x_true = A\b;
pcg(A,b,1e-6,N);
pcg(A,b,1e-6,N,solve_P1);
pcg(A,b,1e-6,N,solve_P2);
x = pcg(A,b,1e-6,N,solve_P);
disp(['relative error= ', num2str(norm(x_true - x)/norm(x_true),3)])

これについて私は結果を得ます:

pcg converged at iteration 131 to a solution with relative residual 8.4e-07.
pcg converged at iteration 44 to a solution with relative residual 6e-07.
pcg converged at iteration 19 to a solution with relative residual 7e-07.
pcg converged at iteration 12 to a solution with relative residual 4.7e-07.
relative error= 5.2e-07

ノート:

  • さらに複雑で現実的な状況で発生する、マトリックスに対する同じ定性的な動作も確認しました。
  • バツ=bere=rP1P2

バツ

@WolfgangBangerthありがとう、タイプミスでした。修正されました。
Nick Alger

回答:


4

つまり、クリロフベクトルの直交化は、演算子に関しては発生しますが、前提条件子に関しては発生しません。

バツ=bB

v^1=v1=Bbv1=v1/c1v^=Bv1v=v^Σj=11vkv^vkv=v/cc=vv
  • v^
  • v
  • v

ここで興味深いのは、いくつかのプロパティを取得できることです。あなたにとって本当に重要な2つは

  1. スパン{v}=1メートル=スパン{B1Bb}=1メートル
  2. VTV=

v^Bv1v1BbvB

バツ=bバツβ

Vβ=b
VTVβ=VTb
VTV=
β=VTb
バツ=VVTb
BBBB

非対称何かを失うことはありますか?多分。通常は、CGで、私たちのような特性を持っているBのR IRのJ= 0すべてのためのjで。私はもう成り立たないと確信しています。また、我々は通常持っていますBBrrj=0jBvvj=0|j|2B疑わしいと思います。

BB


1

http://www.sciencedirect.com/science/article/pii/S1877050915010492「共役勾配法と最急降下法のための非対称前処理」を読む


6
SciComp.SEへようこそ!これらはいつでも消えるか、この場合のようにペイウォールから跳ね返る可能性があるため、回答にはリンクだけが含まれるべきではありません。この論文の内容を要約していただけますか?それ以外の場合、これは回答というよりコメントです。
クリスチャンクラソン2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.