Multigrid'in ardındaki ana fikir izdüşümdür. Bunu şöyle düşünmeye çalışıyorum:
Bir PDE'yi çok fazla doğrulukla çözmek istediğimi varsayalım, bu yüzden çok sayıda nokta içeren çok ince bir ızgarada etki alanını (diyelim ki sonlu fark yöntemi kullanarak) ayırmaya devam ediyorum. Sonunda denklem sistemimi kurdum ve çözmeye hazırım. En sevdiğim yinelemeli çözücümü (jacobi, gauss seidel, eşlenik gradyan, vb.) Kullanmaya çalışıyorum. Bir günden fazla beklemeye devam ediyorum ve bilgisayarım hala cevabı hesaplamaya çalışıyor!
Bu yinelemeli yöntemlerin hızlı bir şekilde çalışmamasının nedeni, (tipik olarak) böyle büyük bir denklem sistemi kurduğunuzda, matrisin özdeğerlerinin 1'e çok yakın olmasıdır. Bu neden önemlidir? Birçok yinelemeli yöntemin yakınsama oranı tersine, en büyük özdeğerle ters orantılıdır (bkz. Christian Clason'un Brigg'in Multigrid Eğitim Slaytlarına bağlantısı, bölüm 1, sayfa 27). Yani, en büyük özdeğer 1'e ne kadar yakınsa, yinelemeli yöntem o kadar yavaştır. (Not: Bu, işleri biraz basitleştiriyor, ancak multidrid ihtiyacını motive etmeye yardımcı oluyor).
Açıkçası, daha az bilinmeyen varsa (yani daha az grid noktası olan kaba bir ızgarada) sorunu çözmek her zaman daha hızlıdır. Ancak daha da önemlisi, daha kaba bir ızgara üzerindeki çözüm (veya yaklaşık çözüm), sorunu daha ince bir ızgarada çözmek için iyi bir başlangıç noktasıdır. Bu, çoğu (hepsi değilse de) çoklu-çoklu yöntemlerin arkasındaki anahtar fikirdir. Neden böyle? Sezgisel olarak, mantıklı, ancak bunu doğrulamak için matematiksel olarak titiz bir yol var.
Orijinal ince ızgara sorununa uygulanan yinelemeli bir yöntemde hatanın fourier modlarına bakalım (argümanlar için, jacobi veya gauss seidel diyelim). İlk birkaç yinelemede, yüksek frekanslı (yüksek salınımlı) hataların çoğunun kaldırıldığını görüyoruz! Bu harika, ancak hala kalan ve hızlı bir şekilde geçmeyen düşük frekanslı (daha az salınımlı) bir hata var. Aslında, standart bir yinelemeli yöntemin hızlı bir şekilde yakınsamasını önleyen düşük frekans hatasıdır.
sorunu daha kaba bir ızgarada çözdüğümüzde (diyelim ki, jacobi veya gauss-seidel gibi yinelemeli bir yöntemle), düşük frekans hatalarını ince ızgaradan çok daha hızlı bir şekilde (yani daha az yineleme ile) kaldırabiliriz . Bu nedenle, kaba bir ızgara problemini çözersek, düşük frekans hataları önemli ölçüde azaltılmış bir çözümümüz var. Bu nedenle, ince ızgara üzerinde yinelemeli bir yöntem için bir başlangıç noktası olarak yararlı olacaktır.
Farklı çoklu ızgara yöntemleri olsa da, çoğu aşağıdakilerin bazı varyasyonlarıyla çalışır:
- İnce ızgara problemiyle başlayın
- Kaba bir ızgara üzerine projelendirme ( kısıtlama olarak da bilinir )
- Kaba ızgaradaki yaklaşık çözümü (başka bir çözücü kullanarak)
- Kaba ızgara çözümünü daha ince ızgaraya yansıtın ( uzama olarak da bilinir )
- 4. tahminini kullanarak ilk tahmin olarak, ince ızgara problemini yinelemeli bir yöntemle çözün.
Benim için, multigrid yönteminin en zor kısmı ızgaralar arasındaki çıkıntılardır. @ChristianClason tarafından önerilen Briggs eğiticileri bu konuyu benden daha iyi ele alıyor.