Ecole Nationale de l’Industrie Minérale
Première année
Rachid ELLAIA
1
Equations non linéaires f(x)=0
• Dans la pratique, beaucoup de problèmes se
ramènent à la résolution d’une équation de la
forme : f(x) = 0
• Le problème est alors de trouver la racine dont
on connaît l’existence et dont, parfois, on
connaît une valeur approchée. .
• Plusieurs méthodes de résolution itératives
– Point fixe
– Newton
– Quasi-Newton (sécante, Broyden, …)
– Gradient
2
Rachid ELLAIA
Méthodes Numériques : Systèmes linéaires
Equations non linéaires f(x)=0 lorsque n=1
• Recherche par dichotomie
• méthode de la sécante
• méthode de point fixe
• méthode de Newton-Raphson
Aussi lorsque
n≥2
3
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Recherche dichotomique
Mé thode de la dichotomie
f(a)f(b) < 0
→
a+b
c=
2
f(b)
si f(c) < ε
alors on a trouvé la solution : c
sinon si f(a)f(c) > 0
alors a ← c
sinon si f(b)f(c) > 0
alors b ← c
c=a+b/2
b
f(x)
a
f(c)
f(a)
4
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Recherche dichotomique
Mé thode de la dichotomie
Théorème :
f(b)
l'algorithme de recherche par
dichotomie, soit x la solution du problème
f(x) = 0
Alors {xn }n∈N converge vers x avec :
xn − x ≤
b−a
2n
n ≥1
a
c=a+b/2
b
f(x)
Soit {xn }n∈N la suite générée par
f(c)
f(a)
Une idée : prendre c à l’intersection de la sécante et l’axe
des x
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
5
Méthode de la sécante
Mé thode de la sé quente
f(b)
b−a
c = b − f(b)
f(b) − f(a)
a
xk − xk −1
xk +1 = xk − f(xk )
f(xk ) − f(xk −1 )
c
b
f(c)
f(a)
6
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de Newton
b−a
c = b − f(b)
f(b) − f(a)
1
c = b − f(b)
f '(b)
Mé thode de Newton-Raphson
f(b)
f(c)
a
f(xk )
xk +1 ← xk −
f '(xk )
c
b
f(a)
7
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de Newton
• En dimension 1 :
– on considère l'approximation affine :
f ( uk + h ) = f ( uk ) + f ′ ( uk ) h + h ε ( h )
– on cherche h tel que f(uk+h)=0 soit si on
néglige les terme en h2
f(uk )
h≈
f '(uk )
– et ainsi
f ( uk )
uk +1 = uk + h = uk −
f ′ ( uk )
8
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de Newton
• Illustration
y=tanh(x)cos(x2)+x-2
2
1.5
y(x)
1
y'=(1-tanh2(x))cos(x2)
-2tanh(x)sin(x2)x+1
0.5
0
-0.5
-1
-1.5
-2
0
0.5
1
1.5
2
2.5
3
9
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de Newton
• Illustration
y=tanh(x)cos(x2)+x-2
2
1.5
y(x)
1
y'=(1-tanh2(x))cos(x2)
-2tanh(x)sin(x2)x+1
0.5
0
-0.5
-1
-1.5
-2
0
0.5
1
1.5
2
2.5
3
10
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de Newton
0.5
• Illustration
u2= 2.1380
y=tanh(x)cos(x2)+x-2
0
y'=(1-tanh2(x))cos(x2)
-2tanh(x)sin(x2)x+1
u1 = 2.1627
-0.5
u0 = 2
u1 = 2.1627
u2 = 2.1380
u3 = 2.1378
u4 = 2.1378
-1
1.9
1.95
2
2.05
2.1
2.15
2.2
u0 = 2
11
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de Newton en dimension n
– une équation, n inconnues :
f : IRn → IR
– n équations, n inconnues :
1 T 2
f(x + h) = f(x) + h ∇f(x) + h ∇ f ( x ) h + h ε(h2 )
2
T
Le vecteur gradient
 ∂f 
 ∂x 
 1
∇f(x) = ⋮ 


∂
f


 ∂xn 
Rachid ELLAIA
La matrice Hessiène
 ∂ 2f
x

2 ( )
 ∂x1
 2
∂ f

(x)
∇ 2 f ( x ) =  ∂x1∂x 2

⋮

 ∂ 2f

 ∂x ∂x ( x )
 1 n

∂ 2f
∂2f
(x) ⋯
(x)
∂x 2∂x1
∂xn∂x1



⋱
⋮


⋱
⋮


∂2f
⋯
⋯
x 
2 ( ) 
∂xn

12
Méthodes Numériques : Systèmes non linéaires
Méthode de Newton en dimension n
La méthode Newton peut s’appliquer à la résolution d’un
système de plusieurs équations non linéaires :
f1(x1, ⋯ , xn ) = 0

n
n
⋯⋯
F
:
IR
→
IR
avec F=(f1, ..., fn ) et F(x)=0

f (x , ⋯ , x ) = 0
n
n 1
on considère l'approximation affine :
F(x + h) = F(x) + JF (x)h + h ε(h)
La matrice jacobienne
Rachid ELLAIA
 ∂f1
 ∂x ( x )
 1
 ∂f2
(x)

JF (x) =  ∂x1
 ⋮

 ∂fn x
 ∂x ( )
 1
∂f1
∂f1

x
⋯
x
( )
( )
∂x 2
∂xn


∂f2
⋱
x
( )
∂xn


⋱
⋮

