---
title: VISI601_CMI (3b) Stabilité des calculs numériques
type: slide
slideOptions:
transition: slide
progress: true
slideNumber: true
---
# Stabilité des calculs numériques
> [name=Jacques-Olivier Lachaud][time=January 2022][color=#907bf7]
> (Les images peuvent être soumises à des droits d'auteur. Elles sont utilisées ici exclusivement dans un but pédagogique)
###### tags: `visi601`
Retour à [VISI601_CMI (Main) Algorithmique numérique](https://codimd.math.cnrs.fr/s/IWTaBkA9m)
---
## Stabilité aval
Soit $f$ une fonction à évaluer, et $\widetilde{f}$ le calcul numérique effectué

**Erreur aval** $\delta y := \widetilde{f}(d) - f(d)$
**Stabilité aval** ${\| \delta y \|} / {\|y\|} \le O(\frak{u})$
*Stabilité aval* équivalent à une *erreur relative faible* (de l'ordre de $\frak{u}$)
---
## Stabilité amont
Soit $f$ une fonction à évaluer, et $\widetilde{f}$ le calcul numérique effectué

**Erreur amont** $\delta d := \widetilde{d} - d$, avec $\widetilde{d}$ t.q. $f(\widetilde{d})=\widetilde{f}(d)$.
**Stabilité amont** ${\| \delta d \|} / {\|d\|} \le O(\frak{u})$
Beaucoup plus fréquent
---
## Exemples de stabilités amont / aval
1. L'arrondi $fl(d)$ est stable aval, et approche la fonction identité
2. Mais l'approximation de $f(x,y)=x + y$ par $\widetilde{f}(x,y)=fl(x)\oplus fl(y)$, n'est pas stable *aval* autour de $x=-y$
3. En revanche, $f$ est stable *amont*:
$$
\begin{align*}\widetilde{f}(x,y)&=fl(x)\oplus fl(y)=\left((x(1+\epsilon_1)) + (y(1+\epsilon_2))\right)(1+\epsilon_3)\\&=x(1+\epsilon_1+\epsilon_3+\epsilon_1 \epsilon_3) + y(1+\epsilon_2+\epsilon_3+\epsilon_2\epsilon_3)\\ &= f(\widetilde{x},\widetilde{y})\end{align*}
$$
avec $|\widetilde{x}-x|/|x| < 3\frak{u}$ et $|\widetilde{y}-y|/|y| < 3\frak{u}$
4. On montrerait de la même façon la stabilité amont de $\ominus,\otimes,\oslash$.
5. On montre $(1 \pm \epsilon_i)^n < \frac{n \frak{u}}{1-n\frak{u}}$
---
## Erreur relative d'une méthode stable amont
:::success
L'erreur relative (ou erreur relative aval) est bornée par le produit de l'erreur relative amont et le conditionnement de $f$
$E_{rel}(f)=\frac{\|\delta y\|}{\|y\|} \le \frac{\|\widetilde{d}-d\|}{\|d\|} K_{rel}(d) = K_{rel}(d) O(\frak{u})$
:::
La précision d'un calcul numérique stable amont est donc directement relié à la précision machine (donc du choix float/double) et le conditionnement du problème.
---
## Preuve
$$
\begin{align*} \frac{\|\delta y\|}{\|y\|}& = \frac{\|\widetilde{f}(d) - f(d)\|}{\|f(d)\|} \\
& = \frac{\|f(\widetilde{d})-f(d)\|}{\|f(d)\|} && \text{(stabilité amont: $\widetilde{f}(d)=f(\widetilde{d})$)}\\
& \le \frac{\|\widetilde{d}-d\| \|f'(d)\| + o(\|\widetilde{d}-d\|)}{\|f(d)\|} && \text{(formule Taylor)}
\end{align*}
$$
Or $\begin{align*}K_{rel}(d) = &\lim_{B \rightarrow 0} \sup_{\|\delta d\| \le B } \left\{ \frac{\|\delta y\| / \|y\|}{\|\delta d\| / \|d\|} \right\} = \frac{\|f'(d)\|\|d\|}{\|f(d)\|}\end{align*}$
---
## Exercices
1. Addition et multiplication sont stables amont
2. En déduire que le produit scalaire $\mathbf{x}^T\mathbf{y}$ est stable amont
3. Le produit matrice/vecteur $A\mathbf{x}$ est stable amont
4. Le produit matrice/matrice est stable amont
5. La résolution d'un système triangulaire $L\mathbf{x}=\mathbf{b}$ ou $U\mathbf{x}=\mathbf{b}$ est stable amont
6. Les méthodes $QR$, $LU$, Cholesky, SVD sont stables amont
7. La fonction $f(x)=x+1$ n'est pas stable amont ! (Elle est stable mixte)
8. Le produit tensoriel $\mathbf{x}\mathbf{y}^T$ est stable mixte, mais pas stable amont
---
## Stabilité mixte

**Stabilité mixte** $\exists \widehat{d}$, $\color{blue}{\frac{\|\widehat{d}-d\|}{\|d\|} \le O(\frak{u})}$ tel que $\color{blue}{\frac{\|\widetilde{f}(d)-f(\widehat{d})\|}{\|f(\widehat{d})\|} \le O(\frak{u})}.$
:::warning
On montre facilement $\color{green}{\text{stabilité amont}}$ implique $\color{blue}{\text{stabilité mixte}}$
:::