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 ReportTranscript 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 n2 Recherche dichotomique ab 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 nN 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 nN converge vers p avec : ba 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) ba 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 ba 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 Ak1 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 yz 5 – comparer le temps de convergence (pour un même seuil)