Méthode de Romberg
Extrapolation de Richardson sur les trapèzes
Enonce
Implémenter romberg(f, a, b, n_max) qui construit le tableau $R(i, j)$ pour $0 \leq i, j \leq n_{\max}$ et renvoie $R(n_{\max}, n_{\max})$.
Tester avec $\int_0^1 \frac{4}{1 + x^2}\,dx = \pi$ et $n_{\max} = 5$.
⚠ Bonus : Imprimer le tableau triangulaire et observer comment chaque colonne supplémentaire fait gagner plusieurs décimales.
Signature attendue
def romberg(f, a: float, b: float, n_max: int) -> float:
Exemple
romberg((lambda x: 4 / (1 + x ** 2)), 0, 1, 5)→3.141592653638244
📖 Rappel de cours
La méthode de Romberg applique l'extrapolation de Richardson à la méthode des trapèzes. Idée : combiner astucieusement des approximations de moins en moins grossières pour annuler les termes d'erreur.
Construction d'un tableau triangulaire :
$R(i, 0) = T_{2^i} \quad\text{(trapèze sur }2^i\text{ sous-intervalles)}$
$R(i, j) = \frac{4^j\,R(i, j-1) - R(i-1, j-1)}{4^j - 1}$
Précision :
$R(i, j)$ est une approximation d'ordre $2(j+1)$.
- $R(i, 0)$ : ordre 2 (trapèze)
- $R(i, 1)$ : ordre 4 (équivalent à Simpson)
- $R(i, 2)$ : ordre 6
- $R(i, i)$ sur la diagonale : ordre $2(i+1)$
Astuce d'efficacité : $T_{2^i}$ peut être calculé à partir de $T_{2^{i-1}}$ en n'ajoutant que les nouveaux points (les anciens sont déjà inclus).
← Exercices d'analyse numérique en Python — dichotomie, Newton, intégration
Exercices du meme theme
- Méthode de Runge-Kutta d'Ordre 4 (RK4)
- Méthode des Moindres Carrés
- Méthode de Jacobi
- Interpolation Bilinéaire
- Géométrie 3D — Vecteurs
- Marche Aléatoire 2D
La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.