Vous êtes sur la page 1sur 10

Chapitre 1 : Résolution des équations type f(x)=0

Résolution des équations de type f(x)=0

Nous nous restreignons, par souci de simplicité, à la recherche de racines réelles, zéros
de fonctions réelles continues.
L’existence et une première localisation des solutions utilisent le théorème des valeurs
intermédiaires.

Théorème 1.1 (Théorème des valeurs intermédiaires)


Si f est une fonction continue sur [a, b], et si f(a).f(b) ≤ 0, alors il existe au moins un
point c ∈ [a, b] tel que f(c)=0.

Si de plus f est strictement monotone sur [a, b], la racine est unique dans [a, b].

1- Méthode de dichotomie (Resserrement)


La méthode de dichotomie est un procédé systématique de raffinement de la
localisation d’une racine. Le mot dichotomie (dicho = deux, tomie = coupe) exprime
clairement le principe de la méthode.
Soit [a, b] un intervalle initial de localisation de la racine cherchée s. Supposons que
l’on ait f(a).f(b)< 0, l’algorithme de la dichotomie s’écrit :

Figure 1. Fonction présentant 3 racines

Notes de cours de Farid ASMA 2007/2008 1


Chapitre 1 : Résolution des équations type f(x)=0

Tant que ( abs( b – a ) > epsilon ) faire { test d’arrêt }


calcul de m=(a+b)/2
calcul de f(m)
test sur le signe de (f(a) * f(m))
si (f(a) * f(m)) < 0 faire b=m {s est dans l’intervalle [a, m] }
sinon faire a = m { s est dans l’intervalle [m,b] }
Fin de boucle

Cet algorithme réduit à chaque pas l’amplitude de la localisation d’un facteur 2. L’erreur est
−6
donc réduite d’un facteur 2 à chaque itération. En 20 itérations, par exemple l’erreur sera 10
fois l’erreur initiale. Cette méthode est relativement lente. Par contre elle converge dans tous
les cas où la fonction change de signe au voisinage de la racine (ce qui exclut les racines de
multiplicités paires). C’est une méthode que nous qualifierons de méthode tout-terrain, lente
mais quasiment infaillible.
b−a
Estimation de l’erreur après n étapes : xn − s ≤
2 n +1

2- Méthodes du point fixe (Approximations successives)


Les méthodes du point fixe permettent de construire des algorithmes plus rapides que la
dichotomie (parfois) mais surtout des algorithmes qui se généralisent simplement au cas de
problèmes en dimension supérieure à un. On ramène l’équation f(x)=0 à une équation
équivalente de forme point fixe
x = g(x)

Ceci nous permettra d’obtenir simplement une méthode itérative de la forme :

x0 donné : initialisation
xn+1 = g(xn)

Si cette itération converge, elle converge vers le point fixe de g, donc de manière équivalente
vers le zéro recherché de f. La condition de convergence essentielle est une condition de
contraction sur la fonction g.

Notes de cours de Farid ASMA 2008/2009 2


Chapitre 1 : Résolution des équations type f(x)=0

Figure 2. Forme f(x)=0 et forme point fixe équivalente d’une équation

Définition 1.1. (Application contractante)


On dit qu’une application définie de [a, b] dans [a, b] est contractante, ou que c’est
une contraction, s’il existe un nombre 0 ≤ k< 1 tel que, pour tout couple de points distincts
(x1, x2) de [a, b], on ait:
|g(x1) − g(x2)|≤ k|x1 − x2|
k est le facteur de contraction. Il donne la vitesse de convergence de l’itération.
Dans le cas où g est dérivable, la condition de contraction se ramène à la condition suivante
sur la dérivée :
|g’(x)|≤ k< 1 ∀ x ∈ [a, b] , k = max g ′( x )
x∈[ a ,b ]

kn
Estimation de l’erreur après n itérations : xn − s ≤ x1 − x0
1− k

3- Vitesse de convergence et ordre d’une méthode itérative


Nous nous plaçons dans le cas d’une itération xn+1 = g(xn) convergente et nous
supposons la fonction g suffisamment dérivable. L’application de la formule de Taylor au
voisinage de la racine s donne :
( xn − s )2
xn+1 − s = g ( xn ) − g ( s ) = ( xn − s )g ′( s ) + g ′′( s ) + O(( xn − s )3 )
2
Méthodes d’ordre un
Si g’ (s)≠0, la limite du rapport des écarts est :
xn+1 − s
lim = g ′( s )
n→∞ xn − s