∂fn
⋯
⋯
( x ) 
∂xn

Méthodes Numériques : Systèmes non linéaires
13
Méthode de Newton en dimension n
On cherche le bon accroissement h pour que:
F(x+h) = 0
• On obtient l’accroissement h par : JF(x)h = -F(X)
• Si JF(x) est inversible alors h est l’unique solution du
système précédant.
Ainsi
x0
initialisation
JF (xk )h = −f(uk )
système linéaire (LU)
xk +1 = xk + h
itèration
L’itération de l’algorithme s’écrit comme en
dimension1, avec un test d’arrêt sur || xn+1 – xn ||
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
14
Méthode de Newton en dimension n
Théorème :
– s'il existe x tel que F(x)=0
• F est différentiable dans un voisinage de û
⌢
⌢
• JF(û) est inversible
JF (x) − JF (u) ≤ α x − u
– alors il existe η > 0 tel que
⌢
x
−
x
<η
• si x0 vérifie
0
• alors la suite construite par la méthode de Newton
converge vers û
15
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de Newton en dimension n
Théorème :
– s'il existe x tel que F(x)=0
• F est différentiable dans un voisinage de û
⌢
⌢
• JF(û) est inversible
JF (x) − JF (u) ≤ α x − u
– alors il existe η > 0 tel que
⌢
x
−
x
<η
• si x0 vérifie
0
• alors la suite construite par la méthode de Newton
converge vers û
• Avantage : convergence quadratique
il existe C > 0 tel que x k + 1 − x ≤ C x k − x
• Inconvénient : calcul de JF(x) souvent difficile
2
16
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Exemple
Considérons le système suivant:
f1 (x1,x2) = exp(x1) – x2
f2 (x1,x2) = x1²+x2² - 16
Faire 5 itérations de la méthode de Newton
pour approcher la solution de ce système.
Utiliser X0 = (2.8 , 2.8)
Même question pour le système suivant:
1

 x0 = 1
cos(xy) =
2 avec 

 y0 = 0
 x2 − e− y = 3

17
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de point fixe
On suppose que l’équation a été mise sous la
forme :
g(x) = x en définissant par exemple
g(x) = x + f(x)
on a
f(x) = 0
g(x) = x
A partir d’une valeur initiale x0, donnée, on
engendre la suite
xk = g(xk-1)
Si la suite converge vers une valeur x, alors
x = g(x) et f(x) = 0.
18
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de point fixe
• Principe général :
- conditions suffisantes sur g en dimension 1
– g dérivable et |g'(x)| < 1
- conditions suffisantes sur g en dimension n
– g différentiable et ρ||∇g(x)|| < 1 (ρ = rayon spectral)
• Convergence linéaire :
– il existe C > 0 tel que
x k +1 − x ≤ C xk − x
• Inconvénient : choix de g de manière algébrique
19
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthode de point fixe
• Exemple en dimension 1
– résolution de x2 - 2 = 0
– choix de g :
• g1(x) = 2/x
g'1(x) = -2/x2
• g2(x) = 2x - 2/x
g‘2(x) = 2+2/x2
• g3(x) = x/2 + 1/x g‘3(x) = 1/2-1/x2
g1
x0 = 1
x1 = 2
x2 = 1
x3 = 2
x4 = 1
g2
x0 = 0.999
x1 = -0.0402
x2 = 49.668
x3 = 99.296
x4 = 198.57
g'1(x) = -1
g‘2(x) = 3
g‘3(x) = 0
g3
x0 = 1
|g'(x)| < 1
x1 = 1.5000
x2 = 1.4167 convergence
assurée
x3 = 1.4142
x4 = 1.4142
20
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthodes de Quasi-Newton
• Comment se passer du calcul de ∇f(x) ?
• En dimension 1 : méthode de la sécante
xk +1 − xk
xk +2 = xk +1 − f ( xk +1 )
Approximation
f ( xk +1 ) − f ( xk )
de 1/f '(xk+1)
• En dimension n :
– le rapport précédent n'a aucun sens (u est un
vecteur)
– comment approcher la matrice JF(xk+1) ?
21
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthodes de Quasi-Newton
• Approximation de JF(xk+1) par la matrice Ak
– Ak doit vérifier
Ak(xk - xk-1)=f(xk) - f(xk-1)
– Problème : il existe une infinité de Ak
Méthode de Broyden :
condition supplémentaire :
Akz = Ak-1z si (xk - xk-1)Tz = 0
22
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthodes de Quasi-Newton
• Méthode de Broyden : algorithme
– initialisation de x0 et A0 (différences finies)
– itération :
xk +1 = xk −
−1
Ak f
( xk )
yk +1 = f ( xk +1 ) − f ( xk )
sk +1 = xk +1 − xk
A k +1 = A k
yk +1 − A k sk +1 )( sk +1 )
(
+
sk +1
T
2
23
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Méthodes de Quasi-Newton
• Convergence de la méthode de Broyden :
x
– « super-linéaire »
lim
k →∞
k +1
− xˆ
xk − xˆ
=0
– moins rapide que Newton
24
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
Conclusion
• Méthodes
– Newton :
• inconvénient = calcul des dérivées
• avantage = convergence quadratique
– Quasi-Newton :
• inconvénient = convergence super-linéaire
• avantage = plus de calcul des dérivées
– Point Fixe :
• inconvénient = convergence linéaire
• inconvénient = choix de g
• Problème général : initialisation de la suite !
Rachid ELLAIA
Méthodes Numériques : Systèmes non linéaires
25