Eşlenik gradyanın GMRES'ten çok daha iyi çalıştığı sorunlar


17

Eşlenik gradyanın GMRES yönteminden çok daha iyi çalıştığı durumlarla ilgileniyorum.

Genel olarak, CG birçok SPD vakasında tercih edilir (simetrik-pozitif-kesin) çünkü daha az depolama gerektirir ve CG için yakınsama oranına teorik olarak bağlı olması GMRES'in iki katıdır. Bu oranların gerçekte gözlemlendiği herhangi bir sorun var mı? Aynı sayıda spmv (seyrek matris-vektör çarpımları) için GMRES'in CG ile daha iyi veya karşılaştırılabilir olduğu durumların karakterizasyonu var mı?

Yanıtlar:


8

CG'nin lehine olan bir şey , artık polinomları (GMRES'in yaptığı) için ayrı normunu en aza indirmemesidir. Bunun yerine bir matrisin neden olduğu normu en aza indirir ve çoğu zaman bu matrisin neden olduğu norm, fiziksel problemlerin takdirleri için enerji normuna çok yakın olur ve çoğu zaman bu, koruma özelliklerinin gelmesi nedeniyle hatayı ölçmek için çok daha makul bir normdur. fizikten.l2

Bir kitle matrisinin Cholesky çarpanlarına ayırma işlemi çok pahalı değilse, GMRES ile de bu tür bir etki elde edebilirsiniz, iç ürünleri istediğiniz enerji iç ürünleri olmaya zorlayabilirsiniz.

O zaman CG'nin GMRES'ten çok farklı bir performans göstermesini beklemesi gereken durumlar o zaman norm denkliğinde ima edilen sabitlerin çok farklı olduğu zamandır. Bu ayrı bir üst sıra spektral-Galerkin yönteminde, örneğin geçerli olabilir gerçekte polinom gradyanlar keskin yakın sınırlar (dolayısıyla düğüm kümelenme) olduğunda GMRES kullanılan standart, aynı olarak tüm serbestlik derecelerini davranır ve böylece norm eşdeğerlik norm arasında sabit ve sürekli ki L 2 kütle matrisi ile verilen bir norm çok büyük olabilir.l2L2


Burada yüksek dereceli bir yöntem ve CG, GMRES ve GMRES + Cholesky hile yakınsama geçmişleri ile bir örnek vermek istedim .. ama ne yazık ki ikinci dereceden sorunlar için elimdeki tek kod simetrik olmayan çeşitlilik DG olduğunu .. yani CG isn uygulanabilir değil, bunu eylemde görmek isterdim.
Reid.Atcheson

3
Bence cevabınız önemli bir şeye kavuşuyor ama keşke açıklığa kavuşturmanızı isterdim. Özellikle, soru saf bir lineer cebir sorusudur ve cevabınız sayısal bir PDE'den fiziksel normlar ve kütle matrisleri vb. Aynı Krylov uzayında farklı normlarda minimizasyonun farklı iteratlara nasıl yol açtığı konusunda kesin bir şey söyleyebilir miyiz?
Andrew T. Barker

Sayısal örneklerin yanı sıra, farklı normların nasıl önemli ölçüde farklı cevaplar verdiğini açıklayan henüz dikkatli bir teorik çalışma olduğunu düşünmüyorum. Sanırım sonuç, sonuçların asimptotik etrafında dönmesi ve sabit bir doğrusal sistem için teorik sonuçların aynı modulo sabit faktörleri olacağıdır. Orada bazı teorik çalışmalar varsa onları görmek isterim, ancak bölümümdeki bazı sayısal lineer cebir uzmanlarına sorduktan sonra, farklı normlarda neler olduğunu gösteren kesin bir teorik analiz olmadığı görülüyor.
Reid.Atcheson

4

Genelde bir SPD matrisi için GMRES ve CG arasında çok fazla fark olmadığını düşünüyorum.

Diyelim biz çözme ki ile bir simetrik pozitif kesin ve başlangıç tahmin x 0 = 0 CG ve GMRES ile üretilmesi yinelendikçe diyoruz X C k ve X g k . Hem iteratif yöntemler binası olacak x k aynı Krylov uzay dan K k = { b , A b , A 2 b , ... } . Bunu biraz farklı şekillerde yapacaklar.Ax=bAx0=0xkcxkgxkKk={b,Ab,A2b,}

CG, A'nın neden olduğu enerji normunda hatasını en aza indirerek karakterize edilir , böylece ( A e c k , e c k ) = ( A ( x - x c k ) , x - x c k ) = min y K ( A ( x - y ) , x -ekc=xxkcA

(Aekc,ekc)=(A(xxkc),xxkc)=minyK(A(xy),xy).

rk=bAxkg2

(rk,rk)=(bAxkg,bAxkg)=minyK(bAy,bAy).
Aek=rk
(rk,rk)=(Aekg,Aekg)=(A2ekg,ekg)
AAA2AA

K1={b}, both CG and GMRES will construct an approximation of the form x1=αb. CG will choose

α=(b,b)(Ab,b)
and GMRES will choose
α=(Ab,b)(A2b,b).
If A is diagonal with entries (ϵ,1,1,1,) and b=(1,1,0,0,0,) then as ϵ0 the first CG step becomes twice as large as the first GMRES step. Probably you can construct A and b so that this factor of two difference continues throughout the iteration, but I doubt it gets any worse than that.

2
Let b=(1,ϵ,0,0,). Then |b|=1+ϵ, bTAb=2ϵ, and bTA2b=ϵ1+ϵ2. Thus αCG=ϵ1+12ϵ1, but αGMRES=21+ϵ22. That is, the initial vector is already of the correct scale for making the residual small, but needs to be scaled by ϵ1 to make the error small.
Jed Brown

3

One thing is that GMRES is never used wherever CG can be applied. I dont think it does make sense to compare these two. For SPD matrices, CG is definitely the winner because of the storage requirements and the reasons you mentioned above. A question that would be interesting is, to find an extension of CG, that is applicable to problems where CG can not be applied. There are methods like BiCG-stab that do not require linearly increasing memory like GMRES, but the convergence is not as good as GMRES (some times even with restarted GMRES).


2
There are the IDR schemes which bridge the gap between GMRES and BiCG in terms of memory savings, stability, and convergence: ta.twi.tudelft.nl/nw/users/gijzen/IDR.html I'm not sure I agree that GMRES shouldn't be used if CG could be. If you can do a cholesky factorization of a matrix which induces your energy norm, then you can feed that into a symmetric Lanczos iteration and obtain a three term recurrence solution that will behave very nearly like CG. Of course, CG is the easier option, but the option is available :)
Reid.Atcheson

2
If you use a Krylov smoother, for instance, then GMRES is likely preferable because it uses a weaker norm that targets larger eigenvalues which tend to be higher frequency.
Jed Brown
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.