Méthode de bissection
Objectifs d'apprentissage
À la fin de cette leçon, vous serez en mesure de :
- Comprendre le principe de l'alternance de signe
- Implémenter l'algorithme de bissection
- Estimer le nombre d'itérations nécessaires pour atteindre une précision donnée
- Identifier les conditions d'application de la méthode
Principe fondamental : l'alternance de signe
La méthode de bissection (aussi appelée interval-halving method ou méthode de dichotomie) repose sur un principe géométrique simple : si une fonction continue change de signe entre deux points, alors elle s'annule quelque part entre ces deux points.
Théorème des valeurs intermédiaires
Si est continue sur l'intervalle et si et sont de signes opposés, alors il existe au moins un point tel que .
Idée de la méthode
L'algorithme exploite ce théorème de manière itérative :
- On part d'un intervalle contenant une racine
- On coupe l'intervalle en deux au point milieu
- On détermine dans quelle moitié se trouve la racine (par le test de signe)
- On recommence avec le nouvel intervalle, deux fois plus petit
À chaque itération, l'intervalle de recherche est divisé par 2, d'où le nom de « bissection ».
Condition suffisante de convergence
Condition suffisante
La méthode de bissection converge vers une racine si :
est continue sur l'intervalle de recherche
et (signes opposés)
Cas de figure selon le comportement de F
Examinons différentes configurations possibles pour une fonction F continue sur [X₁, X₂] avec F(X₁) · F(X₂) < 0 :
Cas de figure pour la méthode de bissection
Condition : F continue sur [X₁, X₂] avec F(X₁) · F(X₂) < 0
Cas 1 : F croissante
Racine unique garantie
F(X₁) < 0 et F(X₂) > 0
→ F(X₁) · F(X₂) < 0 ✓
Cas 2 : F décroissante
Racine unique garantie
F(X₁) > 0 et F(X₂) < 0
→ F(X₁) · F(X₂) < 0 ✓
Cas 3 : Plusieurs racines
F continue, change de signe
F(X₁) > 0 et F(X₂) > 0
→ F(X₁) · F(X₂) < 0 ✓
Résumé des cas :
Si F est monotone (croissante ou décroissante), la racine est unique et la bissection la trouve.
Si F n'est pas monotone, il peut y avoir plusieurs racines. La bissection en trouve une seule.
Toujours tracer la fonction avant d'appliquer la bissection pour identifier toutes les racines.
Attention aux racines multiples
Si l'intervalle contient plusieurs racines, la méthode de bissection convergera vers une seule d'entre elles (celle qui se trouve dans le sous-intervalle sélectionné à chaque étape). Il n'y a pas de garantie sur laquelle sera trouvée.
Algorithme de la méthode de bissection
Pseudo-code
Algorithme : Méthode de bissection
Entrées : F (fonction), X1, X2 (bornes), δ (tolérance sur x), ε (tolérance sur F)
Sortie : X (approximation de la racine)
Précondition : F(X1) · F(X2) ≤ 0
Calculer X3 = (X1 + X2) / 2
Tant que (|X1 - X2| ≥ δ) ET (|F(X3)| ≥ ε) faire
Calculer X3 = (X1 + X2) / 2
Si F(X1) · F(X3) ≤ 0 alors
X2 ← X3 // La racine est dans [X1, X3]
Sinon
X1 ← X3 // La racine est dans [X3, X2]
Fin Si
Fin Tant que
Retourner X = X3Implémentation en Python
def bissection(f, x1, x2, tol_x=1e-6, tol_f=1e-10, max_iter=100):
"""
Méthode de bissection pour trouver une racine de f sur [x1, x2].
Paramètres:
f : fonction dont on cherche la racine
x1, x2 : bornes de l'intervalle initial
tol_x : tolérance sur x (critère d'arrêt)
tol_f : tolérance sur f(x) (critère d'arrêt)
max_iter : nombre maximum d'itérations
Retourne:
x3 : approximation de la racine
iterations : liste des itérés successifs
"""
# Vérification de la condition initiale
if f(x1) * f(x2) > 0:
raise ValueError("f(x1) et f(x2) doivent être de signes opposés")
iterations = []
for n in range(max_iter):
x3 = (x1 + x2) / 2
fx3 = f(x3)
iterations.append({'n': n+1, 'x3': x3, 'f(x3)': fx3, 'erreur': abs(x2 - x1)})
# Critères d'arrêt
if abs(x2 - x1) < tol_x or abs(fx3) < tol_f:
return x3, iterations
# Choix du sous-intervalle
if f(x1) * fx3 <= 0:
x2 = x3
else:
x1 = x3
return x3, iterationsDéfinitions importantes
Itération
Définition : Itération
Une itération est définie comme un parcours complet de la séquence d'opérations de la boucle principale de l'algorithme. Cela comprend :
- Le calcul du point milieu
- L'évaluation de
- Le choix du nouveau sous-intervalle
Itéré d'ordre n
Définition : Itéré d'ordre n
L'itéré d'ordre n, noté , est la valeur de l'approximation de la racine obtenue après itérations.
- : valeur initiale (point milieu de )
- : valeur après la 1ère itération
- : valeur après la n-ème itération
Analyse de l'erreur
Intervalle de confiance
Au départ, la racine se trouve dans l'intervalle . L'erreur maximale sur notre approximation est donc :
Après chaque itération, l'intervalle est divisé par 2, donc l'erreur est également divisée par 2.
Formule de l'erreur à l'itération n
Erreur de la méthode de bissection
Après itérations, l'erreur absolue sur l'approximation de la racine est bornée par :
Nombre d'itérations nécessaires
Si on souhaite obtenir une précision sur la racine, on peut calculer le nombre d'itérations nécessaires :
Estimation du nombre d'itérations
Pour obtenir une précision à partir d'un intervalle initial , il faut au minimum :
où désigne la fonction plafond (arrondi supérieur).
Exemple de calcul
Pour un intervalle initial et une précision souhaitée :
Il faudra donc au moins 11 itérations.
Exemple détaillé
Considérons la fonction :
Cette fonction peut s'écrire sous forme factorisée :
Elle possède donc trois racines exactes : , et .
Paramètres de l'algorithme
- Intervalle initial :
- Tolérance sur :
- Tolérance sur :
Tableau des itérations
| Itération | X₃ | F(X₃) | |Xₙ₊₁ - Xₙ| |
|---|---|---|---|
| 1 | 1.5 | -1.875 | 0.5 |
| 2 | 1.75 | 0.171875 | 0.25 |
| 3 | 1.625 | -0.943359 | 0.125 |
| 4 | 1.6875 | -0.409424 | 0.0625 |
| 5 | 1.71875 | -0.124786 | 0.03125 |
| 6 | 1.73438 | 0.0220299 | 0.015625 |
| 7 | 1.72656 | -0.0517554 | 0.0078125 |
| 8 | 1.73047 | -0.0149572 | 0.00390625 |
| 9 | 1.73242 | 0.00351267 | 0.00195312 |
| 10 | 1.73145 | -0.0057282 | 0.000976562 |
| 11 | 1.73193 | -0.00110924 | 0.000488281 |
Résultat : La tolérance en est atteinte en 11 itérations.
L'approximation obtenue est , très proche de la valeur exacte
Visualisation interactive
Le graphique suivant vous permet de visualiser la méthode de bissection en action. Vous pouvez observer comment l'intervalle se réduit à chaque itération.
Visualisation de la méthode de bissection
Fonction : F(X) = X³ + X² - 3X - 3
Intervalle initial :
Tableau des itérations (13 itérations)
| n | X₁ | X₂ | X₃ | F(X₃) | Erreur |
|---|---|---|---|---|---|
| 1 | 1.00000 | 2.00000 | 1.50000 | -1.875000 | 1.000000 |
| 2 | 1.50000 | 2.00000 | 1.75000 | 0.171875 | 0.500000 |
| 3 | 1.50000 | 1.75000 | 1.62500 | -0.943359 | 0.250000 |
| 4 | 1.62500 | 1.75000 | 1.68750 | -0.409424 | 0.125000 |
| 5 | 1.68750 | 1.75000 | 1.71875 | -0.124786 | 0.062500 |
| 6 | 1.71875 | 1.75000 | 1.73438 | 0.022030 | 0.031250 |
| 7 | 1.71875 | 1.73438 | 1.72656 | -0.051755 | 0.015625 |
| 8 | 1.72656 | 1.73438 | 1.73047 | -0.014957 | 0.007813 |
| 9 | 1.73047 | 1.73438 | 1.73242 | 0.003513 | 0.003906 |
| 10 | 1.73047 | 1.73242 | 1.73145 | -0.005728 | 0.001953 |
| 11 | 1.73145 | 1.73242 | 1.73193 | -0.001109 | 0.000977 |
| 12 | 1.73193 | 1.73242 | 1.73218 | 0.001201 | 0.000488 |
| 13 | 1.73193 | 1.73218 | 1.73206 | 0.000046 | 0.000244 |
Interprétation
- • La zone bleue claire représente l'intervalle de recherche actuel [X₁, X₂]
- • Les points verts sont les bornes de l'intervalle
- • Le point rouge est le point milieu X₃
- • À chaque itération, l'intervalle est divisé par 2
- • La racine exacte est √3 ≈ 1.7320508...
Formule de l'erreur
ΔX⁽ⁿ⁾ = |X₁ - X₂| / 2ⁿ
Après 1 itération(s), l'erreur théorique est : 0.500000
Avantages et inconvénients
Avantages
- Simplicité : algorithme facile à comprendre et à implémenter
- Robustesse : converge toujours si les conditions sont satisfaites
- Hypothèse faible : ne nécessite que la continuité de
- Convergence garantie : on peut prédire exactement le nombre d'itérations nécessaires
Inconvénients
- Convergence lente : convergence linéaire (l'erreur est divisée par 2 à chaque itération)
- Nécessite un intervalle initial : il faut connaître et tels que
- Une seule racine : ne trouve qu'une racine même si l'intervalle en contient plusieurs
- Pas d'extension directe : difficile à généraliser aux systèmes d'équations
Résumé
Dans cette leçon, nous avons étudié la méthode de bissection :
-
Principe : diviser successivement l'intervalle de recherche par 2 en utilisant le changement de signe
-
Condition suffisante : continue sur avec
-
Algorithme : calculer le point milieu, tester le signe, choisir le bon sous-intervalle
-
Erreur : — convergence linéaire
-
Estimation : itérations pour une précision