Tôi nghi ngờ rằng nhìn chung không có nhiều khác biệt giữa GMRES và CG cho ma trận SPD.
Ax=bAx0=0xckxgkxkKk={b,Ab,A2b,…}
eck=x−xckA
(Aeck,eck)=(A(x−xck),x−xck)=miny∈K(A(x−y),x−y).
Thay vào đó, GMRES giảm thiểu tối đa còn lại và thực hiện theo định mức rời rạc , sao cho
Bây giờ sử dụng phương trình lỗi chúng ta cũng có thể viết GMRES dưới dạng thu nhỏ started
nơi tôi muốn nhấn mạnh rằng điều này chỉ giữ cho một SPD ma trận . Sau đó, chúng tôi có CG giảm thiểu lỗi liên quan đến định mức và GMRES giảm thiểu lỗi liên quan đếnrk=b−Axgkℓ2
(rk,rk)=(b−Axgk,b−Axgk)=miny∈K(b−Ay,b−Ay).
Aek=rk(rk,rk)=(Aegk,Aegk)=(A2egk,egk)
AAA2định mức. Nếu chúng ta muốn chúng cư xử rất khác nhau, theo trực giác chúng ta sẽ cần một điểm sao cho hai chuẩn mực này rất khác nhau. Nhưng đối với SPD các chuẩn mực này sẽ hoạt động khá giống nhau.
AA
Để cụ thể hơn nữa, trong lần lặp đầu tiên với không gian Krylov , cả CG và GMRES sẽ xây dựng một xấp xỉ có dạng . CG sẽ chọn
và GMRES sẽ chọn started
Nếu là đường chéo với các mục và thì là đầu tiên Bước CG trở nên lớn gấp đôi bước GMRES đầu tiên. Có lẽ bạn có thể xây dựng vàK1={b}x1=αb
α=(b,b)(Ab,b)
α=(Ab,b)(A2b,b).
A(ϵ,1,1,1,…)b=(1,1,0,0,0,…)ϵ→0Ab do đó, yếu tố hai sự khác biệt này tiếp tục trong suốt vòng lặp, nhưng tôi nghi ngờ nó còn tệ hơn thế nữa.