Masalah di mana gradien konjugasi bekerja jauh lebih baik daripada GMRES

17

Saya tertarik pada kasus di mana konjugasi gradien bekerja jauh lebih baik daripada metode GMRES.

Secara umum, CG adalah pilihan yang lebih disukai dalam banyak kasus SPD (symmetric-positive-definite) karena memerlukan lebih sedikit penyimpanan dan ikatan teoritis pada tingkat konvergensi untuk CG dua kali lipat dari GMRES itu. Apakah ada masalah di mana angka tersebut benar-benar diamati? Apakah ada karakterisasi kasus di mana GMRES berkinerja lebih baik atau sebanding dengan CG untuk jumlah spmv yang sama (multiplikasi matriks-vektor jarang).

piyush_sao
sumber

Jawaban:

8

Satu hal yang CG memiliki yang mendukung adalah bahwa hal itu tidak meminimalkan diskrit norma untuk polinomial sisa nya (apa GMRES tidak). Ini meminimalkan norma yang diinduksi matriks, dan sangat sering norma yang diinduksi matriks ini berakhir sangat dekat dengan norma energi untuk diskritisasi masalah fisik, dan seringkali ini adalah norma yang jauh lebih masuk akal untuk mengukur kesalahan karena sifat konservasi yang datang dari fisika.l2

Anda benar-benar dapat mencapai efek semacam ini dengan GMRES juga jika melakukan faktorisasi Cholesky dari matriks massa tidak terlalu mahal, Anda dapat memaksa produk dalam menjadi produk energi dalam yang Anda inginkan.

Maka kasus-kasus di mana seseorang harus mengharapkan CG untuk melakukan sangat berbeda dari GMRES kemudian adalah ketika konstanta yang tersirat dalam kesetaraan norma sangat berbeda. Ini bisa benar misalnya dalam metode spektral-Galerkin orde tinggi di mana diskritl2 norma yang digunakan dalam GMRES memperlakukan semua derajat kebebasan sebagai sama, walaupun pada kenyataannya gradien polinomial yang paling tajam di dekat batas (maka node clustering), sehingga konstanta kesetaraan norma antara norma itu dan mengatakannorma kontinu yangL2diberikan oleh matriks massa bisa sangat besar.

Reid.Atcheson
sumber
Ingin memberi contoh di sini dengan metode orde tinggi dan sejarah konvergensi CG, GMRES, dan GMRES + Trik Cholesky .. tapi sayangnya satu-satunya kode yang saya miliki untuk masalah urutan kedua adalah DG dari variasi nonsimetri .. jadi CG tidak tidak berlaku, akan senang melihat ini beraksi.
Reid.Atcheson
3
Saya pikir jawaban Anda mendapatkan sesuatu yang penting tetapi saya harap Anda akan menjelaskan. Secara khusus, pertanyaannya adalah pertanyaan aljabar linier murni, dan jawaban Anda berbicara tentang norma fisik dan matriks massa dan seterusnya dari PDE numerik. Bisakah kita mengatakan sesuatu yang tepat tentang bagaimana meminimalkan norma yang berbeda di dalam ruang Krylov yang sama mengarah pada iterasi yang berbeda?
Andrew T. Barker
Selain dari contoh-contoh numerik, saya kira belum ada studi teoritis yang menjelaskan bagaimana norma yang berbeda menghasilkan jawaban yang secara substansial berbeda. Masalahnya saya pikir adalah bahwa hasil berputar di sekitar asimptotik, dan untuk sistem linear tetap, hasil teoritis akan menjadi faktor konstan modulo identik. Jika ada beberapa studi teoritis di luar sana, saya akan senang melihatnya, tetapi setelah bertanya kepada beberapa ahli aljabar linear numerik di departemen saya, sepertinya belum ada analisis teoritis yang tepat yang menunjukkan apa yang terjadi dengan norma yang berbeda.
Reid.Atcheson
4

Saya menduga secara umum tidak ada banyak perbedaan antara GMRES dan CG untuk matriks SPD.

