Introduction à la dérivation numérique

💡

Structure du chapitre 5

Ce chapitre couvre la dérivation et l'intégration numériques en deux parties :

Partie A — Dérivation numérique (3 leçons)

  • Formules de dérivation, instabilité, extrapolation de Richardson

Partie B — Intégration numérique (8 leçons)

  • Introduction, Newton-Cotes, Simpson, Romberg, quadratures gaussiennes, splines, intégrales impropres et multiples

Objectifs d'apprentissage

À la fin de cette leçon, vous serez en mesure de :

  • Expliquer pourquoi la dérivation numérique est nécessaire en pratique
  • Comprendre le lien entre interpolation et dérivation numérique
  • Dériver le polynôme de Newton-Gregory pour obtenir des formules de dérivation
  • Évaluer l'ordre de l'erreur de troncature

Prérequis

  • Polynômes d'interpolation de Newton-Gregory (Chapitre 4)
  • Différences finies descendantes
  • Développements de Taylor

Motivation : le problème de la fusée

Reprenons le problème de la fusée introduit au chapitre 4. Une fusée est suivie par radar, et sa position x(t)x(t) est mesurée à intervalles réguliers. Mais les ingénieurs ont besoin de bien plus que la position :

Enregistrements de la trajectoire d'une fusée

GrandeurSignification physiqueCalcul
Position x(t)x(t)Où est la fusée ?Mesure directe
Vitesse v(t)=x(t)v(t) = x'(t)À quelle vitesse se déplace-t-elle ?Dérivée première
Accélération a(t)=x(t)a(t) = x''(t)Comment la vitesse change-t-elle ?Dérivée seconde
ConsommationCombien de carburant a été utilisé ?Intégrale
💡

Problème fondamental

Nous connaissons la fonction ff uniquement en des points discrets x0,x1,,xnx_0, x_1, \ldots, x_n. Comment estimer f(x)f'(x) ou f(x)f''(x) à partir de ces données ?

Rappel : d'où viennent les données ?

Au chapitre 4, nous avons appris à interpoler des données discrètes par des polynômes. Mais avant même de parler d'interpolation, il faut se poser une question fondamentale : nos données sont-elles fiables ?

En pratique, l'acquisition de données est elle-même une source d'erreurs :

  • Fréquence d'échantillonnage : si on mesure la position de la fusée toutes les 10 secondes au lieu de chaque seconde, on rate les variations rapides. Inversement, échantillonner trop vite peut introduire du bruit de mesure inutile.
  • Précision des instruments : un radar a une résolution finie. Chaque mesure fif_i est entachée d'une erreur ϵi\epsilon_i.
  • Choix du modèle d'interpolation : un polynôme de degré trop élevé peut osciller (phénomène de Runge), tandis qu'un degré trop bas ne capture pas la forme réelle de ff.

Ces problèmes — que nous avons étudiés aux chapitres 3 et 4 — sont des réalités incontournables en ingénierie.

⚠️

Hypothèse pour ce chapitre

Dans tout ce chapitre, nous supposerons que les données sont fiables : les valeurs f0,f1,,fnf_0, f_1, \ldots, f_n sont connues avec une précision suffisante, et le pas hh est adapté au problème. Nous nous concentrons sur les erreurs introduites par les méthodes numériques elles-mêmes (troncature, arrondi), pas par l'acquisition des données.

En pratique, il faut toujours vérifier cette hypothèse avant d'appliquer les formules de ce chapitre !


Principe général : dériver l'interpolant

L'idée centrale est simple : si nous ne connaissons pas ff explicitement, nous pouvons la remplacer par son polynôme d'interpolation PnP_n, puis dériver ce polynôme.

Décomposition fondamentale

Rappelons que l'interpolation de ff par un polynôme PnP_n s'écrit :

f(x)=Pn(x)+En(x)f(x) = P_n(x) + E_n(x)

En(x)E_n(x) est l'erreur d'interpolation (ou erreur de troncature).

En dérivant cette relation :

f(x)=Pn(x)+En(x)f'(x) = P_n'(x) + E_n'(x)

Stratégie de dérivation numérique

  1. Construire le polynôme d'interpolation Pn(x)P_n(x) passant par les points de données
  2. Calculer Pn(x)P_n'(x) analytiquement
  3. Utiliser Pn(x)P_n'(x) comme approximation de f(x)f'(x)
  4. Estimer l'erreur En(x)E_n'(x)

De même pour les dérivées d'ordre supérieur :

f(x)=Pn(x)+En(x)f''(x) = P_n''(x) + E_n''(x)

Et pour l'intégration :

