Homotopieverfahren

Aus testwiki
Version vom 20. Dezember 2024, 18:26 Uhr von imported>FlMcc (growthexperiments-addlink-summary-summary:2|0|0)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Homotopie-Verfahren (auch als Homotopiemethode, Fortsetzungs- oder Einbettungsverfahren bezeichnet) sind Berechnungsmethoden in der numerischen Mathematik zur Bestimmung von Lösungen nichtlinearer Gleichungssysteme. Ziel ist es dabei den Konvergenzbereich eines Verfahrens zur Lösung nichtlinearer Gleichungssysteme (wie zum Beispiel des Newtonverfahrens) zu vergrößern.

Vorbetrachtung

Eine Lösung eines nichtlinearen Gleichungssystems F(x)=0 ist ein Punkt xn, der in der Regel n nichtlinearen Bedingungen F1(x)=F2(x)==Fn(x)=0 genügt, die zu einer vektorwertigen nichtlinearen Funktion (Abbildung) F:nn zusammengefasst werden. Bei vielen Anwendungen enthält die Funktion F Problemparameter, etwa t, welche verschiedene Werte annehmen können. Ein bekanntes Beispiel ist das reale Pendel, dessen Schwingungsdauer nichtlinear von der reduzierten Pendellänge abhängt. In diesem Fall lautet das Gleichungssystem korrekter F(x,t)=0, und auch die Lösung x hängt vom Parameter t ab und bildet daher eine Lösungskurve x:[0,1]n mit

F(x(t),t)=0 für alle t[0,1]

Als möglicher Bereich des Parameters t wurde dabei ohne Beschränkung der Allgemeinheit das Intervall [0,1] gewählt. Die Existenz einer glatten Kurve folgt unter geeigneten Voraussetzungen aus dem Satz über implizite Funktionen. Homotopie-Verfahren sind numerische Verfahren, die solche implizit definierten Kurven verfolgen.

Homotopie für nichtlineare Gleichungssysteme

Eine prinzipielle Schwierigkeit beim Einsatz des Newton-Verfahrens ist die Bestimmung einer Start-Näherung, die nahe genug an der Lösung x^ liegen muss, um Konvergenz zu erreichen. Dieses Problem kann man durch Einbettung in eine Homotopie und die Verfolgung der Lösungskurve umgehen. Es sei jetzt G(x)=0, xn das zu lösende nichtlineare Gleichungssystem mit Lösung x^. Dann kann man etwa durch

F(x,t)=0,F(x,t):=G(x)(1t)G(y),t[0,1],

mit einem festen yn ein Hilfsproblem definieren, dessen Lösung man an der Stelle t=0 kennt: 0=!F(x,0)=G(x)G(y) ergibt offensichtlich x(0)=y. Andererseits ist die mit G gesuchte Lösung gerade die an der Stelle t=1: 0=!F(x,1)=G(x), also x^=x(1). Mit den im folgenden Abschnitt beschriebenen Verfahren kann nun die Kurve x(t) von der bekannten Lösung in t=0 zur gesuchten in t=1 verfolgt werden.

Numerische Kurvenverfolgung

Das schon erwähnte Newton-Verfahren konvergiert sehr schnell (quadratisch), aber nur lokal bei genügend genauer Startnäherung. Dies wird bei der Kurvenverfolgung ausgenutzt, dass der Parameter t in kleinen Schritten vergrößert wird, etwa von 0tm1 auf tm=tm1+hm. Dann ist die alte Lösung x(tm1) für eine kleine Schrittweite hm eine gute Startnäherung für das Problem F(x(tm),tm)=0:

Trivialer Prädiktor
x0(tm):=x(tm1),
Korrektoriteration
DxF(xk(tm),tm)vk=F(xk(tm),tm),xk+1(tm)=xk(tm)+vk,}k=0,1,.

Dabei ist DxF eine Kurzschreibweise für die quadratische Jacobi-Matrix der partiellen Ableitungen nach den Variablen x1,,xn.

Sie bildet die Matrix des linearen Gleichungssystems, das in jedem Newtonschritt für die Korrekturen sk zu lösen ist. Eine Skizze dieses Vorgehens zeigt das erste Diagramm. Newtonschritt mit trivialem Prädiktor

Das zweite Diagramm verdeutlicht, dass man eine bessere Startnäherung erhält, wenn man vom Punkt x(tm1) aus in Richtung der Kurventangente geht. Die Tangente kann mit Hilfe der Kettenregel bestimmt werden. Denn da die Funktion F(x(t),t) identisch verschwindet, tut dies auch ihre Ableitung,

0ddtF(x(t),t)=DxF(x(t),t)x(t)+DtF(x(t),t).

Im Punkt tm1 kann also die Tangentenrichtung zm1:=x(tm1) aus einem linearen Gleichungssystem bestimmt werden. Dieses Verfahren lautet folgendermaßen:

Tangentialer Prädiktor
DxF(x(tm1),tm1)zm1=DtF(x(tm1),tm1),x0(tm)=x(tm1)+hmzm1,}
Korrektoriteration
DxF(xk(tm),tm)vk=F(xk(tm),tm),xk+1(tm)=xk(tm)+vk,}k=0,1,.

Gegenüber dem einfachen Verfahren wurde nur die erste Gleichung ersetzt.

Newtonschritt mit Tangential-Prädiktor

