Zum Inhalt springen

Stabilitätsgebiet

aus Wikipedia, der freien Enzyklopädie

In der Numerik gewöhnlicher Differentialgleichungen ist das Stabilitätsgebiet <math>\mathcal{S}\subseteq\Complex</math> eines Verfahrens zur Lösung eines Anfangswertproblems anschaulich ein Indikator dafür, wie „pflegeleicht“ sich dieses Verfahren bei steifen Differentialgleichungen verhält.

Besonders interessant ist der Fall, wenn das Stabilitätsgebiet die komplette linke Halbebene enthält, dann heißt das Verfahren A-stabil.

Definition

Dafür betrachtet man das Verfahren beim Lösen der dahlquistschen Testgleichung

<math>y'=\lambda y, \quad \operatorname{Re}\lambda < 0,

</math>

<math>y(t_0)=y_0>0</math>

für eine komplexe Zahl <math>\lambda</math> bei fester Schrittweite <math>h</math>. Offenbar ist die analytische Lösung <math>y(t)=y_0e^{\lambda t}</math>.

Das Verfahren ergebe dafür die diskrete Approximation <math>(y_0,y_1,\ldots)</math>, also

<math>y_n\approx y(t_n)</math> mit
<math>t_n=t_0+nh</math>.

Allgemein

Ein hinreichendes Kriterium für die Stabilität ist, dass die durch das Verfahren ermittelte Näherung (genau wie die exakte Lösung) monoton fallend ist, sprich für alle <math>n</math> die nächste Näherung maximal so groß ist wie die vorherige: <math>|y_{n+1}|\le |y_n|</math>.

Ist dieses Kriterium für ein Paar <math>(\lambda,h)</math> erfüllt, liegt <math>\lambda h</math> im Stabilitätsgebiet <math>\mathcal{S}</math>, ansonsten nicht.

Mit Stabilitätsfunktion

Einfach berechnen lässt sich das Stabilitätsgebiet, wenn das Verfahren bezüglich der Testgleichung eine Stabilitätsfunktion <math>R\colon\Complex\rightarrow\Complex</math> besitzt, d. h. <math>y_n=\left(R(\lambda h)\right)^ny_0</math> beziehungsweise rekursiv <math>y_{n+1}=R(\lambda h)y_n</math>.

Da <math>R(\lambda h)</math> per Definition nicht vom aktuellen Schritt abhängt, ist die Folge der Näherungen genau dann monoton fallend, wenn der Betrag des Faktors <math>|R(\lambda h)|\le1</math> ist – und genau dann streng monoton fallend, wenn sogar <math>|R(\lambda h)|<1</math>.

Ob man das Gebiet nun strikt oder abgeschlossen definiert, unterscheidet sich, aber es ergibt sich z. B.

<math>\mathcal{S}:=\{ z\in\Complex \mid |R(z)|<1 \}</math>

Beispiele

Alle Runge-Kutta-Verfahren haben eine Stabilitätsfunktion; bei expliziten Verfahren ist diese ein Polynom, bei impliziten wenigstens noch eine rationale Funktion, wobei die Grade jeweils durch die Schrittzahl <math>m</math> des Verfahrens beschränkt sind.

Datei:Stabilitätsgebiet Explizites Euler-Verfahren.svg
Im expliziten Euler-Verfahren ist nur das schraffierte Areal Stabilitätsgebiet.

Für das explizite Euler-Verfahren gilt

<math>y_{n+1} = y_n+hf(t_n,y_n)=y_n+h\lambda y_n=(\lambda h+1)y_n</math>,

die Stabilitätsfunktion ist daher <math>R(z) = z+1</math>. Damit liegt <math>z</math> im Stabilitätsgebiet falls <math>|z+1| < 1</math>, d. h. genau dann wenn <math>z</math> im 1-Ball um <math>-1\in\Complex</math> liegt. Es folgt

<math>\mathcal{S}=B_1(-1)</math>.

Dieses Stabilitätsgebiet ist (wie auch jenes anderer expliziter Verfahren) beschränkt. Daher wird man, auch wenn dies die Genauigkeit gar nicht verlangen würde, zu einer Einschränkung der Schrittweite <math>h</math> gezwungen. Dies hat zur Folge, dass implizite Verfahren beim Lösen steifer Differentialgleichungen bevorzugt werden.

Datei:Stabilitätsgebiet Implizites Euler-Verfahren.svg
Im impliziten Euler-Verfahren dagegen ist lediglich der nicht schraffierte Ball außerhalb des Stabilitätsgebiets.

Ein Beispiel dafür ist das implizite Euler-Verfahren, das angewendet

<math>y_{n+1}=y_n+hf(t_{n+1},y_{n+1})=y_n+h\lambda y_{n+1}</math>,

also nach Umstellen die Stabilitätsfunktion <math>R(z)=\frac{1}{1-z}</math> ergibt. Das resultiert dann im folgenden Stabilitätsgebiet und zeigt somit die A-Stabilität des Verfahrens:

<math>\mathcal{S}=\Complex\setminus B_1(1)</math>

Literatur

  • E. Hairer, G. Wanner: Solving Ordinary Differential Equations II, Stiff problems, Springer Verlag