, 19 min read
Divergenz der Korrektoriteration: Theorie und Experimente
Original post is here eklausmeier.goip.de/blog/2024/06-17-divergenz-und-korrektoriteration-theorie-und-experimente.
- 1. Das modifizierte Newton-Verfahren und Spezialisierungen
- 2. Die Divergenzsätze von Hughes Hallett
- 3. Die Experimente von Byrne/Hindmarsh/Jackson/Brown
Einer der ganz zentralen Bestandteile eines Programmes, basierend auf Verfahren mit impliziten Stufen, ist die Auflösung der Implizitheit durch ein Iterationsverfahren zur Lösung von Gleichungssystemen. Diese Gleichungssysteme sind i.d.R. nichtlinear. Bei steifen Differentialgleichungen und bei linearen Mehrschrittformeln, als auch bei impliziten Runge-Kutta-Verfahren, ist der Aufwand, der hierfür getrieben wird, enorm und stellt den maßgeblichen Anteil an der Gesamtrechenzeit dar. Man ist jedoch nicht so sehr an der exakten Lösung der zahlreich auftauchenden nichtlinearen Gleichungssysteme interessiert, sondern an der zügigen Integration der Differentialgleichung. Die Gleichungssysteme sind hier nur ein Weg dorthin. Es stellt sich nun heraus, daß das zur Anwendung gelangende Newton-Kantorovich Iterationsverfahren unter gewissen Umständen nicht immer konvergiert. Diese Divergenz bleibt häufig unbemerkt und äußert sich lediglich in größeren globalen Fehlern. Da die Schaltentscheidung im Programm TENDLER, wie auch in anderen Programmen, während der Korrektoriteration gefällt wird, ist diesem Punkte in schaltfähigen Programmen besondere Aufmerksamkeit zu widmen.
Zuerst wird das Newton Iterationsverfahren in Beziehung gesetzt zu bekannten Iterationsverfahren für lineare Gleichungssysteme und umgekehrt. Anschliessend erlauben die Ergebnisse von Hughes Hallett (1984) eine einfache Antwort darauf, ob überhaupt gewisse Modifikationen des Newton Iterationsverfahren konvergieren können. Die Erfahrungen von Byrne/Hindmarsh/Jackson/Brown (1977) zeigen anhand praktischer Beispiele, daß die Korrektoriteration tatsächlich wesentlichen Einfluß auch auf die Genauigkeit des Verfahrens haben und nicht nur auf die Effizienz.
1. Das modifizierte Newton-Verfahren und Spezialisierungen
Hier seien kurz die wichtigsten Iterationsarten zur Lösung linearer Gleichungsysteme angeschrieben. Später, bei einem Erklärungsversuch für auffallende Verhalten der Korrektoriterationen, werden die Untersuchungen wichtig werden. Bei der Erklärung des sehr großen globalen Fehlers bei den beiden Programmen GEAR und EPISODE, bei der Wahl einer Diagonalapproximation der Jacobimatrix, sind die Divergenzsätze von Hughes Hallett (1984) ein möglicher Ansatzpunkt. Eine Charakteristik der Erklärung ist, daß zwischen den beiden möglichen Interpretationen, modifizierten Newton-Verfahren und Iterationsverfahren für lineare Gleichungssysteme, hin und her gewechselt wird.
Das gedämpfte modifizierte Newton-Verfahren lautet
zur Lösung des Nullstellenproblems
Die beiden Begriffe Residuum und Pseudoresiduum werden auch für die
Beträge, bzw. Normen dieser Größen benutzt, also
Die beiden wichtigsten Spezialfälle dieser recht allgemeinen Iterationsklasse sollen jetzt kurz angegeben werden. Die Auffassung als Spezialisierung muß nicht immer vorgenommen werden. In anderem Zusammenhang kann es durchaus günstiger sein, anders vorzugehen.
Es seien allgemein Zerlegungen der invertierbar vorausgesetzten Matrix
Zwei typische Vertreter für Iterationsarten zur Lösung obiger Gleichung sind nun die Jacobi-Überrelaxation (JOR-Verfahren) und die sukzessive Überrelaxation (SOR-Verfahren).
Die erstere der beiden Iterationen findet sich auch unter anderen Benennungen.
Die Iterationsvorschrift für das JOR-Verfahren lautet nun
mit der Iterationsmatrix
Die weitere wichtige Spezialisierung für den Dämpfungs- bzw.
Verstärkungsfaktor
Die Iterationsvorschrift für das SOR-Verfahren lautet
mit der Iterationsmatrix
Die weitere Spezialisierung
Nebenläufig sei erwähnt, daß die obige Form auch diejenige Gestalt hat,
die sich für die Programmierung am besten eignet, wobei man die
Vorkonditionierung mit der Inversen der Diagonalmatrix
Auch noch auf eine andere Art und Weise läßt sich das Gauß-Seidel Iterationsverfahren als modifiziertes Newton-Kantorovich Verfahren interpretieren. Mit der Zerlegung
erhält man
Die Iterationsmatrix
Die letzte Bemerkung gilt selbstverständlich ganz allgemein.
Mit der oben angegebenen Zerlegung
also
Verfahren | ||
---|---|---|
JOR | ||
SOR |
Sowohl das JOR-Verfahren als auch das SOR-Verfahren lassen sich als konvergenzbeschleunigte Verfahren auffassen. In diesen beiden Fällen wird nur die einfachst denkbare Konvergenzbeschleunigung aus zwei Iterierten gewählt, man erhält also lediglich das gewichtete Zweiermitel der beiden letzten Iterierten, somit
Dies ist natürlich nichts anderes als das Verfahren von Euler-Knopp. Euler, Leonhard (1707--1783), Knopp, Konrad Hermann Theodor (1882--1957).
Allgemein arbeitet man mit der unendlichen Block-Dreiecksmatrix
wobei die Matrizen
Man rechnet dann
Diese Art der Konvergenzbeschleunigung hat nun eine Reihe von
Bezeichnungen.
Im folgenden werde der Bezeichnungsweise von Albrecht/Klein (1984)
gefolgt.
Autoren Prof. Dr. Peter Albrecht und Prof. Dr. Marcelo Pinheiro Klein.
Die zuletzt angeführte allgemeine Art der linearen Konvergenzbeschleunigung
heiße
entsprechend
Wenn hier von beschleunigt gesprochen wird, so deutet dies lediglich die Veränderung der Iterationsvorschrift an, nicht jedoch ist damit automatisch gesagt, daß das neue Verfahren auch tatsächlich bei jeder Wahl der Extrapolationsparameter wirklich schneller konvergiert. Dies ist gerade eine der Aufgaben, nicht die einzige, durch geeignete Wahl der Parameter dies zu erzielen. Es ist durchaus zweckmässig und auch sinnvoll auf schnellere Konvergenz zu verzichten, dafür aber ein größeres Konvergenzgebiet zu erzielen und damit für eine wesentlich größere Klasse von Problemen die Garantie zu erhalten, daß das verwendete Iterationsverfahren überhaupt konvergiert. Man vgl. zu diesen Beschreibungen auch den Aufsatz von Varga/Eiermann/Niethammer (1987) und natürlich die entsprechenden Monographien, beispielsweise von Varga (1962) oder Birkhoff/Lynch (1984)](https://www.amazon.com/Numerical-Solution-Elliptic-Problems-Mathematics-6/dp/0898711975). Zu den Autoren: Richard Steven Varga (1928--2022), Michael Eiermann, Wilhelm Niethammer (1933--2023), Garrett Birkhoff (1911--1996), Robert E. Lynch (*1932).
2. Die Divergenzsätze von Hughes Hallett
Es ist nun von Wichtigkeit in Erfahrung zu bringen, unter welchen
Umständen man durch
1. Lemma:
Von generellem Interesse ist das folgende Lemma, welches aber auch bei einem späteren Satz die Schlüsselrolle spielen wird.
2. Lemma: (1) Die
Eines der wesentlichen Ergebnisse von Hughes Hallett ist nun der folgende Satz.
3. Proposition: Für eine beliebige Iterationsmatrix
Der Beweis benutzt das oben angegebene Lemma.
Die Beweisführung konzentriert sich nun darauf zu zeigen, daß die
Eigenwerte von
Beweis: (zum Diagonalextrapolationssatz von Hughes Hallett)
Sei
hat die Koeffizienten
Nach dem Stabilitätskriterium von Liénard/Chipart ist aber
abwechselnde Positivität geeigneter
Es ist nun leicht möglich auf den nichtlinearen Fall zu verallgemeinern.
Benutzt man das Verfahren
Hughes Hallett (1984) zeigt nun ganz analog:
4. Satz: (1) Für die oben angegebene
(2) Dennoch ist es grundsätzlich möglich eine Nichtdiagonalmatrix zu finden, so, daß das Verfahren für einen Startwert, der nahe genug an der gewünschten Lösung liegt, konvergiert.
(3) Weiterhin ist es möglich eine Folge von Matrizen zu bestimmen, derart,
daß das Verfahren für beliebige Funktionen
Der Beweis wird durch eine Linearisierung auf den vorhergehenden Satz zurückgespielt.
Es sind nun diese Ergebnisse mit den Vorbereitungen von oben, die ein zusätzliches Licht auf das Konvergenzversagen des modifizierten Newton-Verfahrens werfen. Dies komplementiert auch die Beobachtungen von Shampine (1980), welcher nicht generelle Konvergenzunmöglichkeiten in Erwägung zog, sondern seine Überlegungen auf den Konvergenztest fokussierte. Lawrence F. Shampine.
Shampine (1980) zitiert als experimentelle
Stütze den Aufsatz von Byrne/Hindmarsh/Jackson/Brown (1977),
in dem deutlich wird, daß das modifizierte Newton-Verfahren in den beiden
Programmen GEAR und EPISODE, bei Verwendung der Richtungsableitung der
Funktion
Regardless of the Jacobian approximation, if the convergence test is reliable, the codes should deliver a good solution to the problem. Of course the efficiency is affected, but the accuracy of the results should not be. … it appears that the convergence test is unreliable, and that the potential unreliability can sometimes be exhibited as the result of a very poor approximate Jacobian.
Hierbei ist zu beachten, daß die Programme meistens maximal dreimal iterieren und damit lediglich drei Tests zur Erkennung von Divergenz durchgeführt werden. In dem Programm SYMPOL, zur Lösung von polynomialen nichtlinearen Gleichungssytemen, beispielsweise, wird bis zu 25-mal iteriert. In dem Programm BRENTM zur Lösung allgemeiner nichtlinearer Gleichungssysteme wird maximal 50-mal iteriert. Das Programm COLNEW iteriert pro Gitter nicht mehr als 40-mal.
3. Die Experimente von Byrne/Hindmarsh/Jackson/Brown
Das an anderer Stelle angegebene zweidimensionale Differentialgleichungsproblem P3 von Byrne/Hindmarsh/Jackson/Brown (1977), welches seinen Ursprung in der chemischen Kinetik hat, wurde nun von Byrne, Hindmarsh, Jackson und Brown mit den verschiedensten Parametereinstellungen der beiden Programme GEAR und EPISODE ausgetestet. Die dabei gewonnenen Erfahrungen und Ergebnisse sind für die weitere Analyse sehr wertvoll. Daher soll dieses Beispiel kurz näher untersucht und interpretiert werden. Die folgenden Daten wurden gemessen bei dem Problem P3.
code | T | nst | nfe | nje | %T | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
E21 | 2.33 | 1.89 | 4428 | 1.8 | 7979 | 859 | 5.2 | 0.0904 | 4 | 0.389 | 17 | |||
" | E22 | 2.37 | 3.70 | 4418 | 1.8 | 7884 | 845 | 5.2 | 0.159 | 7 | 0.384 | 16 | ||
" | E23 | 1.92 | 1120 | 4337 | 1.7 | 7350 | 893 | 4.9 | 0 | 0 | 0.358 | 19 | ||
" | G13 | 2.74 | 2520 | 11681 | 1.1 | 13087 | 1362 | 8.6 | 0 | 0 | 0.638 | 23 | ||
" | G21 | 2.25 | 1.67 | 5619 | 1.6 | 9145 | 751 | 7.5 | 0.0790 | 4 | 0.446 | 20 | ||
" | G22 | 2.30 | 1.44 | 5573 | 1.7 | 9390 | 754 | 7.4 | 0.142 | 6 | 0.458 | 20 | ||
" | G23 | 1.45 | 11400 | 4532 | 1.5 | 6578 | 662 | 6.8 | 0 | 0 | 0.321 | 22 | ||
E21 | 5.18 | 9.22 | 10507 | 1.6 | 16594 | 1263 | 8.3 | 0.133 | 3 | 0.809 | 16 | |||
" | E22 | 5.33 | 22.2 | 10610 | 1.6 | 16903 | 1337 | 7.9 | 0.251 | 5 | 0.824 | 15 | ||
" | E23 | 5.67 | 2190 | 13075 | 1.6 | 21099 | 2715 | 4.8 | 0 | 0 | 1.03 | 18 | ||
" | G21 | 5.75 | 5.32 | 14992 | 1.5 | 22919 | 1579 | 9.5 | 0.166 | 3 | 1.12 | 19 | ||
" | G22 | 5.95 | 4.68 | 14984 | 1.6 | 23229 | 1571 | 9.5 | 0.295 | 5 | 1.13 | 19 | ||
" | G23 | 4.77 | 3360 | 15187 | 1.5 | 22304 | 2129 | 7.1 | 0 | 0 | 1.09 | 23 | ||
E21 | 16.9 | 74.2 | 31282 | 1.3 | 41622 | 2465 | 12.7 | 0.259 | 2 | 2.03 | 12 | |||
" | E22 | 17.1 | 50.3 | 31413 | 1.3 | 41794 | 2532 | 12.4 | 0.476 | 3 | 2.04 | 12 | ||
" | E23 | 18.7 | 4310 | 39078 | 1.4 | 55623 | 6304 | 6.2 | 0 | 0 | 2.71 | 14 | ||
" | G21 | 16.7 | 24.4 | 41058 | 1.4 | 56423 | 3581 | 11.5 | 0.377 | 2 | 2.75 | 16 | ||
" | G22 | 17.4 | 26.8 | 40963 | 1.4 | 56513 | 3613 | 11.3 | 0.679 | 4 | 2.76 | 16 | ||
" | G23 | 14.4 | 3840 | 42199 | 1.4 | 56990 | 4358 | 9.7 | 0 | 0 | 2.78 | 19 |
Dabei bezeichnet mf
an.
Beispielsweise wurde bei E21 das Programm EPISODE mit der
Parametereinstellung mf=21
benutzt.
Der durch beiderseitige Einrahmung hervorgehobene Eintrag
pset
und aller Routinen, die dieses Unterprogramm selbst
aufruft.
Die sich hieran direkt anschließende Spalte
Der Eingabeparameter mf
besteht stets aus zwei Ziffern.
Die erste Ziffer ist immer aus
0: Fixpunktiteration. Es wird keine Jacobimatrix ausgewertet und vom Benutzer muß auch keine Routine hierfür bereitgestellt werden.
1: Modifiziertes Newton Verfahren mit einer vollen Jacobimatrix.
Diese Matrix muß vom Benutzer durch ein separat programmiertes
Unterprogramm dem Programm zur Verfügung gestellt werden.
Ob diese Matrix tatsächlich die passende Jacobimatrix
2: Wie 1, jedoch wird die Jacobimatrix intern durch numerische Differentiation berechnet. Diese Einstellung ist für den Benutzer wesentlich bequemer und einfacher. Bei großen Differentialgleichungen ist diese Einstellung jedoch i.a. nicht so effizient, wie diejenige bei 1.
3: Diagonalapproximation der Jacobimatrix.
Diese Paramter-Einstellung ist sehr speicherplatzökonomisch.
Bei der Diagonalapproximation handelt es sich nicht wirklich um eine
Diagonal_approximation_, sondern es wird lediglich eine
gewichtete Richtungsableitung der Funktion
4: Modifiziertes Newton-Verfahren mit einer vom Benutzer bereitgestellten Bandmatrix. Diese Matrix muß wie bei der Parameter-Einstellung 1 durch ein getrenntes Unterprogramm bereitgestellt werden, und wie bei 1 wird diese Matrix nicht überprüft.
5: Wie 4, nur wird hier die Bandmatrix durch numerische Differentiation ermittelt. Dies ist erneut für den Benutzer die bequemste und einfachste Art die Jacobimatrix zu spezifizieren.
Die Interpretation der oben angegebenen Tabelle ist nun wie folgt.
Durchschnittlich werden von GEAR über alle Parametereinstellungen
betrachtet, durchschnittlich 1.5 Funktionsauswertungen pro Schritt
durchgeführt (Standardabweichung unter 0.2), und für EPISODE ergibt sich
hier der Wert 1.6 (Standardabweichung ebenfalls unter 0.2).
Dies heißt, daß beide Programme zu einem großem Teil im
Der Rechenzeitanteil der Funktionsauswertungen an der Gesamtrechenzeit liegt bei dem Programm GEAR bei durchschnittlich 20% (Standardabweichung unter 3%) und für EPISODE bei durchschnittlich 15% (Standardabweichung ebenso unter 3%). Diese Zahlen sind für ein Mehrschrittverfahren mit variabler Schrittweite und variabler Ordnung nicht ungewöhnlich. Für das Programm TENDLER ergeben sich Zahlen ähnlicher Größenordnung.
Für die Strategien bei der Neuauswertung der Jacobimatrix
Auffällig an den angegebenen Daten in der Tabelle sind nun die
eingerahmten globalen Fehler mf=23
für beide
Programme, also GEAR und sowohl auch EPISODE, ergeben sich deutlich
auffallende, ungewöhnlich große Fehler.
Für die Wahl mf=13
für das Programm GEAR gelten die Bemerkungen analog.
Hierzu bemerken Byrne, Hindmarsh, Jackson und Brown:
mf=23
does not control the error well for this problem for either code.
Im Lichte der oben vorbereiteten Bemerkungen ist dies nicht mehr so überraschend. Es sind diese Gründe, die bewogen ein Iterationsverfahren mit Diagonalapproximation der Jacobimatrix nicht in das Programm TENDLER mit aufzunehmen. Insbesondere wird beim Schalten nicht zwischen modifizierter Newton-Kantorovich Iteration und Newton-Jacobi Iteration hin und her gewechselt, sondern lediglich zwischen modifiziertem Newton-Kantorovich Iteration und Picard Iteration.
Denkbar wäre, die Diagonalelemente von
We propose using simple iteration until the first Jacobian is formed and thereafter using Jacobi-iteration.
Autoren: Lawrence F. Shampine, James M. Ortega (*1932).
Dennoch, die
Es ist der zusätzliche Speicherbedarf und die Unsicherheit des Vorteils, die bewogen keinen Gebrauch der modifizierten Newton-Jacobi Iteration zu machen. Vom Speicherplatz sind zyklische lineare Verfahren einstufigen linearen Verfahren in linearen Termen der Dimension der Differentialgleichung _unterlegen:, da ja für jede Stufe eine geeignete Differenzentabelle bereit gehalten werden muß. Beispielsweise beträgt der lineare Anteil des Speichers für die drei Programme LSODA, STINT und TENDLER:
TENDLER | STINT | LSODA |
---|---|---|
Angeführt ist hier jeweils der Speicherplatzbedarf, falls die
Höchstordnung auf 5 begrenzt wird.
Dies liegt daran, daß die Programme LSODE, LSODA und LSODAR im steifen Modus
maximal die BDF5 verwenden können.
Die BDF6 wird aufgrund ihres kleinen Widlund-Winkels nicht in diesen
Programmen benutzt.
Die BDF