Belirli bir sorun için iyi ön koşullandırma yöntemleri ararken hangi yönergeleri kullanmalıyım?


19

Yinelemeli yöntemler kullanarak büyük lineer sistem çözümü için, genellikle ön koşullandırma uygulamak, örneğin M - 1'i çözmek ( A x = b ) , burada M burada sistemin sol ön koşullandırması için kullanılır. Tipik olarak, M - 1A - 1'e sahip olmalıyız ve orijinal sistemin çözümüne kıyasla (yani M = A olduğunda) (çok daha fazla) verimli çözüm veya hesaplama kaynaklarında (örn. Bellek depolama alanı) azalma sağlamalıdır.Ax=bM1(Ax=b)MM1A1M=A). Ancak, ön koşullandırıcıyı seçmek için hangi yönergeleri kullanmalıyız? Uygulayıcılar kendi özel problemleri için bunu nasıl yapıyorlar?


1
Belirli bir denklem sınıfı için bile, bu çok uzun ve ayrıntılı bir cevap gerektirir ...
Jack Poulson

Önkoşulların nasıl seçilebileceğine ilişkin sezgisel stratejiler önermek mümkün olmalıdır. Örneğin, bir sorun göz önüne alındığında, uygulayıcılar pratikte iyi bir ön koşul bulmaya çalışmak için ne yaparlar? Sadece diyagonal ? veya? bir
Allan P. Engsig-Karup

4
@MattKnepley kanalına gideceğim ve uygun eylemin literatür taraması yapmak olduğunu söyleyeceğim. Bu başarısız olursa, oldukça büyük bir sorun üzerinde kolayca mevcut tüm seçenekleri deneyin. Bu başarısız olursa, fizik hakkında derinlemesine düşünün ve soruna ucuza nasıl bir çözüm bulabileceğinizi ve bunu önkoşul olarak kullanın.
Jack Poulson

@JackPoulson: Bu soru hangi seyrek doğrusal sistem çözücüsüne benzer bir damarda olduğu için? ve ölçeklenebilir bir lineer çözücü nasıl seçilir , bana konu hakkında (geniş olmasına rağmen) görünüyor. Yorumunuz temel olarak bir cevap olduğu için, lütfen cevaba çevirebilir misiniz?
Geoff Oxberry

Bu soruya bir ödül kazandım, ancak bu damarda belirli bir sorun sınıfıyla daha iyi pozlanmış veya sınırlı olabilecek daha fazla soru görmekle ilgileniyorum.
Aron Ahmadia

Yanıtlar:


17

Başlangıçta bir cevap vermek istemedim çünkü bu çok uzun bir tedaviyi hak ediyor ve umarım başka biri hala verecektir. Ancak, kesinlikle önerilen yaklaşıma çok kısa bir genel bakış sunabilirim:

  1. Kapsamlı bir literatür taraması yapın .
  2. Bu başarısız olursa, ellerinizi alabileceğiniz mantıklı her önkoşul deneyin. MATLAB, PETSc ve Trilinos bunun için güzel ortamlar.
  3. Bu başarısız olursa, probleminizin fiziğini dikkatlice düşünmeli ve belki de probleminizin biraz değiştirilmiş bir versiyonuna bile ucuz yaklaşık bir çözüm bulmanın mümkün olup olmadığını görmelisiniz.

3'ün örnekleri Helmholtz'un kaydırılmış Laplacian versiyonları ve Jinchao Xu'nun Laplacians ile biharmonik operatörün ön koşullandırılmasıyla ilgili son çalışmalarıdır.


Teşekkürler! Bu yorumun geri kalanı minimum karakter sınırını karşılar.
Geoff Oxberry

14

Diğerleri zaten "monolitik" matrisler olarak adlandıracağım ön koşullandırma konusunu, örneğin Laplace denklemi, Helmholtz denklemi veya genelleştirmek isterseniz vektör değerli esneklik denklemi. Bu şeyler için, denklem eliptik ise multigridin (cebirsel veya geometrik) kazanan olduğu açıktır ve diğer denklemler için o kadar açık değildir - ancak SSOR gibi bir şey genellikle makul bir şekilde iyi çalışır ( "makul").

