Résolution numérique : dichotomie et méthode de Newton expliquées
Certaines équations n'ont pas de solution analytique : f(x) = cos(x) - x, ou x⁵ + x = 1. Pour ces cas, on utilise des méthodes numériques qui approchent la solution par itérations successives. Cet article présente les deux algorithmes principaux : la dichotomie (méthode du milieu) et la méthode de Newton (tangente), avec exemples chiffrés.
Pourquoi avoir besoin de résolution numérique ?
De nombreuses équations n'ont pas de solution exacte en termes de fonctions usuelles :
- x⁵ - x + 1 = 0 (Abel-Ruffini : pas de formule générale pour degré ≥ 5)
- cos(x) - x = 0 (transcendantale)
- e^x - 3x = 0
- x - sin(x) = 1
La résolution numérique donne une approximation aussi précise que voulu.
La dichotomie (méthode du milieu)
Principe
Si f(a) et f(b) sont de signes opposés (f(a) × f(b) < 0), et si f est continue, alors il existe au moins une racine entre a et b (théorème des valeurs intermédiaires).
Algorithme :
- Calculer m = (a + b) / 2 (milieu)
- Si f(m) = 0 : m est la racine, terminé
- Si f(a) × f(m) < 0 : la racine est dans [a, m] → remplacer b par m
- Sinon : la racine est dans [m, b] → remplacer a par m
- Recommencer jusqu'à atteindre la précision voulue
Exemple : résoudre x² - 2 = 0 (trouver √2)
On sait que √2 est entre 1 et 2 (car 1² = 1 < 2 < 4 = 2²).
| Itération | a | b | m | f(m) | Nouveau intervalle |
|---|---|---|---|---|---|
| 1 | 1 | 2 | 1,5 | 0,25 | [1; 1,5] |
| 2 | 1 | 1,5 | 1,25 | -0,4375 | [1,25; 1,5] |
| 3 | 1,25 | 1,5 | 1,375 | -0,109 | [1,375; 1,5] |
| 4 | 1,375 | 1,5 | 1,4375 | 0,066 | [1,375; 1,4375] |
| 5 | 1,375 | 1,4375 | 1,40625 | -0,0224 | [1,40625; 1,4375] |
| ... | ... | ... | ... | ... | ... |
| 20 | ... | ... | 1,41421 | ~10⁻⁵ | — |
√2 ≈ 1,41421... La dichotomie converge linéairement : chaque itération divise par 2 l'erreur.
Vitesse de convergence
Pour une précision ε souhaitée à partir d'un intervalle de longueur L₀ :
Nombre d'itérations ≈ log₂(L₀ / ε)
Pour L₀ = 1 et ε = 10⁻⁶ : ~20 itérations. Pour ε = 10⁻¹² : ~40 itérations.
La méthode de Newton (tangente)
Principe
À partir d'une valeur approchée x_n, on construit la tangente à f en ce point. L'intersection de la tangente avec l'axe des x donne x_{n+1} :
x_{n+1} = x_n - f(x_n) / f'(x_n)
Très rapide : convergence quadratique (chaque itération double approximativement le nombre de décimales correctes).
Exemple : résoudre x² - 2 = 0 par Newton
f(x) = x² - 2, f'(x) = 2x.
Formule : x_{n+1} = x_n - (x_n² - 2) / (2x_n) = (x_n + 2/x_n) / 2.
Avec x₀ = 1 :
| n | x_n | Erreur |
|---|---|---|
| 0 | 1 | 0,414 |
| 1 | 1,5 | 0,0858 |
| 2 | 1,4167 | 0,00245 |
| 3 | 1,41422 | 2 × 10⁻⁶ |
| 4 | 1,41421356 | 10⁻¹² |
5 itérations vs 40 pour la dichotomie. Énorme gain de vitesse.
L'algorithme de Héron (cas particulier)
Pour calculer √a, Newton donne :
x_{n+1} = (x_n + a/x_n) / 2
Connu depuis Héron d'Alexandrie (1er siècle), bien avant le calcul différentiel. Utilisé encore aujourd'hui dans les processeurs pour calculer les racines carrées.
Comparaison dichotomie vs Newton
| Critère | Dichotomie | Newton |
|---|---|---|
| Vitesse de convergence | Linéaire | Quadratique |
| Itérations pour 10 décimales | ~33 | ~5 |
| Garantie de convergence | Oui (si signes opposés) | Non (peut diverger) |
| Nécessite la dérivée | Non | Oui |
| Robustesse | Élevée | Sensible au point de départ |
| Implémentation | Simple | Plus complexe |
Pour les fonctions simples et bien comportées, Newton gagne. Pour les cas pathologiques, dichotomie est plus sûre.
Les pièges de la méthode de Newton
Divergence
Si la dérivée est trop petite, la nouvelle approximation peut s'éloigner. Exemple : f(x) = x^(1/3). À x₀ = 1, Newton donne x₁ = -2, x₂ = 4, etc. Divergence rapide.
Oscillation
Avec certaines fonctions, Newton peut osciller entre deux points sans converger.
Boucle infinie ou point fixe
Si f'(x_n) = 0, la division par 0 fait planter l'algorithme.
Méthode hybride : sécurisée
En pratique, on combine souvent :
- Démarrer avec dichotomie pour encadrer la racine
- Affiner avec Newton dans l'intervalle réduit
- Si Newton diverge, revenir à dichotomie
C'est la stratégie utilisée par les solveurs d'équations dans Wolfram Alpha, MATLAB, Python (scipy.optimize).
Autres méthodes courantes
Méthode de la sécante
Variante de Newton sans dérivée : utilise deux points pour approcher la tangente.
x_{n+1} = x_n - f(x_n) × (x_n - x_{n-1}) / (f(x_n) - f(x_{n-1}))
Convergence super-linéaire (entre dichotomie et Newton).
Méthode du point fixe
Reformuler l'équation en x = g(x), puis itérer x_{n+1} = g(x_n).
Convergence si |g'(x*)| < 1 au voisinage de la solution x*.
Méthode de Brent
Combine dichotomie, méthode de la sécante et interpolation quadratique inverse. Algorithme robuste et performant utilisé par défaut dans de nombreuses bibliothèques.
Applications pratiques
Calcul des racines en physique
Résoudre les équations de Kepler en mécanique céleste, les équations d'état en thermodynamique, les modes propres en mécanique vibratoire.
Optimisation
Trouver le maximum de f revient à résoudre f'(x) = 0. Newton appliqué à f' donne la méthode de Newton-Raphson en optimisation.
Calculs financiers
Calculer le taux interne de rentabilité (TIR) d'un investissement : trouver le taux r tel que la VAN(r) = 0. Équation polynomiale de degré N, résolue numériquement.
Apprentissage automatique
L'algorithme de descente de gradient est une généralisation de Newton à plusieurs variables. Au cœur de l'entraînement des réseaux de neurones.
Exemple complet : cos(x) - x = 0
Équation transcendantale célèbre. Pas de solution analytique. Solution unique entre 0 et 1.
Avec dichotomie
| n | a | b | m | f(m) |
|---|---|---|---|---|
| 1 | 0 | 1 | 0,5 | +0,377 |
| 2 | 0,5 | 1 | 0,75 | -0,018 |
| 3 | 0,5 | 0,75 | 0,625 | +0,186 |
| ... | ... | ... | ... | ... |
| 20 | ... | ... | 0,73908 | ~10⁻⁶ |
Avec Newton
f(x) = cos(x) - x, f'(x) = -sin(x) - 1.
x_{n+1} = x_n - (cos(x_n) - x_n) / (-sin(x_n) - 1)
Avec x₀ = 0,5 :
- x₁ = 0,7552
- x₂ = 0,7391
- x₃ = 0,73908513
- x₄ = 0,73908513321516... (16 décimales correctes)
Solution : x ≈ 0,73908513321516 (point fixe de cosinus).
Implémentation Python
from math import cos, sin
def newton(f, df, x0, tol=1e-10, max_iter=50):
x = x0
for _ in range(max_iter):
fx = f(x)
if abs(fx) < tol:
return x
x -= fx / df(x)
return x
# Résoudre cos(x) - x = 0
sol = newton(lambda x: cos(x) - x,
lambda x: -sin(x) - 1,
x0=0.5)
print(sol) # 0.7390851332151607
Conclusion
Les méthodes numériques sont essentielles dès qu'on quitte les équations simples : équations transcendantales, polynômes de haut degré, systèmes non linéaires. Dichotomie pour la robustesse, Newton pour la vitesse. La plupart des logiciels scientifiques (MATLAB, Mathematica, Python scipy) combinent ces approches pour des solveurs robustes. Notre Calculatrice scientifique ne fait pas directement de résolution numérique, mais permet les calculs intermédiaires. Pour les équations, voir nos calculatrices d'équations dédiées.
🧮 Utilisez l'outil : Calculatrice scientifique — calcul instantané avec explication pas à pas.