Das Diagramm zeigt, dass der Startfehler, den die (grün gezeichneten) Newtonschritte überbrücken müssen, in der Regel wesentlich kleiner als beim trivialen Prädiktor ist, bei einer glatten Kurve in der Größenordnung O(hm2). Diese Verbesserung erfordert sogar nur einen unwesentlichen Zusatzaufwand, denn die Matrix DxF(x(tm1),tm1) entspricht der aus dem Newtonschritt. Man kann daher die letzte LR-Zerlegung aus dem Newton-Verfahren für x(tm1) zur Berechnung der Tangente zm1 wiederverwenden.

Bei der praktischen Durchführung versucht man, die Konvergenz des Newton-Verfahrens durch Schrittweitensteuerung sicherzustellen. Dazu wählt man die Schrittweite hm so, dass die Kontraktion in den beiden ersten Newton-Schritten genügend klein ist, insbesondere kleiner eins. Wenn sich das gewählte hm nachträglich als zu groß herausstellt und das Newton-Verfahren schlecht oder gar nicht konvergiert, wiederholt man den Schritt tm1tm=tm1+hm1 mit einem kleineren hm.

Verfolgung allgemeiner Kurven

Die beschriebenen Verfahren arbeiten nur dann problemlos, wenn die Funktion F genügend oft differenzierbar ist und die Jacobi-Matrix DxF überall regulär ist. Gilt letzteres nicht mehr, können Umkehrpunkte und Verzweigungspunkte der Kurve auftreten.

Nach Umkehrpunkten verläuft die Kurve „rückwärts“, in Verzweigungspunkten spaltet sie sich auf. In beiden Fällen ist daher eine (eindeutige) Parametrisierung nach der Variable t nicht mehr möglich. Daher betrachtet man t einfach als (n+1)-te Komponente der Unbekannten bei y=(x1,,xn,t)T und parametrisiert die Kurve nach ihrer Bogenlänge s. Dann sucht man alle Lösungen

y(s):F(y(s))=0, wobei F:n+1n

ist. Dieses Gleichungssystem ist unterbestimmt und hat unendlich viele Lösungen, die unter geeigneten Voraussetzungen eine glatte Lösungskurve y(s) bilden.

Wie zuvor folgt aus der Kettenregel F(y(s))y(s)0, dass die Tangentenrichtung y(s) das homogene Gleichungssystem mit der vollen Jacobimatrix F=F/yn×(n+1) erfüllt, also im Kern dieser Matrix liegt. Damit kann also wieder ein Prädiktor berechnet werden. Auch das Newton-Verfahren ist durchführbar, indem man eine Richtung wählt, die orthogonal zur Kurventangente, also zum Kern von F(y) liegt. Diese Richtung wird automatisch durch die Moore-Penrose-Pseudoinverse von F berechnet. Bei diesem Verfahren wird eine Approximation an die Bogenlänge s schrittweise vergrößert:

Allgemeiner Prädiktor-Korrektor-Schritt
F(y(sm1))zm1=0, zm12=1,sm:=sm1+hm,y0(sm):=y(sm1)+hmzm1;yk+1(sm):=yk(sm)(F(yk(sm)))+F(yk(sm)), k=0,1,.

Die Bezeichnung ()+ bezeichnet dabei die erwähnte Pseudoinverse.

Tangential-Prädiktor und Newtonschritt bei Kurve mit Umkehrpunkten

Das dritte Diagramm skizziert dieses Vorgehen, der (grün gezeichnete) Newtonschritt verläuft ungefähr orthogonal zur Kurve und hat daher auch im Umkehrpunkt (vertikaler Verlauf der Kurve) keine Schwierigkeiten.

Bemerkungen:
  • Durch die erste Bedingung ist noch nicht die Richtung der Tangente ±zm1 festgelegt. Man wählt das Vorzeichen natürlich so, dass das Innenprodukt zm1Tzm2>0 ist, um in einer Richtung vorzugehen.
  • Die beiden Teilschritte können mit der QR-Zerlegung der transponierten Matrix (F(y))T=QR effizient ausgeführt werden. Die Tangentenrichtung erhält man mit einem beliebigen Vektor u=0 durch Normierung von (EQQT)u, wenn der letzte Ausdruck ungleich null ist.
  • Die Newton-Korrektur vk=yk+1(sm)yk(sm) berechnet man über vk=Qv~k, wobei der Vektor v~kn das quadratische Dreiecksystem RTv~k=F(yk(sm)) löst.

Literatur

  • Werner C. Rheinboldt: Numerical Analysis of Parametrized Nonlinear Equations. John Wiley and Sons, New York 1986, ISBN 0-471-88814-1. (siehe auch das FORTRAN-Modul PITCON als Teil der netlib.org-Bibliothek contin)
  • P. Deuflhard, A. Hohmann: Numerische Mathematik. de Gruyter, 1991, ISBN 3-11-012917-5.
  • E. L. Allgower, K. Georg: Introduction to numerical continuation methods. SIAM Philadelphia, 2003, ISBN 0-89871-544-X.
  • Vorlage:Literatur
  • M. Hermann: Numerische Mathematik, Band 1: Algebraische Probleme. 4., überarbeitete und erweiterte Auflage. Walter de Gruyter Verlag, Berlin und Boston 2020. ISBN 978-3-11-065665-7.