Katakanlah kita sedang memecahkan dengan A pasti positif simetris dan tebakan awal x 0 = 0 dan menghasilkan iterasi dengan CG dan GMRES, sebut mereka x c k dan x g k . Kedua metode iterasi akan membangun x k dari yang sama Krylov ruang K k = { b , A b , A 2 b , ... } . Mereka akan melakukannya dengan cara yang sedikit berbeda.Ax=bAx0=0xkcxkgxkKk={b,Ab,A2b,}

CG ditandai dengan meminimalkan kesalahan di norma energi yang disebabkan oleh A , sehingga ( 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).

GMRES meminimalkan bukannya sisa , dan melakukannya dalam diskrit 2 norma, sehingga ( r k , r k ) = ( b - Sebuah x g k , b - Sebuah x g k ) = min y K ( b - A y , b - A y ) .rk=bAxkg2

(rk,rk)=(bAxkg,bAxkg)=minyK(bAy,bAy).
Sekarang menggunakan kesalahan persamaan kita bisa GMRES juga menulis meminimalkan ( r k , r k ) = ( A e g k , A e g k ) = ( A 2 e g k , e g k ) di mana saya ingin menekankan bahwa ini hanya berlaku untuk sebuah SPD matriks A . Kemudian kami memiliki CG meminimalkan kesalahan sehubungan dengan AAek=rk
(rk,rk)=(Aekg,Aekg)=(A2ekg,ekg)
AAnorma dan GMRES meminimalkan kesalahan sehubungan dengan norma. Jika kita ingin mereka berperilaku sangat berbeda, secara intuitif kita akan membutuhkan nilai A sehingga kedua norma ini sangat berbeda. Tetapi untuk SPD A norma-norma ini akan berperilaku sangat mirip.A2AA

Untuk mendapatkan lebih spesifik, dalam iterasi pertama dengan ruang Krylov , baik CG dan GMRES akan membangun perkiraan bentuk x 1 = α b . CG akan memilih α = ( b , b )K1={b}x1=αb

α=(b,b)(Ab,b)
α=(Ab,b)(A2b,b).
A(ϵ,1,1,1,)b=(1,1,0,0,0,)ϵ0Ab sehingga faktor dua perbedaan ini terus berlanjut sepanjang iterasi, tapi saya ragu itu menjadi lebih buruk dari itu.
Andrew T. Barker
sumber
2
b=(1,ϵ,0,0,)|b|=1+ϵbTSEBUAHb=2εbTSEBUAH2b=ε1+ε2αCG=ε-1+12ε-1αGMRES=21+ε22ε-1
3

Satu hal adalah bahwa GMRES tidak pernah digunakan di mana pun CG dapat diterapkan. Saya rasa tidak masuk akal untuk membandingkan keduanya. Untuk matriks SPD, CG jelas merupakan pemenang karena persyaratan penyimpanan dan alasan yang Anda sebutkan di atas. Sebuah pertanyaan yang akan menarik adalah, untuk menemukan perpanjangan dari CG, yang berlaku untuk masalah di mana CG tidak dapat diterapkan. Ada metode seperti BiCG-stab yang tidak memerlukan peningkatan memori linear seperti GMRES, tetapi konvergensi tidak sebagus GMRES (beberapa kali bahkan dengan restart GMRES).

pengguna1964178
sumber
2
Ada skema IDR yang menjembatani kesenjangan antara GMRES dan BiCG dalam hal penghematan memori, stabilitas, dan konvergensi: ta.twi.tudelft.nl/nw/users/gijzen/IDR.html Saya tidak yakin saya setuju bahwa GMRES tidak boleh digunakan jika CG bisa. Jika Anda dapat melakukan faktorisasi cholesky dari matriks yang menginduksi norma energi Anda, maka Anda dapat memasukkannya ke dalam iterasi Lanczos simetris dan mendapatkan solusi perulangan tiga jangka yang akan berperilaku sangat mirip dengan CG. Tentu saja, CG adalah pilihan yang lebih mudah, tetapi pilihan itu tersedia :)
Reid.Atcheson
2
Jika Anda menggunakan Krylov yang lebih halus, misalnya, maka GMRES kemungkinan lebih disukai karena menggunakan norma yang lebih lemah yang menargetkan nilai eigen yang lebih besar yang cenderung frekuensinya lebih tinggi.
Jed Brown