Benim için büyük vahiy, örneğin Stokes operatörü için monolitik olmayan problemler hakkında ne yapılması gerektiğidir . 15 yıl önce sayısal analizle başladığımda, insanların yukarıdaki gibi aynı matrislere aynı tekniklerin uygulanabileceği umudunu taşıdım ve araştırmanın yönü ya doğrudan çoklu-enerjiyi denemek ya da SSOR ( nokta düzleştirici "Vanka gibi) ve benzer yöntemler. Ama bu çok iyi çalışmadığı için solmuş.

(birBBT0).

Bunun yerini almaya başlayan şey, başlangıçta "fizik tabanlı önkoşullayıcılar" ve daha sonra Silvester ve Wathen gibi basitçe (ve belki de daha doğrusu) "blok önkoşullayıcıları" olarak adlandırılan şeydi. Bunlar genellikle blok elemelerine veya Schur tamamlayıcılarına dayanır ve fikir, iyi çalıştığı bilinen bireysel bloklar için önkoşulları yeniden kullanabileceği şekilde bir ön koşullandırıcı oluşturmaktır. Stokes denklemi söz konusu olduğunda, örneğin Silvester / Wathen önkoşulu matrisi kullanır

(birB0BTbir-1B)-1
GMRES ile ön koşul olarak kullanıldığında, tam olarak iki yinelemede yakınsama ile sonuçlanacaktır. Üçgen olduğu için, ters çevirme de çok daha basittir, ancak hala çapraz bloklarla ne yapacağımız sorunu var ve orada yaklaşımlar kullanılıyor: tilde, tam tersi yaklaşık olarak değiştirmek anlamına gelir. Bu genellikle çok daha basittir: çünküAbloğu eliptik bir operatördür,~A-1
(bir-1~B0(BTbir-1B)-1~)
birbir-1~örneğin, hastanın bir çoklu ağ V döngüsü ile yaklaşık ve burada çıkıyor olduğu, de bir kütle matrisi bir Ilu yaklaşılır.(BTbir-1B)-1~

Matrisi oluşturan bireysel bloklarla çalışma ve önkoşulları tek tek üzerinde kullanma fikrinin muazzam derecede güçlü olduğu kanıtlandı ve bugün denklem sistemlerinin önkoşullama düşüncesini tamamen değiştirdi. Tabii ki bu önemlidir, çünkü gerçek problemlerin çoğu aslında denklem sistemleridir.


1
Adamım, evet, ödülün olmasını istedim! ;-)
Wolfgang Bangerth

İkinci paragrafınızda: "Ama çok iyi çalışmadığı için bu solmuş." Neden çok iyi çalışmadığı hakkında biraz sezgi verebilir misiniz? Çalışabileceği koşullar var mı?
Andrew T. Barker

Tüm sistemlere uygulanan doğrudan çoklu-kaynağın bu kadar başarılı olmasının nedeni, daha pürüzsüz olanın denklemin yapısal özelliklerini koruması gerektiğidir ve bu elde edilmesi önemsizdir. Örneğin, Stokes denklemlerine multigrid uygulamak istiyorsanız, ıraksamayan bir vektör verildiğinde size bir ıraksamayan vektör veren daha yumuşak olması gerekir. Stokes için böyle pürüzsüzleştiriciler var, ancak inşa etmek önemsizdir ve genellikle daha pürüzsüz / çözücü olarak kaliteden uzaklaşır. Daha egneral vakalarda özellikleri korumak çok daha zor hale gelir.
Wolfgang Bangerth

