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 ?  3x  y  z  

Download Report

Transcript 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 ?  3x  y  z  

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 ?
0
 3x  y  z

0
 x  81y  4 z
 2 x  13 y  20 z  0

– Méthodes directes
– Méthodes itératives
Introduction
• Comment résoudre le système suivant ?
1

3
x

cos(
yz
)

0

2
 2
2
x

81
(
y

0
.
1
)
 sin( z )  1.06  0


10  3
 xy
e  20 z 
0

3

– Méthodes directes : impossibles
– Méthodes itératives
Résolution de f(x)=0
• Soit une fonction f : R  R
n
n
– continue sur ...
– Dérivable sur ...
• Principe :
– trouver une méthode itérative uk+1 = g(uk)
qui converge vers la solution
Résolution de f(x)=0
• Plusieurs méthodes
–
–
–
–
Newton
Quasi-Newton (sécante, Broyden, …)
Point fixe
Gradient
• Problèmes ?
– Convergence
– Complexité
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
n2
Recherche dichotomique
ab
f (a ) f (b)  0  c 
2
si f (c)  
alors on a trouvé la solution : c
sinon si f (a ) f (c)  0
alors a  c
Mé thode de la dichotomie
f(b)
a
c=a+b/2
b
f(x)
sinon si f (b) f (c)  0
alors b  c
Théorème :
f(c)
soit  pn nN la suite générée par
l' algorithme de recherche par dichotomie ,
soit p la solution du problème : f ( p )  0 f(a)
Alors  pn nN converge vers p avec :
ba
pn  p  n
n 1
2
Bonne idée : prendre c à l’intersection de la séquente et le l’axe des x
Méthode de la séquente
Mé thode de la sé quente
f(b)
ba
c  b  f (b)
f (b)  f (a )
xk  xk 1
xk 1  xk  f ( xk )
f ( xk )  f ( xk 1 )
a
f(c)
f(a)
c
b
La « fausse » bonne idée
garder f(a) et f(b) de signe opposé
Mé thode de la sé quente
f(x 2)
Mé thode de la fausse position
f(x 2)
f(x 5)
x1
x3
x4
x5
x2
x1
x3
x4 x5
x2
f(x 5)
f(x 1)
f(x 1)
Bonne idée : si on est proche de la solution : prendre la dérivée
Méthode de Newton
Mé thode de Newton-Raphson
ba
c  b  f (b)
f (b)  f (a )
f(b)
1
c  b  f (b)
f ' (b)
f(c)
a
f ( xk )
xk 1  xk 
f ' ( xk )
f(a)
c
b
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
– et ainsi
u k 1
f ' (uk )
f u k 
 uk  h  uk 
f u k 
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
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
0.5
u2= 2.1380
0
u1 = 2.1627
-0.5
-1
1.9
1.95
2
u0 = 2
2.05
2.1
2.15
2.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 :
u k 1  û  C u k  û
– il existe C > 0 tel que
• Inconvénient : choix de g de manière algébrique
Méthode du point fixe
• Exemple en dimension 1
– résolution de x2 - 2 = 0
– choix de g :
• g1(x) = 2/x
• g2(x) = 2x - 2/x
• g3(x) = x/2 + 1/x
g1
u0 = 1
u1 = 2
u2 = 1
u3 = 2
u4 = 1
g'1(x) = -2/x2
g'1(x) = 2+2/x2
g'1(x) = 1/2-1/x2
g2
g3
u0 = 0.999
u1 = -0.0402
u2 = 49.668
u3 = 99.296
u4 = 198.57
g'1(û) = -1
g'1(û) = 3
g'1(û) = 0
u0 = 1
u1 = 1.5000
u2 = 1.4167
u3 = 1.4142
u4 = 1.4142
|g'(û)| < 1
convergence
assurée
Méthode du point fixe
• Exemple en dimension 1
– résolution de x2 - 2 = 0
– choix de g :
• g1(x) = 2/x
• g2(x) = 2x - 2/x
• g3(x) = x/2 + 1/x
g1
u0 = 1
u1 = 2
u2 = 1
u3 = 2
u4 = 1
g'1(x) = -2/x2
g'1(x) = 2+2/x2
g'1(x) = 1/2-1/x2
g2
g3
u0 = 0.999
u1 = -0.0402
u2 = 49.668
u3 = 99.296
u4 = 198.57
g'1(û) = -1
g'1(û) = 3
g'1(û) = 0
u0 = 1
u1 = 1.5000
u2 = 1.4167
u3 = 1.4142
u4 = 1.4142
|g'(û)| < 1
convergence
assurée
résumé
• Dichotomie
• séquente
• newton
Multidimensionnel ?
• Point fixe
Accélération !
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
•
 f 
 x 
1


En dimension n :

 f 
