Mehrschrittverfahren

Mehrschrittverfahren sind Verfahren zur numerischen Lösung von Anfangswertproblemen. Im Gegensatz zu Einschrittverfahren, wie etwa den Runge-Kutta-Verfahren, nutzen Mehrschrittverfahren die Information aus den zuvor bereits errechneten Stützpunkten.

Theorie

Es sei ein Anfangswertproblem

{\displaystyle y'(x)=f(x,y(x))}

für x\in [x_{0},\infty ) mit einer Anfangsbedingung y(x_{0})=y_{0} gegeben. Ein lineares Mehrschrittverfahren (LMV) erzeugt zu einer gegebenen Schrittweite h>0 eine Folge (y_{n})_{{n\in \mathbb{N} }} von Näherungen zu den Funktionswerten

y_{n}\approx y(x_{n})=y(x_{0}+n\,h).

Dabei besteht zwischen den Näherungswerten und der Differentialgleichung die lineare Rekursionsgleichung

{\displaystyle \sum _{j=0}^{m}a_{j}\,y_{n-j}=h\sum _{j=0}^{m}b_{j}\,f(x_{n-j},y_{n-j})}.

Die Koeffizienten {\displaystyle a_{0},\dots ,a_{m}} sowie {\displaystyle b_{0},\dots ,b_{m}} bestimmen das Mehrschrittverfahren, dabei gilt a_{0}=1.

Man nennt das lineare Mehrschrittverfahren implizit, falls {\displaystyle b_{0}\neq 0} ist, und explizit, falls {\displaystyle b_{0}=0} ist. Implizite Verfahren können bei gleicher Länge m der Koeffiziententupel eine um 1 höhere Konsistenzordnung als explizite Verfahren haben. Ihr Nachteil besteht jedoch darin, dass bei der Berechnung von y_{n+1} bereits {\displaystyle f(x_{n+1},y_{n+1})} benötigt wird. Dies führt zu nichtlinearen Gleichungssystemen. Für explizite Verfahren kann man die lineare Rekursionsgleichung in die explizite Form

y_{{n+1}}=-\sum _{{j=0}}^{{m-1}}a_{{1+j}}\,y_{{n-j}}+h\sum _{{j=0}}^{{m-1}}b_{{1+j}}\,f(x_{{n-j}},y_{{n-j}})

umstellen.

Zum Start benötigen m-Schrittverfahren m Startwerte y_0,\dotsc,y_{m-1}. Diese werden im Rahmen einer sogenannten Anlaufrechnung durch Anwendung anderer Näherungsverfahren bestimmt. Im einfachsten Fall werden die Startwerte linear extrapoliert

y_{k}=y_{0}+k\,h\,f(x_{0},y_{0}),\quad k=1,\dots ,m-1.

Im Allgemeinen lassen sich die benötigten Startwerte auch durch sukzessive Anwendung von Mehrschrittverfahren mit steigender Schrittzahl gewinnen: Man startet dazu mit einem beliebigen Einschrittverfahren für den ersten Wert y_1, verwendet dann höchstens ein 2-Schritt-Verfahren für den zweiten Wert y_2 und berechnet schließlich den Wert {\displaystyle y_{m-1}} durch ein aus maximal m-1 Schritten bestehendes Mehrschrittverfahren.

Analyse

Ein lineares Mehrschrittverfahren ist konvergent, wenn es konsistent und stabil für die Gleichung y'(x)=0 ist (diese Eigenschaft heißt auch 0-Stabilität). Konvergenz besagt, dass durch Verkleinern der Schrittweite h>0 die Differenz |y_{k}-y(x_{k})| zwischen Näherungswert und Wert der exakten Lösung für x_{k}\approx t für jedes fixierte t beliebig klein gehalten werden kann.

Konsistenz

Sei y(x) eine beliebige, in einer Umgebung eines Punktes x definierte und einmal stetig differenzierbare Funktion. Diese erfülle die triviale Differentialgleichung y'(x)=f(x,y)=y(x). Für diese kann der Fehler erster Ordnung des Mehrschrittverfahrens als

T_{h}(x)={\frac  {1}{h}}\sum _{{j=0}}^{{m}}a_{{j}}\,y(x-j\,h)-\sum _{{j=0}}^{m}b_{{j}}\,y'(x-jh)

bestimmt werden. Man definiert dann:

Ein lineares Mehrschrittverfahren heißt konsistent, falls

\lim _{{h\to 0}}|T_{h}(x)|=0

für beliebige Wahlen von x und der Funktion y. Es heißt konsistent der Ordnung p, falls in Landau-Notation

|T_{h}(x)|=O(h^{p})

gilt, das heißt h^{{-p}}\,|T_{h}(x)| immer nach oben beschränkt ist.

Man prüft dies unter Zuhilfenahme der Taylor-Entwicklung. So ist für eine p-fach differenzierbare Differentialgleichung die Lösung p+1 mal differenzierbar und es gilt

y(x_{{k+j}})=y(x_{k}+j\,h)=y(x_{k})+jh\,y'(x_{k})+{\frac  {(jh)^{2}}{2}}y''(x_{k})+\dots +{\frac  {(jh)^{p}}{p!}}\,y^{{(p)}}(x_{k})+O(h^{{p+1}})

wobei y^{{(l)}}(x_{k}) die l-te Ableitung an der Stelle x_{k} bezeichnet. Dies führt man für alle im linearen Mehrschrittverfahren auftretenden Terme durch und setzt dies in T_{h}(x_{k}) ein. Es ist ausreichend, dies für die Exponentialfunktion und ihre Differentialgleichung zu untersuchen.

Stabilität

Man definiert zwei sogenannte assoziierte Polynome \rho ,\sigma

\rho (\lambda )=\sum _{{i=0}}^{m}a_{i}\,\lambda ^{{m-i}}
{\displaystyle \sigma (\lambda )=\sum _{i=0}^{m}b_{i}\,\lambda ^{m-i}\,.}

Ein lineares Mehrschrittverfahren wird durch diese beiden Polynome vollständig charakterisiert, so dass man anstelle von obiger Schreibweise des linearen Mehrschrittverfahrens auch von einem „LMV (\rho ,\sigma )“ spricht.

Sei \lambda _{0} eine Nullstelle von \rho . Ein LMV (\rho ,\sigma ) ist nullstabil, wenn für jede Nullstelle \lambda _{0} gilt:

Bezüglich der A-Stabilität gilt die Zweite Dahlquist-Barriere, dass ein A-stabiles lineares Mehrschrittverfahren nicht mehr als Ordnung zwei haben kann.

Beispiele

Explizite Verfahren

Ein explizites Verfahren bedeutet in diesem Zusammenhang, dass zur Berechnung der Näherungswerte nur Werte herangezogen werden, die zeitlich vor dem zu Berechnenden liegen. Das wohl bekannteste explizite lineare Mehrschrittverfahren ist die (s+1)-Schritt-Adams-Bashforth-Methode (nach John Couch Adams und Francis Bashforth). Diese hat die Form:

y_{{n+1}}=y_{n}+h\sum _{{j=0}}^{s}b_{{j}}\,f(t_{{n-j}},y_{{n-j}})

mit

{\displaystyle b_{j}={(-1)^{j} \over j!(s-j)!}\int _{0}^{1}\prod _{i=0,i\neq j}^{s}(u+i)\,\mathrm {d} u,\quad j=0,\ldots ,s.}

z.B.:

s=1
y_{{n+1}}=y_{n}+h\left({3 \over 2}f(t_{n},y_{n})-{1 \over 2}f(t_{{n-1}},y_{{n-1}})\right)
s=2
y_{{n+1}}=y_{n}+h\left({23 \over 12}f(t_{n},y_{n})-{16 \over 12}f(t_{{n-1}},y_{{n-1}})+{5 \over 12}f(t_{{n-2}},y_{{n-2}})\right)

usw.

Implizite Verfahren

Bei impliziten Verfahren wird zur Berechnung auch der zu berechnende Wert selbst benutzt. Im Beispiel taucht so auf beiden Seiten der Gleichung y_{n+1} auf. Eine bekannte Klasse von impliziten Mehrschrittverfahren sind die Adams-Moulton-Verfahren (nach Forest Ray Moulton und John Couch Adams). Diese haben die Form:

y_{{n+1}}=y_{n}+h\sum _{{j=-1}}^{{s-1}}b_{j}f(t_{{n-j}},y_{{n-j}}),\quad 0\leq s\leq n

mit

{\displaystyle b_{j}={(-1)^{j+1} \over (j+1)!(s-j-1)!}\int _{0}^{1}\prod _{i=-1,i\neq j}^{s-1}(u+i)\,\mathrm {d} u,\quad j=-1,0,\ldots ,s-1}

z.B.:

s=2
y_{{n+1}}=y_{n}+h\left({1 \over 12}{\Big (}5f(t_{{n+1}},y_{{n+1}})+8f(t_{n},y_{n})-f(t_{{n-1}},y_{{n-1}}){\Big )}\right)

Darüber hinaus sind insbesondere die BDF-Verfahren für steife Anfangswertprobleme im Einsatz, da diese bessere Stabilitätseigenschaften haben. BDF-2 ist A-stabil, die weiteren noch A(\alpha )-stabil, ab BDF-7 allerdings instabil.

Praxis

Startwerte

Oftmals hat man es in der Praxis mit Problemen der Art

y'(x)=f\left(x,y(x)\right),\quad y(0)=y_{0}

zu tun. Hier fehlt es an Startwerten. Diese werden zunächst durch Einschrittverfahren (z.B. das klassische Runge-Kutta-Verfahren) gewonnen.

Prädiktor-Korrektor-Methode

Mit dem Gedanken, die im Vergleich um 1 höhere Konsistenzordnung der impliziten linearen Mehrschrittverfahren zu nutzen, umgeht man das Lösen der nichtlinearen Gleichungen durch die sog. Prädiktor-Korrektor-Methode. Es wird der in der impliziten Methode benötigte Wert für y_{n+1} durch eine explizite Methode berechnet, wonach durch Iteration der Wert für y_{n+1} zu verbessern versucht wird. Dazu gibt es verschiedene Verfahren, die geläufigsten sind:

P(EC)mE

Beim P(EC)^{{m}}E (P = predict, E = evaluate, C = correct) wird der durch das explizite Prädiktorverfahren gewonnene Wert {\displaystyle y_{n+1,{\text{alt}}}} für y_{n+1} wieder in das implizite Korrektorverfahren eingesetzt, wodurch man einen neuen Wert für y_{n+1}, nämlich {\displaystyle y_{n+1,{\text{neu}}}} erhält. Dies wird so lange iteriert, bis {\displaystyle |y_{n+1,{\text{neu}}}-y_{n+1,{\text{alt}}}|} kleiner als eine festgelegte Fehlertoleranz ist, oder m-mal iteriert wurde.

Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung:  Jena, den: 30.09. 2019