Notes de cours de Farid ASMA 2008/2009 3


Chapitre 1 : Résolution des équations type f(x)=0

L’écart au pas n +1 est donc du même ordre que l’écart au pas n. Le facteur de réduction
d’erreur est asymptotiquement donné par |g’(s)|. Plus petite sera la valeur de |g’(s)|, plus vite
se fera la convergence.

Méthodes d’ordre deux


Si g’(s)=0, l’erreur au pas n +1 est un infiniment petit d’ordre ≥ 2 par rapport à a l’erreur au
pas n. On obtient en effet :
xn+1 − s 1
lim = g ′′( s )
xn − s
2
n→∞ 2

La convergence est dite quadratique. La réduction du nombre des itérations est spectaculaire
−8
dès l’ordre 2. A partir d’une erreur de 0.1, on obtient une erreur de 10 en trois itérations.

4- Méthode de Newton et Quasi-Newton


On obtient évidemment une forme point fixe équivalente à f(x) =0 en considérant la
famille x= x − λ(x)f(x), avec λ définie et non nulle sur un intervalle [a, b] contenant la racine
s. Parmi tous les choix possibles pour λ, le choix qui conduit à la convergence la plus rapide
1
est λ = (f’ dérivée de f).
f′
La méthode ainsi obtenue est la méthode de Newton. Il est facile de vérifier que l’itération
f ( xn )
xn+1 = xn −
f ′( xn )
est convergente et sa convergence est d’ordre deux, avec
2 n +1 −1
2 n +1 ⎛M ⎞
xn+1 − s ≤ x0 − s ⎜ ⎟
⎝ 2m ⎠
M = max f ′′( x ) et m = min f ′( x )
x∈[a ,b ] x∈[a ,b ]

Evidement la méthode de Newton n’est plus efficace si f’ s’annule, donc dans le cas de
racines multiples. Il existe des résultats de convergence globale de Newton. Ils supposent des
hypothèses de monotonie et de concavité de signe constant sur f (pas de point d’inflexion). La
méthode de Newton est très classique. Elle s’interprète géométriquement comme méthode de
la tangente.

Notes de cours de Farid ASMA 2008/2009 4


Chapitre 1 : Résolution des équations type f(x)=0

Figure 3. Interprétation géométrique de la méthode de Newton

La méthode de Newton nécessite le calcul des dérivées f’(xn). C’est un inconvénient


dans la pratique où l’on ne dispose pas toujours d’expression analytique pour la fonction f.
Une solution simple est fournie par la méthode de la sécante ou de fausse position dans
laquelle on remplace le calcul de f’(xn) par l’approximation
f ( xn ) − f ( xn−1 )
f ′( xn ) =
xn − xn−1
Ce qui donne
f ( xn )( xn − xn−1 )
xn+1 = xn −
f ( xn ) − f ( xn−1 )

Les procédures de résolution d’équations de type f(x)=0 que l’on trouve dans les outils
génériques d’algorithmique (Matlab par exemple), combinent en général une première
approche de la racine par quelques pas de dichotomie, suivis, pour la convergence fine, par
une méthode rapide afin d’obtenir une grande précision en peu d’itérations.

5- Méthode de Newton et Quasi-Newton pour les systèmes


La méthode de Newton se généralise en dimension supérieure à un. On peut en effet
e
montrer que le choix du n +1 itéré xn+1 est tel que
2
f(xn+1)= O(|xn+1 − xn| )

Notes de cours de Farid ASMA 2008/2009 5


Chapitre 1 : Résolution des équations type f(x)=0

En effet un développement simple donne :


2
f(xn+1)= f(xn)+(xn+1 − xn)f’(xn)+O(|xn+1 − xn| )
On voit donc que le choix
f ( xn )
x n +1 = x n −
f ′( xn )
assure bien
2
f(xn+1)= O(|xn+1 − xn| )
On retrouve ainsi l’ordre 2 de la méthode de Newton.

Dans le cas d’un système de N équations non linéaires, on peut écrire