f(x)dx=Pn(x)dx+En(x)dx\int f(x)\,dx = \int P_n(x)\,dx + \int E_n(x)\,dx

Dérivation du polynôme de Newton-Gregory

Nous utilisons le polynôme de Newton-Gregory avec différences descendantes, qui est particulièrement adapté aux données équidistantes.

Rappel : forme du polynôme

Pour des points équidistants xi=x0+ihx_i = x_0 + ih, le polynôme de Newton-Gregory s'écrit :

Pn(x)=k=0n(sk)Δkf0P_n(x) = \sum_{k=0}^{n} \binom{s}{k} \Delta^k f_0

s=xx0hs = \frac{x - x_0}{h} est la variable réduite et Δkf0\Delta^k f_0 sont les différences finies descendantes.

Développement explicite

Pn(x)=f0+sΔf0+s(s1)2!Δ2f0+s(s1)(s2)3!Δ3f0+P_n(x) = f_0 + s\Delta f_0 + \frac{s(s-1)}{2!}\Delta^2 f_0 + \frac{s(s-1)(s-2)}{3!}\Delta^3 f_0 + \cdots

Calcul de la dérivée

Pour dériver Pn(x)P_n(x) par rapport à xx, nous utilisons la règle de chaîne :

dPndx=dPndsdsdx=1hdPnds\frac{dP_n}{dx} = \frac{dP_n}{ds} \cdot \frac{ds}{dx} = \frac{1}{h}\frac{dP_n}{ds}

car dsdx=1h\frac{ds}{dx} = \frac{1}{h}.

Calculons dPnds\frac{dP_n}{ds} terme par terme :

  • dds(f0)=0\frac{d}{ds}(f_0) = 0
  • dds(sΔf0)=Δf0\frac{d}{ds}(s\Delta f_0) = \Delta f_0
  • dds(s(s1)2Δ2f0)=2s12Δ2f0\frac{d}{ds}\left(\frac{s(s-1)}{2}\Delta^2 f_0\right) = \frac{2s-1}{2}\Delta^2 f_0
  • dds(s(s1)(s2)6Δ3f0)=3s26s+26Δ3f0\frac{d}{ds}\left(\frac{s(s-1)(s-2)}{6}\Delta^3 f_0\right) = \frac{3s^2 - 6s + 2}{6}\Delta^3 f_0

Formule générale de la dérivée

En combinant, on obtient la dérivée du polynôme de Newton-Gregory en un point quelconque x=x0+shx = x_0 + sh :

Pn(x)=1h[Δf0+2s12Δ2f0+3s26s+26Δ3f0+]P_n'(x) = \frac{1}{h}\left[\Delta f_0 + \frac{2s-1}{2}\Delta^2 f_0 + \frac{3s^2 - 6s + 2}{6}\Delta^3 f_0 + \cdots\right]

C'est une formule en ss : elle donne la dérivée en n'importe quel point, pourvu qu'on connaisse la valeur de ss.

Que représente s ?

Le paramètre s=xx0hs = \frac{x - x_0}{h} mesure la position relative par rapport au premier point x0x_0, exprimée en nombre de pas hh :

  • s=0s = 0 → on est en x0x_0 (premier point)
  • s=1s = 1 → on est en x1=x0+hx_1 = x_0 + h (deuxième point)
  • s=2s = 2 → on est en x2=x0+2hx_2 = x_0 + 2h (troisième point)
  • s=0.5s = 0.5 → on est entre x0x_0 et x1x_1
  • s=1s = -1 → on est un pas avant x0x_0

Pourquoi évaluer en s=0s = 0 ?

