Homotopieverfahren

Homotopieverfahren

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 nichtlineare Gleichungssysteme (wie zum Beispiel des Newtonverfahren) zu vergrößern.

Inhaltsverzeichnis

Vorbetrachtung

Eine Lösung eines nichtlinearen Gleichungssystems F(x) = 0 ist ein Punkt x\in\R^n, der in der Regel n nichtlinearen Bedingungen F_1(x)=F_2(x)=\cdots=F_n(x)=0 genügt, die zu einer vektorwertigen nichtlinearen Funktion (Abbildung) F:\,\R^n\to\R^n zusammengefasst werden. Bei vielen Anwendungen enthält die Funktion F Problemparameter, etwa t\in\R, 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(t):\quad F\big(x(t),t)=0,\quad t\in[0,1].

Als möglicher Bereich des Parameters t wurde dabei 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 \hat 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,\ x\in\R^n das zu lösende nichtlineare Gleichungssystem mit Lösung \hat x. Dann kann man etwa durch

F(x,t)=0,\quad F(x,t):=G(x)-(1-t)G(y),\quad t\in[0,1],

mit einem festen y\in\R^n ein Hilfsproblem definieren, dessen Lösung man an der Stelle t = 0 kennt: 0\stackrel!=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\stackrel!=F(x,1)=G(x), also \hat 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 0\le t_{m-1} auf t_m=t_{m-1}+h_m\,. Dann ist die alte Lösung x(tm − 1) für eine kleine Schrittweite hm eine gute Startnäherung für das Problem F(x(tm),tm) = 0:

Trivialer Prädiktor
\,\! x_0(t_m):=x(t_{m-1}),
Korrektoriteration
 
  \left.\begin{array}{rl} 
     D_x F(x_k(t_m),t_m) v_k=&-F(x_k(t_m),t_m),\\[0.3em] 
     x_{k+1}(t_m)=&x_k(t_m)+v_k,
  \end{array}\right\} k=0,1,\ldots.

Dabei ist \,\! D_x F eine Kurzschreibweise für die quadratische Jacobi-Matrix der partiellen Ableitungen nach den Variablen x_1,\ldots,x_n.

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(tm − 1) 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,

 0\equiv \frac{d}{dt}F(x(t),t)=D_x F(x(t),t)x'(t)+D_t F(x(t),t).

Im Punkt tm − 1 kann also die Tangentenrichtung zm − 1: = x'(tm − 1) aus einem linearen Gleichungssystem bestimmt werden. Dieses Verfahren lautet folgendermaßen:

Tangentialer Prädiktor

  \left.\begin{array}{rl}
    D_x F\big(x(t_{m-1}),t_{m-1}\big)z_{m-1} =& -D_t F\big(x(t_{m-1}),t_{m-1}\big),\\[0.3em]
    x_0(t_m) =& x(t_{m-1})+h_m z_{m-1},
  \end{array}\right\}
