next up previous
Next: Semiimplicitní Eulerova metoda Up: Stiff rovnice (rovnice se Previous: Stiff rovnice (rovnice se

Stabilita pro konečný krok

Uvažujeme pro jednoduchost jen jednu rovnici $y' = f(x,y)$, která má hladké řešení $\varphi (x)$. Spočítáme numericky řešení $y_i$ v bodech $x_i$. Chceme, aby pro $\forall\ i \in \cal{N}$ byla chyba $\Delta$ numerického řešení omezená

\begin{displaymath}
\vert \Delta_i \vert = \vert y_i - \varphi (x_i) \vert < K\ \ .
\end{displaymath}

Dosadíme do diferenciální rovnice

\begin{displaymath}
y'(x) = f(x,y) = f(x, \varphi(x)) + \left. \frac{\partial
f}...
...\right\vert _{(x, \varphi(x))}(y(x) - \varphi(x)) + \dots\ \ ,
\end{displaymath}

Odtud pro derivaci chyby platí

\begin{displaymath}\Delta'(x) = \left. \frac{\partial f}{\partial y}
\right\vert...
...varphi(x))} \cdot \Delta + \dots \approx J(x)\, \Delta(x)\ \ .
\end{displaymath}

Přibližně můžeme brát $J$ jako konstantní a pak

\begin{displaymath}
\Delta' = J \Delta \quad {\rm a} \quad
\Delta_{m+1} = R(hJ) \Delta_m \ \ ,
\end{displaymath}

kde $R(hJ) = R(z)$ je dáno metodou numerického řešení diferenciální rovnice. Pro Eulerovu metodu je $R(z) = 1 + z$. Aby bylo $\vert\Delta_m\vert < K$ pro $\forall\, m \in \cal{N}$, musí být $\vert R (z) \vert < 1$. Pro Eulerovu metodu musí být $\vert z - (-1)\vert < 1$.

Pro systém rovnic je chyba vektor $\vec{\Delta}$ a jeho derivace je dána maticí J. Je tedy

\begin{displaymath}
\vec{\Delta}' = {\bf J} \vec{\Delta}\ \ .
\end{displaymath}

Nechť J není defektní a existuje tedy pro $\forall\, \lambda_i$, $i = 1, 2, \dots, n$ vlastní vektor $\vec{\nu}_i$. Potom lze vyjádřit

\begin{displaymath}
\vec{\Delta}_0 = \sum \limits_{i=1}^n \alpha_i \vec{\nu}_i
\end{displaymath}

Pak lze chybu v $m$-tém kroku zapsat ve tvaru

\begin{displaymath}
\vec{\Delta}_m = \sum \limits_{i=1}^n \left[ R(h \lambda_i)
\right]^m \alpha_i \vec{\nu}_i \ \ .
\end{displaymath}

Pak chyba je omezená v limitě $\lim \limits_{m \to \infty} \Vert\vec{\Delta}_m\Vert < k$ právě tehdy, když pro $\forall\, i = 1, 2, \dots, n$ je, že

\begin{displaymath}
\forall \ z_i = h \lambda_i \in {\cal S} \quad ; \quad
S \equiv \left\{z ;\ \vert R(z)\vert \leq 1 \right\}\ \ .
\end{displaymath}

Z této podmínky mohu najít maximální krok $h$ takový, že absolutní chyba metody nebude postupně narůstat (metoda je stabilní pro daný krok).

Pozn. Pro Eulerovu metodu je ${\cal S} = \left\{ z~\in {\cal C}; \vert z - (-1)\vert \leq
1 \right\}$.

Def. Metoda je A-stabilní, jestliže je

\begin{displaymath}
{\cal S} \supset {\cal C}^{-} = \left\{ z\ \in {\cal C}\, ;\
{\rm Re}(z) \leq 0 \right\}
\end{displaymath}

Pozn. A-stabilní metoda je stabilní pro $\forall$ délky kroku $h$.

Implicitní Eulerova metoda je A-stabilní.
Zde $R(z) = 1/(1-z)$ a tedy $\vert R(z) \leq 1\vert$ na množině (vnějšek kruhu)
$\vert z - 1\vert \geq 1 \Rightarrow {\cal S} \supset {\cal C}^{-}$.

Pozn. V praxi se obvykle užívají implicitní metody vyššího řádu.


next up previous
Next: Semiimplicitní Eulerova metoda Up: Stiff rovnice (rovnice se Previous: Stiff rovnice (rovnice se
Jiri Limpouch
2000-05-25