Andere haben bereits die Frage der Vorkonditionierung von sogenannten "monolithischen" Matrizen kommentiert, z. B. die diskretisierte Form einer Skalargleichung wie der Laplace-Gleichung, der Helmholtz-Gleichung oder, wenn Sie sie verallgemeinern wollen, der Vektorwert Elastizitätsgleichung. Für diese Dinge ist es klar, dass Multigrid (entweder algebraisch oder geometrisch) der Gewinner ist, wenn die Gleichung elliptisch ist, und für andere Gleichungen ist es nicht ganz so klar - aber so etwas wie SSOR funktioniert oft ziemlich gut (für irgendeine Bedeutung von "angemessen").
Für mich war die große Offenbarung, was bei nicht monolithischen Problemen zu tun ist, zum Beispiel für den Stokes-Operator
Als ich vor ungefähr 15 Jahren mit der numerischen Analyse begann, hoffte man, dass die gleichen Techniken auf solche Matrizen wie oben angewendet werden könnten, und die Forschungsrichtung bestand darin, entweder direkt Multigrid zu versuchen oder Verallgemeinerungen von SSOR zu verwenden (unter Verwendung von " point smoothers "wie Vanka) und ähnliche Methoden. Aber das ist verblasst, da es nicht sehr gut funktioniert.
( ABTB0) .
Was dies ersetzt hat, war das, was anfänglich als "physikalisch-basierte Vorkonditionierer" und später einfach (und vielleicht genauer) als "Block-Vorkonditionierer" von Silvester und Wathen bezeichnet wurde. Diese basieren oft auf Blockeliminierungen oder Schur-Ergänzungen und die Idee ist, einen Vorkonditionierer so aufzubauen, dass man Vorkonditionierer für einzelne Blöcke wiederverwenden kann, von denen bekannt ist, dass sie gut funktionieren. Im Fall der Stokes-Gleichung verwendet beispielsweise der Silvester / Wathen-Vorkonditionierer die Matrix
( A0BBTEIN- 1B)- 1
bei Verwendung als Vorkonditionierer mit GMRES würde dies zu einer Konvergenz in genau zwei Iterationen führen. Da es dreieckig ist, ist die Inversion auch viel einfacher, aber wir haben immer noch das Problem, was wir mit den diagonalen Blöcken machen sollen, und dort verwendet man Näherungen:
wobei die Tilde bedeutet, die genaue Inverse durch eine Näherung zu ersetzen. Dies ist oft viel einfacher: weil der
A- Block ein elliptischer Operator ist,
~ A - 1( A- 1˜0B( BTEIN- 1B )- 1˜)
EINEIN- 1˜wird auch durch ein Mehrgitter V-Zyklus, beispielsweise angenähert, und es stellt sich heraus , daß hier,
ist gut durch einen ILU einer Masse Matrix approximiert.
( BTEIN- 1B )- 1˜
Diese Idee, mit den einzelnen Blöcken, aus denen die Matrix besteht, zu arbeiten und Vorkonditionierer wiederzuverwenden, hat sich als enorm leistungsfähig erwiesen und unsere heutigen Vorstellungen zur Vorkonditionierung von Gleichungssystemen grundlegend verändert. Dies ist natürlich relevant, da es sich bei den meisten tatsächlichen Problemen tatsächlich um Gleichungssysteme handelt.