Korrektoriteration
 
  \left.\begin{array}{rl} 
    D_x F(x_k(t_m),t_m) v_k =& -F(x_k(t_m),t_m),\\
    x_{k+1}(t_m) =& x_k(t_m)+v_k,
  \end{array}\right\} k=0,1,\ldots.

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(h_m^2). Diese Verbesserung erfordert sogar nur einen unwesentlichen Zusatzaufwand, denn die Matrix D_x F\big(x(t_{m-1}),t_{m-1}\big) entspricht der aus dem Newtonschritt. Man kann daher die letzte LR-Zerlegung aus dem Newton-Verfahren für x(tm − 1) zur Berechnung der Tangente zm − 1 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 (Mathematik) 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 t_{m-1}\to t_m=t_{m-1}+h_{m-1} 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=(x_1,\ldots,x_n,t)^T und parametrisiert die Kurve nach ihrer Bogenlänge s. Dann sucht man alle Lösungen

 y(s):\quad F(y(s))=0, wobei F:\,\R^{n+1}\to\R^n

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)\equiv0, dass die Tangentenrichtung y'(s) das homogene Gleichungssystem mit der vollen Jacobimatrix F'=\partial F/\partial y\in\R^{n\times(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

  \begin{array}{rl}
    F'\big(y(s_{m-1})\big)z_{m-1}&=0,\ \|z_{m-1}\|_2=1,\\
    s_m&:=s_{m-1}+h_m,\\
    y_0(s_m)&:=y(s_{m-1})+h_mz_{m-1};\\
    y_{k+1}(s_m)&:=y_k(s_m)-\Big(F'(y_k(s_m))\Big)^+\,F(y_k(s_m)),\ k=0,1,\ldots.
  \end{array}

Die Bezeichnung (\ldots)^+ 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 \pm z_{m-1} festgelegt. Man wählt das Vorzeichen natürlich so, dass das Innenprodukt z_{m-1}^Tz_{m-2}>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\not=0 durch Normierung von \,(E-QQ^T)u, wenn der letzte Ausdruck ungleich null ist.
  • Die Newton-Korrektur \,v_k=y_{k+1}(s_m)-y_k(s_m) berechnet man über v_k=-Q\tilde v_k, wobei der Vektor \tilde v_k\in\R^n das quadratische Dreiecksystem R^T\tilde v_k=F(y_k(s_m)) löst.

Literatur

  • Werner Rheinboldt, Numerical Analysis of Parametrized Nonlinear Equations. John Wiley and Sons, New York, 1986, ISBN:0-471-88814-1, s. 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
  • Schwetlick, H. und Kretschmar, H.: Numerische Verfahren für Naturwissenschaftler und Ingenieure. Fachbuchverlag Leipzig, 1991, ISBN 3343005800, S. 200.

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Algebro-Differentialgleichung — In einer differential algebraischen Gleichung (auch Algebro Differentialgleichung oder Deskriptor System) sind gewöhnliche Differentialgleichungen und algebraische (d. h. hier: ableitungsfreie) Nebenbedingungen gekoppelt und werden als eine… …   Deutsch Wikipedia

  • Deskriptor-System — In einer differential algebraischen Gleichung (auch Algebro Differentialgleichung oder Deskriptor System) sind gewöhnliche Differentialgleichungen und algebraische (d. h. hier: ableitungsfreie) Nebenbedingungen gekoppelt und werden als eine… …   Deutsch Wikipedia

  • Differential algebraische Gleichung — In einer differential algebraischen Gleichung (auch Algebro Differentialgleichung oder Deskriptor System) sind gewöhnliche Differentialgleichungen und algebraische (d. h. hier: ableitungsfreie) Nebenbedingungen gekoppelt und werden als eine… …   Deutsch Wikipedia

  • Differentiationsindex — In einer differential algebraischen Gleichung (auch Algebro Differentialgleichung oder Deskriptor System) sind gewöhnliche Differentialgleichungen und algebraische (d. h. hier: ableitungsfreie) Nebenbedingungen gekoppelt und werden als eine… …   Deutsch Wikipedia

  • Differentiell-algebraische Gleichung — In einer differential algebraischen Gleichung (auch Algebro Differentialgleichung oder Deskriptor System) sind gewöhnliche Differentialgleichungen und algebraische (d. h. hier: ableitungsfreie) Nebenbedingungen gekoppelt und werden als eine… …   Deutsch Wikipedia

  • Newton-Algorithmus — Das Newtonsche Näherungsverfahren, auch Newton Raphsonsche Methode, (benannt nach Sir Isaac Newton 1669 und Joseph Raphson 1690) ist in der Mathematik das Standardverfahren zur numerischen Lösung von nichtlinearen Gleichungen und… …   Deutsch Wikipedia

  • Newton-Raphson-Verfahren — Das Newtonsche Näherungsverfahren, auch Newton Raphsonsche Methode, (benannt nach Sir Isaac Newton 1669 und Joseph Raphson 1690) ist in der Mathematik das Standardverfahren zur numerischen Lösung von nichtlinearen Gleichungen und… …   Deutsch Wikipedia

  • Newton Iteration — Das Newtonsche Näherungsverfahren, auch Newton Raphsonsche Methode, (benannt nach Sir Isaac Newton 1669 und Joseph Raphson 1690) ist in der Mathematik das Standardverfahren zur numerischen Lösung von nichtlinearen Gleichungen und… …   Deutsch Wikipedia

  • Newton Verfahren — Das Newtonsche Näherungsverfahren, auch Newton Raphsonsche Methode, (benannt nach Sir Isaac Newton 1669 und Joseph Raphson 1690) ist in der Mathematik das Standardverfahren zur numerischen Lösung von nichtlinearen Gleichungen und… …   Deutsch Wikipedia

  • Newtonsches Näherungsverfahren — Das Newtonsche Näherungsverfahren, auch Newton Raphsonsche Methode, (benannt nach Sir Isaac Newton 1669 und Joseph Raphson 1690) ist in der Mathematik das Standardverfahren zur numerischen Lösung von nichtlinearen Gleichungen und… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”