Jacobi / SSOR / etc gibi şeylerin sistemlere genelleştirilmesine gelince: bu yöntemlerin çoğu matrisin köşegen girişlerinin sıfırdan farklı olmasını gerektirir. Stokes için durum böyle değil. Bu nedenle bir sonraki en basit yöntem, tek tek matris satırlarına değil , satır bloklarına , örneğin, tek bir tepe noktasıyla ilişkili DoF'ler için tüm satırlara bakmaktır . Bunlar "nokta yumuşatıcılar" olarak adlandırılır (tepe noktasında olduğu gibi) ve bir dereceye kadar çalışırlar, ancak sorunlar büyüdükçe Jacobi / SSOR ile aynı performans düşüşünden muzdarip olurlar. multigrid gibi.
Wolfgang Bangerth

Multigrid, Helmholtz'u çözmede ünlü değildir, çünkü çoğunlukla düşük enerjili salınım modlarının düzeltilmesi veya kaba bir alanda temsil edilmesi zordur. Dalga ışını multigrid üzerinde bazı çalışmalar olmuştur, ancak formülasyon çok tekniktir ve bu noktada olgun bir metodoloji değildir. Simetrik olmayan sistemlerin de bu tür bir blok ayrışımı kullanılarak çözülebileceğini unutmayın. Değişkenlerin seçimine bağlı olarak (örn. İlkel ve muhafazakar), engellenen yapıyı ortaya çıkarmak için ön koşullandırıcının içinde bir temel değişiklik gerekebilir.
Jed Brown

13

Jack, bir önkoşul bulmak için iyi bir prosedür uyguladı. Bir adresi "İyi bir önkoşul yapan nedir?" Sorusunu deneyeceğim. Operasyonel tanım:

Bir Önkoşullayıcı M, yinelemeli çözümünü hızlandırır vebirx=bM-1bir-1

ancak bu bize önkoşul tasarlama konusunda bir fikir vermiyor. Çoğu önkoşul, operatör spektrumunun manipülasyonuna dayanır. Genel olarak, Krylov yöntemleri özdeğerler kümelendiğinde daha hızlı birleşir, bkz. Matris Yinelemeleri veya Meromorfik Fonksiyonlar ve Doğrusal Cebir . Bazen ön koşullu sonuçların sadece birkaç benzersiz özdeğer olduğunu kanıtlayabiliriz, örneğin Belirsiz Doğrusal Sistemler için Ön Koşullandırma Hakkında Bir Not .

Ortak bir strateji Multigrid tarafından örneklendirilir. SOR gibi gevşeme önkoşulları (burada düzleştiriciler) hatadaki yüksek frekanslı bileşenleri kaldırır. Kalıntı kaba bir ızgaraya yansıtıldığında, düşük frekans hata bileşenleri daha yüksek frekans haline gelir ve tekrar SOR tarafından saldırıya uğrayabilir. Bu temel strateji, MG'nin AMG gibi daha karmaşık sürümlerinin temelini oluşturmaktadır. Çözücünün altta hatadaki en düşük frekansları doğru bir şekilde çözmesi gerektiğini unutmayın.

Başka bir strateji, denklemi Krylov'un çözdüğü şey olan küçük alt uzaylarda çözmeyi içerir. En basit biçimde, bu Kaczmarz yöntemi veya Katkı Schwarz Yöntemi'dir . Buradaki teorinin gelişmiş türü olan Domain Decomposition , alan adlarının oldukça doğru bir şekilde çözüldüğü varsayıldığı için arayüzdeki hatanın spektral yaklaşımına odaklanmaktadır.

bir


Cevabın için teşekkürler. Uzakta biz aslında gitmelidir etmeyle ilgili herhangi bir deneyim bir prova yapmak olduğunu önkoşullanma büyük sistemler için çalışmalar - ve muhtemelen bu nasıl kutu veya pratikte yapılmalıdır. Deneyimlerime göre, birçok sistem için sezgiye, sezgisel
taramalara

Bence sezgi çok ileri gidiyor. Uygulamada gördüğüm basit bir sistemin kanıtı. Ardından, bazı değişikliklerin bir parametreye veya belirli bir çeşitlemeye duyarsız olması gerektiği argümanı. Daha sonra bu varyasyon modelinin dışında bile çalıştığını gösteren sayısal deneyler.
Matt Knepley
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.