Tại sao gradient liên hợp làm việc với tiền điều kiện không đối xứng này?


8

Trong chủ đề trước , cách nhân số sau đây để kết hợp các điều kiện tiên quyết đối xứng P 2 cho hệ thống đối xứng A x = b đã được đề xuất: P - 1 combo : = P - 1 1 + P - 1 2 ( I - A P - 1 1 ) = P - 1 1 + P - 1 2 - P -P1P2Ax=b

Pcombo1:=P11+P21(IAP11)=P11+P21P21AP11.

Điều kiện tiên quyết kết hợp này không đối xứng. Tuy nhiên, tôi đã thử sử dụng nó trong mọi cách liên kết gradient trong một số bối cảnh khác nhau và phương thức này dường như luôn hội tụ tốt. Tại sao lại thế này?


Ví dụ 1: Ma trận ngẫu nhiên.

% 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)

Đây là đầu ra tôi nhận được:

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

Ví dụ 2: Kết hợp multigrid với cholesky không hoàn chỉnh để giải phương trình Poisson.

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)])

Đối với điều này, tôi nhận được kết quả:

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

Ghi chú:

  • Tôi cũng đã thấy hành vi định tính tương tự trên ma trận phát sinh trong các tình huống phức tạp / thực tế hơn.
  • Ax=berAe=rP1AP2A

x

@WolfgangBangerth Cảm ơn, đó là một lỗi đánh máy, đã được sửa.
Nick Alger

Câu trả lời:


4

Nói tóm lại, việc trực giao hóa các vectơ Krylov xảy ra đối với toán tử, nhưng không liên quan đến điều kiện tiên quyết.

Ax=bB

v^1=v~1=Bbv1=v~1/c1v^i=BAvi1v~i=v^ij=1i1Avk,v^ivkvi=v~i/cici=v~i,v~i
  • v^i
  • v~i
  • vi

Bây giờ, điều thú vị từ điều này là chúng tôi có được một số tài sản. Hai điều thực sự quan trọng với bạn là

  1. span{vi}i=1m=span{(BA)i1(Bb)}i=1m
  2. VTAV=I

v^iBAvi1v1Bbv~iBA

Ax=bxβ

AVβ=b
VTAVβ=VTb
VTAV=I
β=VTb
x=VVTb.
BABBAB

BBri,rj=0ijBAvi,Avj=0|ij|2B

BB


1

Đọc http://www.scTHERirect.com/science/article/pii/S1877050915010492 "Điều kiện tiên quyết không đối xứng cho Phương pháp liên kết độ dốc và phương pháp gốc rõ ràng nhất"


6
Chào mừng bạn đến với SciComp.SE! Câu trả lời không nên chỉ chứa một liên kết, vì những câu trả lời này có thể biến mất bất cứ lúc nào hoặc - như trong trường hợp này - bật ra khỏi một tường thành. Bạn có thể tóm tắt nội dung của bài viết này? Nếu không, đây là một nhận xét nhiều hơn là một câu trả lời.
Christian Clason
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.