I am considering the forward heat equation

$$\frac{\partial u}{\partial t}=\frac12\frac{\partial^2u}{\partial x^2}$$

with $0<x<1$, $t>0$ under the explicit Euler scheme such that

$$U_j^{(n+1)}=U_j^{(n)}+\frac{\Delta t}{2\Delta x^2}\left(U_{j+1}^{(n)}-2U_j^{(n)}+U_{j-1}^{(n)}\right).$$

I have already shown conditional $L_2$-stability using von Neumann analysis, and now would like to prove $L_\infty$-stability conditioned on $\Delta t\leq \Delta x^2$. My attempt at a proof is as follows: denoting $\lambda=\frac{\Delta t}{2\Delta x^2}$, we have

\begin{align*} |U^{(n+1)}_j|&\leq|U^{(n}_j|+\lambda\left(|U^{(n)}_{j+1}|-2|U^{(n)}_j|+|U^{(n)}_{j-1}|\right)\\ &\leq\max_j|U^{(n)}_j|+\lambda\left(\max_j|U^{(n)}_{j+1}|-2\max_j|U^{(n)}_j|+\max_j|U^{(n)}_{j-1}|\right)\\ &=\max_j|U^{(n)}_j|, \end{align*}

where I have used $|x+y|\leq|x|+|y|$. However, my attempt therefore leads to unconditional $L_\infty$-stability. Where have I gone wrong?

In general, how should I go about deriving the conditions for $L_\infty$-stability? I have just taken a closer look at the hints provided and it mentions that since


where $p=\lambda/2$, I must justify that for $2p\leq1$, $\min_j|U^{(n+1)}_j|\leq U^{(n+1)}_j\leq\max_j|U^{(n+1)}_j|$ $\forall n$, and therefore $\max_j|U^{(n+1)}_j|\leq\max_j|U^{(n)}_j|$. However, where this justification comes from (I suspect some form of discrete maximum principle) and it contradicts what was provided in the comment by @John_Krampf. What has happened here?

  • $\begingroup$ For the heat equation the maximum and minimum values $u$ will ever take exist at the initial time. By induction this means $$||U^{(n+1)}||_{L_{\infty}} \leq ||U^{(n)}||_{L_{\infty}}$$ Thus $\{||U^{(n)}||_{L_{\infty}}\}_n$ is a positive and monotonically decreasing sequence of positive numbers so by the Monotone Convergence Theorem it converges to a limit. Why do you need your proof to be conditioned? $\endgroup$ Dec 28, 2020 at 4:25
  • $\begingroup$ @John_Krampf Hi, I managed to find a hint for my question, but it contradicts your comment that it is unconditionally stable in the maximum norm; could you compare it with my update? Thanks! $\endgroup$
    – user107224
    Dec 28, 2020 at 18:11
  • 1
    $\begingroup$ You've incorrectly estimated the middle term in the parentheses. It has negative sign and you're taking max. Try collecting terms first $\endgroup$
    – uranix
    Dec 30, 2020 at 14:39

1 Answer 1


Since $2p\le 1$ implies that $1-2p\ge0$, we have that $|1-2p| = 1-2p$, and $p\ge 0$ implies that $|p|=p$, and so

\begin{align*} |U^{n+1}_j| & = |pU^{n}_{j+1}+(1-2p)U^{n}_{j}+pU^{n}_{j-1}|\\ &\le|pU^{n}_{j+1}|+|(1-2p)U^{n}_{j}|+|pU^{n}_{j-1}|\\ &=|p||U^{n}_{j+1}|+|(1-2p)||U^{n}_{j}|+|p||U^{n}_{j-1}|\\ &=p|U^{n}_{j+1}|+(1-2p)|U^{n}_{j}|+p|U^{n}_{j-1}|\\ &\le p\max_k|U^{n}_{k}|+(1-2p)\max_k|U^{n}_{k}|+p\max_k|U^{n}_{k}|\\ &=(p+1-2p+p)\max_k|U^{n}_{k}|\\ &=\max_k|U^{n}_{k}|. \end{align*} Thus, $|U^{n+1}_j|\le \max_k|U^{n}_{k}|$ for all $j$, and therefore $\max_k|U^{n+1}_k|\le \max_k|U^{n}_{k}|$.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .