$A$-stability of Runge-Kutta methods

527 Views Asked by At

I am studying Runge-Kutta methods, but I can't understand why explicit Runge-Kutta methods are not $A$-stable. Can someone please explain it to me?

1

There are 1 best solutions below

2
On

First, recall the definition of A-stability in the context of Dahlquist's test equation \begin{align} u(t_0 = 0) &= 1\\ u'(t) &= \lambda u(t) =: f\big(u(t)\big) \tag{1} \label{1} \end{align} which reads:

A method is called A-stable if $\forall z = \lambda \Delta t : \text{Re}(z) \leq 0$ it holds that $$\vert u_{n+1} \vert \leq \vert u_n \vert \quad \forall \: n \tag{2} \label{2}$$ where $u_n$ denotes the approximation to $u(t)$ at the $n$'th timestep $t_n = n \Delta t$.


A Runge-Kutta method computes the next iterand $u_{n+1}$ as

$$u_{n+1} = u_n + \Delta t \sum_{k=1}^S b_i k_i \tag{3} \label{3} $$ and the stages $k_i$ are for autonomous $f \neq f(t) = f\big(u(t) \big)$ given by $$k_i = f\left(u_n + \Delta t \sum_{k=1}^{i-1}a_{ij} k_j \right). \tag{4} \label{4}$$


For the test equation \eqref{1}, \eqref{4} simplifies to $$k_i = \lambda \left(u_n + \Delta t \sum_{k=1}^{i-1}a_{ij} k_j \right) = \lambda u_n + \Delta t \lambda \sum_{j=1}^{i-1}a_{ij} k_j . \tag{5} \label{5}$$ It is instructive to take a look at the first stages: \begin{align} k_1 &= \lambda u_n \tag{6}\\ k_2 &= \lambda u_n + \Delta t \lambda a_{21} k_1=\lambda u_n + \Delta t \lambda a_{21} \lambda u_n = \big(\lambda + \Delta t \lambda^2 a_{21}\big) u_n\tag{7}\\ k_3 &= \lambda u_n + \Delta t \big(\lambda a_{31} k_1 + \lambda a_{32} k_2 \big) \tag{8}\\&= \lambda u_n + \Delta t \lambda a_{31} \lambda u_n + \Delta t \lambda a_{32} \big(\lambda u_n + \Delta t \lambda a_{21} \lambda u_n\big) \tag{9}\\ &= \Big(\lambda + \Delta t \lambda^2 a_{31} + \Delta t \lambda a_{32} \big(\lambda + \Delta t \lambda a_{21} \lambda \big) \Big)u_n. \tag{10} \end{align} In particular, $k_i$ is a polynomial of order $i-1$ in $\Delta t$ ( a rigorous proof can be done trough induction) where all coefficients contain $u_n$.

The state update \eqref{3} can thus be written as $$u_{n+1} = u_n + \sum_{k=1}^S b_i p_i(\lambda \Delta t) u_n = u_n \tilde{p}_S(\lambda \Delta t)\tag{11}$$ where $p_i(\lambda \Delta t), \tilde{p}_S(\lambda \Delta t)$ denote a (general) polynomial in $\lambda \Delta t$ of degree $i$ or $S$, respectively.

To satisfy \eqref{2}, it is clear that we need that $$ \vert \tilde{p}_S (\lambda \Delta t) \vert \leq 1 \quad \forall \: \lambda \Delta t: \text{Re}(\lambda \Delta t) \leq 0\tag{12}$$

However, it is clear that all non-constant polynomials $p_S(z)$ tend for $z \to \pm \infty$ in absolute value to $\infty$ and thus \eqref{2} is only satisfied for restricted $\lambda \Delta t$.