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
© Copyright 2024 Paperzz