2
F (Xn+1)= F (Xn)+F’(Xn)(Xn+1 − Xn)+O(║Xn+1 − Xn║ )
la même idée conduit au choix suivant pour l’itération vectorielle :
−1
Xn+1 = Xn −{F’(Xn)} F (Xn)
∂Fi
( X n ) . Pratiquement le n +1 itéré
e
où F’(Xn) désigne la matrice Jacobienne de coefficients
∂x j

est calculé à chaque itération par résolution de systèmes linéaires


F’(Xn)[Xn+1 − Xn]= −F (Xn)

La matrice F(Xn) doit être assemblée et recalculée et le système doit être résolu à
chaque itération. Ceci rend la méthode de Newton très coûteuse en temps de calcul.

Pour éviter ces inconvénients, on utilise des méthodes dites de Quasi – Newton dans
lesquelles sont proposées des approximations de l’inverse de la matrice Jacobienne. Une
méthode classique et efficace de ce type est la méthode BFGS (Broyden – Fletcher –
Goldfarb – Shanno).

Cas particulier de deux équations à deux inconnues


⎧ f ( x, y ) = 0 ⎛ x⎞
F( X ) = ⎨ , et X = ⎜⎜ ⎟⎟
⎩ g( x , y ) = 0 ⎝ y⎠
⎛ ∂f ∂f ⎞
⎜ ⎟
∂x ∂y ⎟
F(X )=⎜


⎜ g ∂g ⎟
⎜ ∂x ∂y ⎟⎠( X )

Notes de cours de Farid ASMA 2008/2009 6


Chapitre 1 : Résolution des équations type f(x)=0

Ce qui donne
⎛ ∂g ∂f ⎞
⎜ − ⎟
1 ⎜ ∂y ∂y ⎟
(F ′( X ))−1 =
Δ ⎜ ∂g ∂f ⎟
⎜− ⎟
⎝ ∂x ∂x ⎠( X )
avec
⎛ ∂f ∂g ∂g ∂f ⎞
Δ = ⎜⎜ . − . ⎟⎟ ≠ 0
⎝ ∂x ∂y ∂x ∂y ⎠ ( X )

L’écriture de l’équation vectorielle devient


⎧ ⎛ ∂g ∂f ⎞
⎪ ⎜f −g ⎟
⎜ ∂y ∂y ⎟
⎪ xi+1 = xi −
⎪ ⎜ Δ ⎟
⎪ ⎜ ⎟
⎝ ⎠ ( x ,y )

⎪ ⎛ ∂f ∂g ⎞
⎜g −f ⎟
⎪ ⎜ ∂ x ∂ x ⎟
⎨ yi+1 = yi −
⎪ ⎜ Δ ⎟
⎜ ⎟
⎪ ⎝ ⎠ ( x ,y )
⎪⎛ x ⎞
⎪⎜⎜ 0 ⎟⎟ , valeurs initiales chisies
⎪⎝ y0 ⎠


6- Méthode de Bairstow
Pn ( x ) = a0 x n + a1 x n−1 + ... + an

Le principe de la méthode est de déterminer un polynôme qui divise Pn(x)


Q2 ( x ) = x 2 − sx + p avec s=x1+x2 et p=x1.x2

⎧ n
⎪ Pn ( x ) = ∑ ak x
n−k

⎨ k =0
⎪⎩Q2 ( x ) = x 2 − sx + p

On effectue la division Euclidienne


n−2
Pn(x)=Q2(x).Qn-2(x)+Rn(x) avec Qn−2 = ∑ bk x n−k −2
k =0

Qn−2 ( x ) = b0 x n−2 + b1 x n−3 + ... + bn−2

Rn ( x ) = r0 x + r1

Notes de cours de Farid ASMA 2008/2009 7


Chapitre 1 : Résolution des équations type f(x)=0

Pour garder l’homogénéité de calcul, on pose : r0=bn-1 et r1=bn – s.bn-1


Pn ( x ) = a0 x n + a1 x n−1 + ... + an

Pn ( x ) = ( x 2 − sx + p )( b0 x n−2 + b1 x n−3 + ... + bn−2 ) + bn−1 x + bn − sbn−1

Nous obtenons le système d’équations suivant


⎧ f ( s , p ) = r0 = bn−1

