Contents Systèmes d'équations non linéaires 2 1. Dichotomie 2 2. Point xe 3 3. Méthodes de Newton et et de la sécante 5 1
Systèmes d'équations non linéaires On considère un intervalle I R (borné ou non) et une fonction f : I R. On cherche à résoudre x I, f (x) = 0 1. Dichotomie 1.1. Description. Soit f : [a, b] R une fonction continue telle que f (a) f (b) < 0 Alors en vertu du théorème des valeurs intermédiaire, il existe x 0 [a, b] tel que f (x 0 ) = 0. Soit c = a+b 2, alors si f (c) = 0, c est solution, sinon f (a) f (c) < 0 ou bien f (c) f (b) < 0 dans le premier cas, on pose b = c dans le deuxième cas, on pose a = c. Dans les deux cas on obtient à nouveau f (a) f (b) < 0. On peut alors réitérer le processus, jusqu'à ce que l'une des conditions suivantes soit réalisée : (1) b a < ɛ (2) f (c) < δ Si l'un des deux tests d'arret est positif, on estime que l'on a convergé vers une solution approchée de l'équation f (x) = 0. 1.2. Algorithme. L'algorithme s'écrit (il s'agit ici un code scilab): Algorithm 1.1. [k,e]=dichotomie(f, a,b,ɛ,k) //Résolution de f (z) = 0 par dichotomie //entrée a < b intervalle initial // ɛ pour le test d'arret f (c) < ɛ // K pour limiter le nombre d'itérations. //Sortie : k, nombre d'itérations // X=(c i, 0 i k), les itérés // E=( f (c i ), 0 i k) if f(a)*f(b)>0 then return c=(a+b)*0.5;fc=f(c); C=c;E=abs(fc); k=1; while abs(fc)>epsɛ & k<k do k=k+1; if f(a)*fc<0 then b=c; else a=c; c=(a+b)*0.5;fc=f(c); E=[E,abs(fc)] return k,c,e; 2
2. POINT FIXE 3 function 1.3. Convergence. Theorem. Soient [a 0, b 0 ], [a 1, b 1 ],..., [a n, b n ],... les intervalles engrés par l'algorithme de dichotomie, alors les suites a n et b n sont adjacente et leur limite commune est un zéro de f. Soit r = lim n c n avec c n = an+bn 2, alors r c n 2 (n+1) b 0 a 0 Example 1.2. Si [a, b] = [0, 1], pour obtenir une précision x x n < 10 6, il faut 19 itérations, quelle que soit la fonction f. 2. Point xe L'équation f (x) = 0 est supposée mise sous la forme F (x) = x 2.1. Description. Definition 2.1. On dit que x est un point xe de F si et seulement si F (x) = x la méthode de point xe consiste à considérer la suite x 0 R x n+1 = F (x n ) Dans quelles conditions la suite est-elle convergente? C'est ce à quoi nous allons essayer de répondre dans le paragraphe sur la convergence. Auparavent : 2.2. L'algorithme. Voici le code scilab de l'algorithme de point xe pour la résolution de F (x) = x: function [k,x,e]=pointfixe(f,x,eps,k) //resolution de F(x)=x par la méthode du point fixe //x valeur initiale puis solution //eps réel positif : la precision on arete lorsque F(x)-x <eps // K entier : nombre max d'itérations //E vecteur réel : historique de l'erreur F(x)-x //k entier : nombre d'itérations k=1;y=f(x);dx=abs(y-x);e=dx; while dx>eps & k<k do x=y; y=f(x); dx=abs(y-x); E=[E,dx] k=k+1 return k,x,e function
2. POINT FIXE 4 2.3. Conditions de convergence. Theorem 2.2. Soit I un intervalle fermé, borné de R et F : I R vériant (1) F (I) I (2) F continue sur I (3) F monotone sur I alors F admet un point xe x I Definition 2.3. Soit I = [a, b] et f : I R. L'application f est dite contractante sur I si : il existe un réel λ [0, 1[ tel que pour tout x, y I : F (x) F (y) λ x y Proposition 2.4. Soit I = [a, b] et soit F une application de classe C 1 sur I vériant sup F < 1 I Alors F est contractante sur I. Le théorème suivant donne des conditions susantes pour que F admette un point xe x et pour que la suite x n converge vers x. Theorem 2.5. Soit I un intervalle fermé de R et F : I R une application contractante sur I, telle que F (I) I alors (1) F admet un unique point xe x I et (2) pour tout x 0 I, la suite x n+1 = F (x n ) converge vers x. Proposition 2.6. Soit I = [a, b], soit F une application de classe C 1 sur I admettant un point xe x I, et vériant F (x ) < 1. Alors on peut trouver un intervalle I δ = [x δ, x + δ] tel que F (I) I et F est contractante sur I δ. Corollary 2.7. Si F admet un point xe x, si F est de classe C 1 au voisinage de x, si F (x ) < 1, alors il existe un voisinage V de x tel que pour tout x 0 V, la suite x n+1 = F (x n ) converge vers x. 2.4. Ordre de convergence d'une suite réelle. Definition 2.8. soit (u n ) une suite réelle convergent vers u. Si l'erreur e n = u u n vérie e n+1 = O ( e n α ) on dit que l'ordre de convergence de la suite est (au moins) α. Si α = 1 la convergence est linéaire, si 1 < α < 2 la convergence est dite super-linéaire, si α = 2 la convergence est dite quadratique, Proposition 2.9. Pour que l'ordre de convergence soit α il sut e que lim n+1 n α e n existe et soit nie.
3. MÉTHODES DE NEWTON ET ET DE LA SÉCANTE 5 Figure 1. Méthode de point xe, diérents cas de gure Proposition 2.10. Pour F assez régulière, si la suite x n+1 = F (x n ) converge vers x, alors son ordre de convergence est q, le plus petit entier tel que F (q) (x ) 0 3. Méthodes de Newton et et de la sécante 3.1. Description. La méthode de Newton pour résoudre les équations non linéaires f (x) = 0 est un cas particulier de la méthode de point xe. On considère l'équation et on suppose donc f de classe C 2 au voisinage de la solution x. Si l'on dispose d'une approximation x n pas trop éloignée de x, alors on peut écrire en posant x = x n + h (h est l'erreur) et en utilisant la formule de Taylor : (1) 0 = f (x ) = f (x n ) + hf (x n ) + O ( h 2) f (x n ) + hf (x n ) Ce faisant, on a linéarisé le problème au voisinage de x n. Linéariser la fonction f au voisinage du point x consiste à remplacer la fonction h f (x + h) par sa partie linéaire : h f (x) + hf (x). On a donc approximativement h f(xn) f (x n), à condition que f (x n ) 0. On peut donc corriger l'approximation courante en écrivant x x n+1 avec x n+1 = x n f (x n) f (x n ) On réitère le processus, et on obtient la méthode de Newton.
3. MÉTHODES DE NEWTON ET ET DE LA SÉCANTE 6 Figure 2. Algorithmes de Newton et de la sécante (ou Quasi-Newton) (a) Newton (b) quasi-newton (sécante) Si l'on ne dispose pas de la dérivée ou si celle-ci coûte trop cher à calculer, on peut l'approcher par f (x n ) f (x n) f (x n 1 ) x n x n 1 on obtient alors la méthode de la sécante, qui est une méthode de quasi-newton. x n+1 = x n f (x n ) 3.2. Algorithmes (codes scilab). Algorithm 3.1. [k,x,e]=newton(f,df,x 0,ɛ,K) (x n x n 1 ) f (x n ) f (x n 1 ) #Méthode de Newton pour la résolution de f(x)=0 #Entree : f, df la fonction et sa dérivée. # x 0 R approximation initiale # ɛ > 0 le test d'arret est f (x) < ɛ # K nombre max d'iterations #Sortie : k nombre d'iterations, # X R k, la suite des itérés x n # E R k, la suite des f (x n) x=x 0 ;k=1;fx=f(x);dfx=df(x); X=x 0 ;E=abs(fx); while abs(fx)>eps & k<k do
3. MÉTHODES DE NEWTON ET ET DE LA SÉCANTE 7 x=x-fx/dfx; fx=f(x); dfx=df(x); X=[X,x]; E=[E,abs(fx)] k=k+1; return k,x,e; function Algorithm 3.2. [k,x,e]=secante(f,x 0,x 1,ɛ,K) k=1; x0=x 0 ;x1=x 1 ; fx0=f(x0);fx1=f(x1); X=x 0, x 1 ;E=abs(fx0),abs(fx1); c=fx1*(x0-x1)/(fx0-fx1); while abs(fx1)>eps & k<k do x0=x1;x1=x1-c; fx0=fx1;fx1=f(x1); c=fx1*(x0-x1)/(fx0-fx1); X=[X,x1]; E=[E,abs(fx1)] k=k+1; return k,x,e; function 3.3. Convergence. La méthode de Newton est très rapide si l'on démarre assez près (c'est un des sens de l'expression au voisinage de) de la solution, comme l'exprime le théorème suivant : Theorem 3.3. Supposons f continue et x zéro simple de f (i.e. f (x ) 0). Alors il existe un voisinage V de x et une constante réelle C tels que si x 0 V, la méthode de Newton converge avec un ordre de convergence quadratique pour n 0 : x n+1 x C x n x 2