– une équation, n inconnues :
f ( x )   
 xi 
n
f :R R
Le vecteur gradient   
1
 f 
f ( x  h)  f ( x)  h' f ( x)  h' H f ( x)h  h  (h 2 )
 x 
2
 n
La
matrice
Hessiène
– n équations, n inconnues :
f : Rn  Rn
1
f ( x  h)  f ( x)  f ( x)h  h' H f ( x)h  h  (h 2 )
2
f
 f
La matrice jacobienne
1
x   f1 x 
 1 x 
x2
xn
 x1

 f 2



x



f x    x1







f n
 f n





x


x
 x

xn
 1

Méthode de Newton
• En dimension n :
f : Rn  Rn
– on considère l'approximation affine :
f (uk  h)  f (uk )  f (uk )h
– on cherche h tel que f(uk+h)=0
soit f uk h   f uk  système linéaire !
– et ainsi
u0
initialisa tion
f (uk )h   f (uk ) système linéaire (LU)
uk 1  uk  h
itèration
Méthode de Newton
• Théorème :
– s'il existe û tel que
• f(û)=0
• f est différentiable dans un voisinage de û
• f ( x)  f (û)   x  û
• f(û) est inversible
– alors il existe  > 0 tel que
• si u° vérifie u  û  
• alors la suite construite par la méthode de Newton
converge vers û
Méthode de Newton
• Avantage : convergence quadratique
– il existe C > 0 tel que
u
k 1
û  C u û
k
2
• Inconvénient : calcul de f(x) souvent difficile
Exemple
1

 cos( xy ) 
2

 x 2  e  y  3
 x0  1

 y0  0
Méthodes de Quasi-Newton
• Comment se passer du calcul de f(x) ?
• En dimension 1 : méthode de la sécante
u k  2  u k 1  f u k 1 
u k 1  u k
f u k 1   f u k 
Approximation
de 1/f '(uk+1)
• En dimension n :
– le rapport précédent n'a aucun sens (u est un vecteur)
– comment approcher f(uk+1) ?
Méthodes de Quasi-Newton
• Approximation de f(uk+1) par la matrice Ak
– 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 :
uk 1  uk  Ak1 f uk 
yk 1  f uk 1   f uk 
sk 1  uk 1  u k
Ak 1  Ak

y k 1  Ak s k 1 s k 1 

s k 1
2
Méthodes de Quasi-Newton
• Convergence de la méthode de Broyden :
– "super-linéaire"
u k 1  û
lim
k 
u û
k
– moins rapide que Newton
0
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
1

3
x

cos(
yz
)

0

2
 2
2
 x  81( y  0.1)  sin( z )  1.06  0

10  3
 xy
e

20
z

0

3

1
1

x

cos(
yz
)


3
6

1 2
y

x  sin( z )  1.06  0.1

9

1  xy 10  3
z
 e 

20
3
 f1 ( x , y , z )  0

 f 2 ( x, y , z )  0
 f ( x, y , z )  0
 3
 x  g1 ( y, z )

 y  g 2 ( x, z )
 z  g ( x, y)
3

Méthode du point fixe
• Exemple en dimension 3
1

3
x

cos(
yz
)

0

2
 2
2
 x  81( y  0.1)  sin( z )  1.06  0

10  3
 xy
e

20
z

0

3

1
1

x

cos(
yz
)


3
6

1 2
y

x  sin( z )  1.06  0.1

9

1  xy 10  3
z
 e 

20
3
 f1 ( x , y , z )  0

 f 2 ( x, y , z )  0
 f ( x, y , z )  0
 3
 x  g1 ( y, z )

 y  g 2 ( x, z )
 z  g ( x, y)
3

Méthode du point fixe
• Exemple en dimension 3 (suite)
– valeurs initiales (x0=0.1 ; y0=0.1 ; z0=-0.1)
–

 xk

 yk

z
 k
1
1
 cos(y k 1 z k 1 ) 
3
6

1 2
xk 1  sin( z k 1 )  1.06  0.1
9
1
10  3
  e  xk 1 yk 1 
20
3
– convergence vers (0.5 ; 0.0 ; -0.5236)
– résultat théorique: (0.5 ; 0.0 ; -/6)
Méthode du point fixe
• 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 :

 xk

 yk

z
 k


1
1
cos(y k 1 z k 1 ) 
3
6
1 2
xk  sin( z k 1 )  1.06  0.1
9
1  xk yk 10  3
 e

20
3
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 :
1

3
x

cos(
yz
)

0

2
 2
2
 x  81( y  0.1)  sin( z )  1.06  0

10  3
 xy
e

20
z

0

3

sin  x   y 2  log e ( z )  7

3x  2 y  z 3
 1


x yz
5

– comparer le temps de convergence
(pour un même seuil)