ASI 3
Méthodes numériques pour l’ingénieur
Résolution de systèmes d’équation non linéaires
f ( x )=0
Introduction
• Comment résoudre le système suivant ?
– Méthodes directes – Méthodes itératives
= +
−
−
= +
−
= +
−
0 20
13 2
0 4
81
0 3
z y
x
z y
x
z y x
Introduction
• Comment résoudre le système suivant ?
– Méthodes directes : impossibles – Méthodes itératives
− = +
+
= +
+ +
−
=
−
−
− 0
3 3 20 10
0 06
. 1 ) sin(
) 1 . 0 (
81
2 0 ) 1 cos(
3
2 2
z π e
z y
x
yz x
xy
Résolution de f(x)=0
• Soit une fonction f : R
n→ R
n– continue sur ...
– Dérivable sur ...
• Principe :
– trouver une méthode itérative uk+1 = g(uk) qui converge vers la solution
• Plusieurs méthodes
– Newton
– Quasi-Newton (sécante, Broyden, …) – Point fixe
– Gradient
• Problèmes ?
– Convergence – Complexité
Résolution de f(x)=0
f(x)=0 lorsque n=1
• Recherche par dichotomie
• méthode de la séquente
• méthode de point fixe
• méthode de Newton-Raphson } Aussi lorsque
≥ 2 n
f(x)
c=a+b/2
f(c) a
f(a)
b f(b)
Mé thode de la dichotomie
Recherche dichotomique
c bf c b
f
c a c f a
f c
c f
b c a
b f a f
← >
←>
<
= +
→
<
alors
0 )
( ) ( si sinon
alors
0 )
( ) ( si sinon
: solution la
trouvé a
on alors
) ( si
2
0 )
( ) (
ε
Théorème :
{ } { }
1
2
: avec vers
converge
0 )
( : problème du
solution la
soit
, dichotomie par
recherche de
algorithme l'
par générée
suite la
soit
− ≥
≤
−
=
∈
∈
a n p b
p
p
p f p
p p
n n
N n n
N n n
Alors
Bonne idée : prendre c à l’intersection de la séquente et le l’axe des x
c
f(c) a
f(a)
b f(b)
Mé thode de la sé quente
Méthode de la séquente
) (
) ) (
(
) ( )
) ( (
1 1
1 −
+ − −
− −
=
−
− −
=
k k
k k k
k
k f x f x
x x x
f x
x
a f b
f
a b b
f b c
x1
f(x1)
x2 f(x2)
x3 x 4 x
5 f(x5)
Mé thode de la fausse position
x1
f(x1)
x2 f(x2)
x3 x
4 x
5 f(x5)
Mé thode de la sé quente
La « fausse » bonne idée
garder f(a) et f(b) de signe opposé
Bonne idée : si on est proche de la solution : prendre la dérivée
a
f(a)
b f(b)
c f(c)
Mé thode de Newton-Raphson
Méthode de Newton
) ( '
) (
1
k k k
k f x
x x f
x + ← −
) ( ' ) 1 (
) ( )
) ( (
b b f
f b c
a f b
f
a b b
f b c
−
=
−
− −
=
Méthode de Newton
• En dimension 1 :
– on considère l'approximation affine :
– on cherche h tel que f(uk+h)=0 soit si on néglige les terme en h2
– et ainsi ( )
( )k k k
k
k f u
u u f
h u
u +1 = + = − ′
(u h) ( ) ( )f u f u h h ( )h
f k + = k + ′ k + ε
) ( '
) (
k k
u f
u h ≈ f
0 0 . 5 1 1 . 5 2 2 . 5 3 -2
- 1 . 5 -1 - 0 . 5 0 0 . 5 1 1 . 5 2
Méthode de Newton
• Illustration
y=tanh(x)cos(x2)+x-2
y'=(1-tanh2(x))cos(x2) -2tanh(x)sin(x2)x+1
y(x)
1 . 9 1 . 9 5 2 2 . 0 5 2 . 1 2 . 1 5 2 . 2 -1
- 0 . 5 0 0 . 5
Méthode de Newton
• Illustration
y=tanh(x)cos(x2)+x-2 y'=(1-tanh2(x))cos(x2)
-2tanh(x)sin(x2)x+1
u0 = 2
u1 = 2.1627 u2 = 2.1380 u3 = 2.1378 u4 = 2.1378
u1 = 2.1627 u2= 2.1380
u0 = 2
Méthode de point fixe
• Définition
• f(x)=0 et le x = g(x)
• exemple
• convergence (suite de Cauchy)
• théorème de convergence globale
• théorème de convergence local
– théorème du point fixe
Méthode du point fixe
• Principe général :
– trouver g en fonction de f telle que
• f(û)=0 ⇔ g(û)=û
• la suite uk converge (si u0 est bien choisi)
– conditions suffisantes sur g en dimension 1
• g dérivable et |g'(û)| < 1
– conditions suffisantes sur g en dimension n
• g différentiable et ρ[∇g(û)] < 1 (ρ = rayon spectral)
Méthode du point fixe
• Convergence linéaire :
– il existe C > 0 tel que
• Inconvénient : choix de g de manière algébrique
û u
C û
uk+1 − ≤ k −
• Exemple en dimension 1
– résolution de x2 - 2 = 0 – choix de g :
• g1(x) = 2/x g'1(x) = -2/x2 g'1(û) = -1
• g2(x) = 2x - 2/x g'1(x) = 2+2/x2 g'1(û) = 3
• g3(x) = x/2 + 1/x g'1(x) = 1/2-1/x2 g'1(û) = 0
Méthode du point fixe
|g'(û)| < 1 convergence
assurée
u0 = 1
u1 = 1.5000 u2 = 1.4167 u3 = 1.4142 u4 = 1.4142 u0 = 1
u1 = 2 u2 = 1 u3 = 2 u4 = 1
u0 = 0.999 u1 = -0.0402 u2 = 49.668 u3 = 99.296 u4 = 198.57
g1 g2 g3
• Exemple en dimension 1
– résolution de x2 - 2 = 0 – choix de g :
• g1(x) = 2/x g'1(x) = -2/x2 g'1(û) = -1
• g2(x) = 2x - 2/x g'1(x) = 2+2/x2 g'1(û) = 3
• g3(x) = x/2 + 1/x g'1(x) = 1/2-1/x2 g'1(û) = 0
Méthode du point fixe
|g'(û)| < 1 convergence
assurée
u0 = 1
u1 = 1.5000 u2 = 1.4167 u3 = 1.4142 u4 = 1.4142 u0 = 1
u1 = 2 u2 = 1 u3 = 2 u4 = 1
u0 = 0.999 u1 = -0.0402 u2 = 49.668 u3 = 99.296 u4 = 198.57
g1 g2 g3
résumé
• Dichotomie
• séquente
• newton
• Point fixe
Accélération !
Multidimensionnel ?
Accélération de la convergence
• Définition : l’ordre de la convergence
• Motivation
• Définition du principe de Aitken
• Théorème de convergence quadratique
• Aitken et Steffensen
Méthode de Newton
• En dimension n :
– une équation, n inconnues :
– n équations, n inconnues :
( )
( ) ( ) ( )
( )
( ) ( )
∂
∂
∂
∂
∂
∂ ∂
∂
∂
∂
∂
∂
=
∇
x x x f
x f x x f
x x x f
x x f
x f
x f
n n n
n
L L
M O
M
M O
L
1 1 2
1 2
1 1
1
La matrice jacobienne R
R
f : n →
∂
∂
∂
∂
∂
∂
=
∇
n i
x f x f x f
x f
M M1 )
(
) ( )
( 2 '
) 1 ( '
) ( )
(x h f x h f x h H x h h h2
f + = + ∇ + f + ε
Le vecteur gradient
La matrice Hessiène
n
n R
R
f : →
) ( )
( 2 '
) 1 ( )
( )
(x h f x f x h h H x h h h2
f + = + ∇ + f + ε
Méthode de Newton
• En dimension n :
– on considère l'approximation affine :
– on cherche h tel que f(uk+h)=0
soit système linéaire !
– et ainsi
( )uk h f ( )uk
f = −
∇
n
n R
R
f : →
h u f u
f h
u
f ( k + ) = ( k ) +∇ ( k )
itèration
(LU) linéaire
système
) ( )
(
tion initialisa
1 0
h u
u
u f h
u f u
k k
k k
+
=
−
=
∇
+
Méthode de Newton
• Théorème :
– s'il existe û tel que
• f(û)=0
• f est différentiable dans un voisinage de û
•
• ∇f(û) est inversible
– alors il existe η > 0 tel que
• si u° vérifie
• alors la suite construite par la méthode de Newton converge vers û
û x û
f x
f −∇ ≤ −
∇ ( ) ( ) α
η
<
−
° û u
Méthode de Newton
• Avantage : convergence quadratique
– il existe C > 0 tel que
• Inconvénient : calcul de ∇ f(x) souvent difficile
1 û C u û 2
uk+ − ≤ k −
Exemple
=
=
=
−
=
−
0 1
3 2 ) 1 cos(
0 0 2
y x
e x
xy
y
Méthodes de Quasi-Newton
• Comment se passer du calcul de ∇ f(x) ?
• En dimension 1 : méthode de la sécante
• En dimension n :
– le rapport précédent n'a aucun sens (u est un vecteur) – comment approcher ∇f(uk+1) ?
( ) ( ) ( )k kk k k
k
k f u f u
u u u
f u
u −
− −
=
+ + +
+ +
1 1 1
1 2
Approximation de 1/f '(uk+1)
Méthodes de Quasi-Newton
• Approximation de ∇ f(u
k+1) par la matrice A
k– Ak doit vérifier Ak(uk - uk-1)=f(uk) - f(uk-1) – Problème : il existe une infinité de Ak
• Méthode de Broyden :
– condition supplémentaire : Akz = Ak-1z si (uk - uk-1)'z = 0
Méthodes de Quasi-Newton
• Méthode de Broyden : algorithme
– initialisation de u0 et A0 (différences finies) – itération :
( )
kk k
k u A f u
u +1 = − −1
( ) ( )k k
k f u f u
y +1 = +1 −
k k
k u u
s +1 = +1 −
( )( )
2 1
1 1
1 1
+
+ +
+ +
− ′ +
=
k
k k
k k k
k s
s s
A A y
A
• Convergence de la méthode de Broyden :
– "super-linéaire"
– moins rapide que Newton
0 lim
1
− =
+ −
∞
→ u û
û u
k k k
Méthodes de Quasi-Newton
Méthode du point fixe
• Principe général :
– trouver g en fonction de f telle que
• f(û)=0 ⇔ g(û)=û
• la suite uk converge (si u0 est bien choisi)
– conditions suffisantes sur g en dimension 1
• g dérivable et |g'(û)| < 1
– conditions suffisantes sur g en dimension n
• g différentiable et ρ[∇g(û)] < 1 (ρ = rayon spectral)
Méthode du point fixe
• Exemple en dimension 3
− = +
+
= +
+ +
−
=
−
−
− 0
3 3 20 10
0 06
. 1 ) sin(
) 1 . 0 (
81
2 0 ) 1 cos(
3
2 2
z π e
z y
x
yz x
xy
− −
−
=
− +
+
=
+
=
−
3 3 10
20 1
1 . 0 06 . 1 ) 9 sin(
1
6 ) 1 3cos(
1
2
xy π e z
z x
y
yz x
=
=
=
) , (
) , (
) , (
3 2 1
y x g z
z x g y
z y g x
=
=
= 0 )
, , (
0 )
, , (
0 )
, , (
3 2 1
z y x f
z y x f
z y x f
Méthode du point fixe
• Exemple en dimension 3
− = +
+
= +
+ +
−
=
−
−
− 0
3 3 20 10
0 06
. 1 ) sin(
) 1 . 0 (
81
2 0 ) 1 cos(
3
2 2
z π e
z y
x
yz x
xy
− −
−
=
− +
+
=
+
=
−
3 3 10
20 1
1 . 0 06 . 1 ) 9 sin(
1
6 ) 1 3cos(
1
2
xy π e z
z x
y
yz x
=
=
=
) , (
) , (
) , (
3 2 1
y x g z
z x g y
z y g x
=
=
= 0 )
, , (
0 )
, , (
0 )
, , (
3 2 1
z y x f
z y x f
z y x f
Méthode du point fixe
• Exemple en dimension 3 (suite)
– valeurs initiales (x0=0.1 ; y0=0.1 ; z0=-0.1)
–
– convergence vers (0.5 ; 0.0 ; -0.5236) – résultat théorique: (0.5 ; 0.0 ; -π/6)
− −
−
=
− +
+
=
+
=
−
− −
−
−
−
−
3 3 10
20 1
1 . 0 06 . 1 ) 9 sin(
1
6 ) 1 3cos(
1
1 1
1 2
1
1 1
k π
k y
k x
k k
k
k k k
e z
z x
y
z y x
− −
−
=
− +
+
=
+
=
−
−
−
−
3 3 10
20 1
1 . 0 06 . 1 ) 9 sin(
1
6 ) 1 3cos(
1
1 2
1 1
k π
ky k x
k k
k
k k k
e z
z x
y
z y x
• Comment essayer d'accélérer la convergence
– remplacer les valeurs par leurs "dernières"
estimations
• (cf. Gauss-Siedel pour les systèmes linéaires)
– exemple :
Méthode du point fixe
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 !
TD
• Implémenter en Matlab :
– Newton, Broyden, point fixe (+Gauss Siedel) – pour les problèmes suivants :
– comparer le temps de convergence (pour un même seuil)
− = +
+
= +
+ +
−
=
−
−
− 0
3 3 20 10
0 06
. 1 ) sin(
) 1 . 0 (
81
2 0 ) 1 cos(
3
2 2
z π e
z y
x
yz x
xy
( )
= +
+
−
=
− +
= +
+
5 1 2
3
7 )
( log sin
3 2
z y x
z y x
z y
x e