Vous êtes sur la page 1sur 7

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 x0 ∈ [a, b] tel que
f (x0 ) = 0. Soit c = a+b2 , 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=(ci , 0 ≤ i ≤ k), les itérés
// E=(|f (ci )| , 0 ≤ i ≤ k)
if f(a)*f(b)>0 then return end
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;
end
c=(a+b)*0.5;fc=f(c);
E=[E,abs(fc)]
end
return k,C,E;

2
2. POINT FIXE 3

endfunction

1.3. Convergence.
Theorem. Soient [a0 , b0 ] , [a1 , b1 ] , ..., [an , bn ] , ... les intervalles en-
gendrés par l'algorithme de dichotomie, alors les suites an et bn
sont adjacente et leur limite commune est un zéro de f . Soit
r = limn→∞ cn avec cn = an +b 2
n
, alors
|r − cn | ≤ 2−(n+1) |b0 − a0 |

Example 1.2. Si [a, b] = [0, 1], pour obtenir une précision |x∗ − xn | < 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

x0 ∈ R
xn+1 = F (xn )

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
end
return k,x,E
endfunction
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] 6= ∅ 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)| 6 λ |x − y|
Proposition 2.4. Soit I = [a, b] 6= ∅ et soit F une application de
classe C 1 sur I vériant
sup |F 0 | < 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 xn 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 x0 ∈ I , la suite xn+1 = F (xn ) 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 0 (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 x0 ∈ V ,
∗ 0 ∗

la suite xn+1 = F (xn ) converge vers x∗ .

2.4. Ordre de convergence d'une suite réelle.


Definition 2.8. soit (un ) une suite réelle convergent vers u. Si
l'erreur en = u − un vérie
α
|en+1 | = O (|en | )
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
que limn→∞ |e|en+1
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 xn+1 =


F (xn ) converge vers x∗ , alors son ordre de convergence est q , le
plus petit entier tel que F (q) (x∗ ) 6= 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 doncf de classe C 2 au voisinage de la
∗ ∗
solution x . Si l'on dispose d'une approximation xn pas trop éloignée de x , alors

on peut écrire en posant x = xn + h (h est l'erreur) et en utilisant la formule de
Taylor :

0 = f (x∗ ) = f (xn ) + hf 0 (xn ) + O h2



(1)

' f (xn ) + hf 0 (xn )

Ce faisant, on a linéarisé le problème au voisinage de xn .


Linéariser la fonction f au voisinage du point x consiste à remplacer
la fonction h 7→ f (x + h) par sa partie linéaire : h 7→ f (x) +
hf 0 (x).
On a donc approximativement h ' − ff0(xn)
(xn ) , à condition que f 0 (xn ) 6= 0. On

peut donc corriger l'approximation courante en écrivant x ' xn+1 avec

f (xn )
xn+1 = xn −
f 0 (xn )
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 (xn ) − f (xn−1 )
f 0 (xn ) '
xn − xn−1
on obtient alors la méthode de la sécante , qui est une méthode de quasi-Newton.

(xn − xn−1 )
xn+1 = xn − f (xn )
f (xn ) − f (xn−1 )

3.2. Algorithmes (codes scilab).


Algorithm 3.1. [k,X,E]=Newton(f,df,x0 ,,K)
#Méthode de Newton pour la résolution de f(x)=0
#Entree : f, df la fonction et sa dérivée.
# x0 ∈ R approximation initiale
#  > 0 le test d'arret est |f (x)| < 
# K nombre max d'iterations
#Sortie : k nombre d'iterations,
# X∈ Rk , la suite des itérés xn
# E∈ Rk , la suite des f (xn )
x=x0 ;k=1;fx=f(x);dfx=df(x);
X=x0 ;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;
end
return k,X,E;
endfunction
Algorithm 3.2. [k,X,E]=Secante(f,x0 ,x1 ,,K)
k=1;
x0=x0 ;x1=x1 ;
fx0=f(x0);fx1=f(x1);
X=x0 , x1 ;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;
end
return k,X,E;
endfunction

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 ) 6= 0). Alors il existe un voisinage V de x∗ et une constante
0 ∗

réelle C tels que si x0 ∈ V , la méthode de Newton converge avec


un ordre de convergence quadratique pour n > 0 :
2
|xn+1 − x∗ | ≤ C |xn − x∗ |

Vous aimerez peut-être aussi