⎩ g ( s , p ) = r1 = bn − sbn−1
Identification
b0=a0
b1=a1 + s.b0
b2=a2 + s.b1 – p.b0
………………. (1)
bk=ak + s.bk-1 – p.bk-2
…………………
bn=an + s.bn-1 – p.bn-2

Détermination du trinôme Q2(x) qui divise Pn(x)


Trouver Q2(x) qui divise Pn(x) revient à dire que le reste est nul
⎧ f ( s , p ) = r0 = 0

⎩ g ( s , p ) = r1 = 0

Pour ce faire, on applique la méthode de Newton – Raphson est nous obtiendrons les
itérations suivantes sur s et p
⎧ Si
⎪⎪ si +1 = si + Δ

i
Pi
⎪ pi +1 = pi +
⎪⎩ Δi
avec
⎛ ∂f ∂g ⎞
Si = ⎜⎜ g −f ⎟
⎝ ∂p ∂p ⎟⎠( s , p )
i i

⎛ ∂g ∂f ⎞
Pi = ⎜ f −g ⎟
⎝ ∂s ∂s ⎠ (si , pi )

⎛ ∂f ∂g ∂f ∂g ⎞
Δi = ⎜⎜ . − . ⎟⎟
⎝ ∂s ∂p ∂p ∂s ⎠( s , p ) i i

Notes de cours de Farid ASMA 2008/2009 8


Chapitre 1 : Résolution des équations type f(x)=0

Détermination de Si, Pi et Δi
∂f ∂bn−1 ∂g ∂bn ∂b
= , = − bn−1 − s n−1
∂s ∂s ∂s ∂s ∂s
∂f ∂bn −1 ∂g ∂bn ∂b
= , = − s n−1
∂p ∂p ∂p ∂p ∂p
Posons
⎛⎧ ∂b
⎜ ⎪σ k = k pour k = 0, n - 1
⎜⎨ ∂s
⎜ ⎪σ = ∂bn − b
⎜ ⎩ n ∂s n −1

⎜ ∂b
⎜ π k = k , pour k = 0, n
⎝ ∂p

Les σk sont déterminés en dérivant le système (1) par rapport à s


σ0=0
σ1=b0
σ2=b1 + s.σ1
………………. (2)
σk=bk-1 + s σk-1 – p.σk-2
…………………
σk=s σn-1 – p.σn-2

Les πk sont déterminés par :


∂b0
π0 = =0
∂p
∂b1
π1 = =0
∂p
Pour k=2,n
∂bk ∂ak ∂b ∂b
= + s k −1 − bk −2 − p k −2
∂p ∂p ∂p ∂p
π k = −bk −2 + sπ k −1 − pπ k −2 , k=2,n
On pose π k = −d k −1 et on remplace dans l’équation précédente

− d k −1 = −bk −2 − sd k −2 + pd k −3

d k −1 = bk −2 + sd k −2 − pd k −3 , k=2,n

Notes de cours de Farid ASMA 2008/2009 9


Chapitre 1 : Résolution des équations type f(x)=0

Ces équations sont les mêmes que celles de σ (système 2), donc
d k −1 = σ k −1 ⇒ π k = −σ k −1 , k=1,n
En fin
∂f ∂g
= σ n−1 , = σ n − sσ n−1
∂s ∂s
∂f ∂g
= −σ n − 2 , = −σ n−1 + sσ n−2
∂p ∂p
et
S i = (bn−1σ n−1 − bnσ n−2 )( si , pi )

Pi = (bn−1σ n − bnσ n−1 )( si , pi ) (3)

Δi = (σ nσ n−2 − ( σ n−1 )2 )( s , p )
i i

Algorithme de calcul
1- A partir d’un couple de valeurs si et pi, on calcule simultanément les bk et σk au moyen
des relations (1) et (2)
2- Les valeurs bn-1, bn, σn-2, σn-1 et σn ainsi calculées sont reportées dans (3)
3- On en déduit Si, Pi, et Δi
4- On calcul si+1 et pi+1, i=0,nmax
5- Test nmax est obtenu lorsque bn-1 et bn sont proche de 0, pratiquement le test est donné
si+1 − si + pi+1 − pi
par l’expression suivante : ≤ 10 −2
si+1 + pi+1

6- snmax et pnmax sont solutions

Notes de cours de Farid ASMA 2008/2009 10