La formule générale ci-dessus est valide pour tout ss, mais en pratique on choisit presque toujours s=0s = 0 (c'est-à-dire x=x0x = x_0). Pourquoi ?

1. Simplification algébrique massive. Quand s=0s = 0, tous les termes en ss et s2s^2 disparaissent :

  • Le coefficient de Δ2f0\Delta^2 f_0 devient 2(0)12=12\frac{2(0)-1}{2} = -\frac{1}{2}
  • Le coefficient de Δ3f0\Delta^3 f_0 devient 3(0)26(0)+26=13\frac{3(0)^2 - 6(0) + 2}{6} = \frac{1}{3}
  • On obtient des coefficients constants : 1,12,+13,14,1, -\frac{1}{2}, +\frac{1}{3}, -\frac{1}{4}, \ldots

2. x0x_0 est mobile. Le point x0x_0 n'est pas figé ! C'est simplement le premier point de notre table de différences. Si on veut la dérivée en x3x_3, on reconstruit la table en prenant x3x_3 comme nouveau point de départ x0x_0, et on applique la même formule avec s=0s = 0.

3. Erreur explicite. En s=0s = 0, le terme d'erreur se réduit à une expression fermée, En(x0)=(1)nn+1hnf(n+1)(ξ)E_n'(x_0) = \frac{(-1)^n}{n+1}\,h^n\,f^{(n+1)}(\xi) (démontrée plus bas), dont l'ordre O(hn)O(h^n) se lit immédiatement. Attention toutefois : x0x_0 est une extrémité de la table, et c'est justement là que l'erreur est la plus grande ; à nn égal, une évaluation au milieu de la table (formule centrée) est nettement plus précise. Le choix s=0s = 0 se justifie par la simplicité, pas par la précision.

💡

En résumé

On ne se limite pas à un seul point ! On peut calculer la dérivée partout en déplaçant x0x_0. Mais la formule en s=0s = 0 est la plus simple et la plus utilisée.

Formule en x0x_0 (cas s=0s = 0)

En posant s=0s = 0 dans la formule générale :

Pn(x0)=1h[Δf012Δ2f0+13Δ3f014Δ4f0++(1)n1nΔnf0]P_n'(x_0) = \frac{1}{h}\left[\Delta f_0 - \frac{1}{2}\Delta^2 f_0 + \frac{1}{3}\Delta^3 f_0 - \frac{1}{4}\Delta^4 f_0 + \cdots + \frac{(-1)^{n-1}}{n}\Delta^n f_0\right]
💡

Formule de dérivation de Newton-Gregory

Pn(x0)=1hk=1n(1)k1kΔkf0P_n'(x_0) = \frac{1}{h}\sum_{k=1}^{n} \frac{(-1)^{k-1}}{k}\Delta^k f_0

Les coefficients alternent en signe et décroissent : 1,12,+13,14,1, -\frac{1}{2}, +\frac{1}{3}, -\frac{1}{4}, \ldots — c'est la série harmonique alternée !

Cas particuliers utiles : autres valeurs de ss

Bien que s=0s = 0 soit le cas le plus courant, il est instructif de voir ce qui se passe pour d'autres valeurs.

Cas s=1s = 1 (dérivée en x1x_1) : avec 2 points (n=1n = 1)

P1(x1)=1hΔf0=f1f0hP_1'(x_1) = \frac{1}{h}\Delta f_0 = \frac{f_1 - f_0}{h}

C'est la même différence avant ! Avec 3 points (n=2n = 2) :

P2(x1)=1h[Δf0+12Δ2f0]=f0+f22h=f2f02hP_2'(x_1) = \frac{1}{h}\left[\Delta f_0 + \frac{1}{2}\Delta^2 f_0\right] = \frac{-f_0 + f_2}{2h} = \frac{f_2 - f_0}{2h}

On retrouve la différence centrée ! C'est logique : x1x_1 est au milieu de x0x_0 et x2x_2.

Cas s=1s = -1 (dérivée en x1=x0hx_{-1} = x_0 - h) : avec 2 points, en remplaçant s=1s = -1 :

P1(x1)=1hΔf0=f1f0hP_1'(x_{-1}) = \frac{1}{h}\Delta f_0 = \frac{f_1 - f_0}{h}

Ce n'est qu'une extrapolation — peu fiable car on sort de l'intervalle des données. En pratique, on préférerait relabeler les points pour rester en s=0s = 0.

Lien avec les formules classiques

Les formules de différence avant, différence arrière et différence centrée que nous verrons en détail dans la leçon suivante ne sont que des cas particuliers de la formule générale de Newton-Gregory, évaluée en différents ss et avec différents nombres de points nn.


Analyse de l'erreur

Forme de l'erreur de troncature

Rappel : l'erreur d'interpolation de Newton-Gregory de degré nn est :

En(x)=s(s1)(s2)(sn)(n+1)!hn+1f(n+1)(ξ)E_n(x) = \frac{s(s-1)(s-2)\cdots(s-n)}{(n+1)!}\,h^{n+1}\,f^{(n+1)}(\xi)

s=xx0hs = \frac{x - x_0}{h} et ξ\xi est un point dans l'intervalle contenant les données.

En notation compacte, le numérateur est le symbole de Pochhammer descendant :

En(x)=(sn+1)hn+1f(n+1)(ξ)E_n(x) = \binom{s}{n+1}\,h^{n+1}\,f^{(n+1)}(\xi)

Dérivation : pour obtenir l'erreur sur la dérivée, on dérive En(x)E_n(x) par rapport à xx. Par la règle de chaîne :

En(x)=dEndsdsdx=1hdEndsE_n'(x) = \frac{dE_n}{ds}\cdot\frac{ds}{dx} = \frac{1}{h}\frac{dE_n}{ds}

Il faut dériver le produit s(s1)(s2)(sn)s(s-1)(s-2)\cdots(s-n) par rapport à ss. Ce produit comporte n+1n+1 facteurs linéaires. Par la règle du produit généralisée, sa dérivée est la somme de n+1n+1 termes, où chaque terme omet un facteur :

dds[s(s1)(sn)]=j=0ni=0ijn(si)\frac{d}{ds}\left[s(s-1)\cdots(s-n)\right] = \sum_{j=0}^{n}\prod_{\substack{i=0 \\ i\neq j}}^{n}(s-i)

Évaluation en s=0s = 0 : quand s=0s = 0, chaque produit ij(0i)=ij(i)\prod_{i \neq j}(0 - i) = \prod_{i \neq j}(-i) contient le facteur (00)=0(0 - 0) = 0 sauf lorsque j=0j = 0 (car c'est le terme ss qui est omis). Donc le seul terme survivant est celui pour j=0j = 0 :

dds[s(s1)(sn)]s=0=i=1n(0i)=(1)(2)(n)=(1)nn!\left.\frac{d}{ds}\left[s(s-1)\cdots(s-n)\right]\right|_{s=0} = \prod_{i=1}^{n}(0-i) = (-1)(-2)\cdots(-n) = (-1)^n\,n!

On injecte dans l'expression de En(x0)E_n'(x_0) :

En(x0)=1h(1)nn!(n+1)!hn+1f(n+1)(ξ)=(1)nn+1hnf(n+1)(ξ)E_n'(x_0) = \frac{1}{h}\cdot\frac{(-1)^n\,n!}{(n+1)!}\cdot h^{n+1}\cdot f^{(n+1)}(\xi) = \frac{(-1)^n}{n+1}\,h^n\,f^{(n+1)}(\xi)
💡

Erreur de troncature de la dérivation

En(x0)=(1)nn+1hnf(n+1)(ξ)E_n'(x_0) = \frac{(-1)^n}{n+1}\,h^n\,f^{(n+1)}(\xi)

L'erreur est en O(hn)O(h^n) : elle décroît comme la puissance nn-ième du pas.

⚠️

Ordre de l'erreur

L'erreur de dérivation est en O(hn)O(h^n), c'est-à-dire qu'elle décroît comme hnh^n quand le pas hh diminue.

  • Avec 2 points (n=1n=1) : erreur en O(h)O(h)
  • Avec 3 points (n=2n=2) : erreur en O(h2)O(h^2)
  • Avec 4 points (n=3n=3) : erreur en O(h3)O(h^3)

Interprétation

Plus on utilise de points pour l'interpolation :

  1. Plus le polynôme PnP_n est fidèle à ff
  2. Plus la dérivée PnP_n' est proche de ff'
  3. Plus l'erreur décroît rapidement avec hh

Mais attention : augmenter nn indéfiniment n'est pas toujours bénéfique (phénomène de Runge, instabilité numérique).

Résumé

Dans cette leçon, nous avons établi le principe fondamental de la dérivation numérique :

  • La dérivation numérique consiste à dériver le polynôme d'interpolation plutôt que la fonction inconnue
  • Le polynôme de Newton-Gregory donne une formule générale en ss, valide en tout point
  • En s=0s = 0 (au point x0x_0), la formule se simplifie avec des coefficients harmoniques alternés
  • Le point x0x_0 est mobile : on peut le déplacer pour calculer la dérivée partout
  • Les formules classiques (différences avant, centrée, arrière) sont des cas particuliers
  • L'erreur de troncature est en O(hn)O(h^n) pour un polynôme de degré nn

Pour aller plus loin

Dans la leçon suivante, nous étudierons les formules de dérivation concrètes (différences avant, arrière, centrées) et analyserons un problème fondamental : l'instabilité de la dérivation numérique face aux erreurs d'arrondi.

Annexe A — Approche alternative par Taylor

L'annexe A présente une autre façon d'obtenir les mêmes formules : au lieu de dériver le polynôme de Newton-Gregory, on manipule directement les développements de Taylor de f(x+h)f(x+h) et f(xh)f(x-h). Cette approche révèle un élégant principe de dualité entre soustraction (dérivées impaires) et addition (dérivées paires), et donne directement les termes d'erreur exacts. Nous vous recommandons de la lire après la leçon sur les formules et l'instabilité.