Vous êtes sur la page 1sur 23

Introduction : Nous donnons quelques définitions utiles pour la suite

Algorithme
La description précise des opérations successives à effectuer pour obtenir un certain résultat
s’appelle un algorithme. Un algorithme peut donc être assimilé à un protocole ou une recette.

Calcul numérique
On appellera calcul numérique tout calcul ( évaluation d’un nombre, d’une fonction, d’une
matrice, ...) qui est effectué au moyen d’une machine et / ou de tables de valeurs numériques.

Analyse numérique
On peut définir l’analyse numérique comme l’étude théorique des méthodes constructives
de l’algèbre et de l’analyse mathématique. Par méthode constructive il faut comprendre une
méthode qui fournit le moyen d’obtenir la solution d’un problème, ou, à tout le moins, une
approximation de celle-ci. Ainsi, un théorème qui établit l’existence et l’unicité de la solution d’un
problème de Cauchy (cf. cours d’analyse) ne sera d’aucune utilité au numéricien s’il n’indique
pas comment construire effectivement la solution du problème.

Exemples d’applications
Le calcul numérique est devenu indispensable dans de très nombreux domaines. La liste des
disciplines qui ont recours au calcul et à l’analyse numériques est bien trop longue pour être
dressée ici. Elle va de la physique à la démographie en passant par la chimie, la biologie, la
médecine, le génie civil, l’archéologie, la gestion des stocks, la psychologie expérimentale, les
jeux vidéos, etc.

Les moyens informatiques modernes et les performances extraordinaires des microprocesseurs


et des mémoires actuels ont permis un développement considérable des capacités de calcul des
ordinateurs.

Objectifs du cours :

• Introduction à quelques algorithmes de bases en calcul scientifique


• Fondements mathématiques (complexité, stabilité, convergence, consistance, · · · )

• Exemples d’applications et mise en oeuvre informatique sous scilab (TDs et TPs)

3
Chapitre 1

Résolutions des équations non linéaires


f : Rn ! Rn

1.1 Préliminaires
Dans cette partie, nous étudierons quelques méthodes de résolution d’équations de la forme
f (x) = 0, où x est un réel et f (.) une fonction réelle.
On connaît des formules permettant de calculer explicitement les racines de tout polynôme
de degré < 5 mais de telles formules n’existent pas pour les polynômes de degré supérieur à 4
ni, en général, pour les équations transcendantes.
L’équation x 0.2sin(x) 0.5 = 0 admet une racine réelle notons s, au voisinage de 0.615.
En posant f (x) = x 0.2sin(x) 0.5, elle est croissante sur [0, 1] et d’après le théorème des
valeurs intermédiaires f (0)f (1) < 0 et même f (0, 6)f (0, 7) < 0, ...
Comme on ne dispose pas d’une formule qui permet de calculer cette racine explicitement,
pour la connaître il faudra procéder numériquement.
Une bonne pratique, si l’on dispose d’un ordinateur et d’un logiciel de calcul numérique avec
des moyens graphiqes (c’est le cas de Matlab et Scilab, ...), est de commencer par faire un graphe
de la fonction. On peut, évidemment, aussi étudier cette fonction par les moyens analytiques
classiques pour localiser son (ses) zéro(s) éventuel(s).

y
Cf

O
1 1 x

La fonction zoom de scilab qui est un logiciel libre, quasi-clone de Matlab, permet de cliquer
sur le graphe de manière à faire un agrandissement, on peut ainsi «aller voir »le(s) zéro(s) de
plus près.
Les méthodes qui permettent de calculer des valeurs approchées des zéros d’une fonction sont
toutes basées sur la notion d’itération (xn+1 = f (xn )). Elles engendrent une suite de valeurs
(xn )n2N qui, quand "tout va bien", converge vers le zéro cherché notons s : (xn ! s).
Les éléments de la suite sont appelés approximations successives de s.

4
1.1.1 Existence de solutions, localisation des solutions
On se donne une application f continue d’un ouvert I de R dans R et on cherche à approcher
numériquement une solution du système

f (x) = 0 (1.1)

Définition 1 Soit f ; I ! R, on appelle zéro de f tout s 2 I qui satisfait f (s) = 0.


On dit aussi que s est une racine de f .

Définition 2 On appelle point fixe s de f tout s qui satisfait f (s) = s.

Remarque 1 Si s est une racine de f , alors f (s) = 0. Ainsi

f (s) = 0 () s ± f (s) = s () g(s) = s, avec g(x) = x ± f (x)

Donc dire que s est racine de f () à s est point fixe de g.

Exemple 1 Pour résoudre l’équation

f (x) = x 0.2 sin(x) 0.5 = 0

on peut procéder comme suit :


On remplace l’équation donnée par une équation équivalente en écrivant par exemple, x = g(x),
avec g(x) = 0.2 sin(x) + 0.5 (g : R ! R, on travaille avec des réels).

1.1.2 Premiers résultats théoriques


Théorème 1 (Théorème des valeurs intermédiaire)
Soit f une fonction de R ! R, continue sur [a, b] ⇢ R. Alors 8 µ tel que f (a)  µ  f (b),
9s 2 [a, b] tel que f (s) = µ

Corollaire 1 Si f est une fonction de R ! R, continue sur [a, b] ⇢ R vérifiant

f (a)f (b) < 0

alors il va exister un réel s tel que f (s) = 0.

Les algorithmes classiques que nous allons étudier pour chercher une racine de l’équation
f (x) = 0 sont les suivants :
1. Méthode de la bissection
2. Méthode du point fixe
3. Méthode de la sécante
4. Méthode de Newton-Raphson.

5
1.2 Méthode de la bissection ou de dichotomie
On considère un intervalle [a, b] et une fonction f continue de [a, b] dans R. On suppose que
f (a)f (b) < 0 et que l’équation f (x) = 0 admet une unique solution s sur l’intervalle [a, b].
La méthode de dichotomie consiste à construire une suite (xn ) qui converge vers s de la manière
suivante :
1. Initialisation : soit x0 le milieu de [a, b]. La racine se trouve alors dans l’un des deux
intervalles ]a, x0 [ ou ]x0 , b[ ou bien elle est égale à x0 .
• Si f (a)f (x0 ) < 0, alors s 2]a, x0 [. On pose a1 = a, b1 = x0 .
• Si f (a)f (x0 ) = 0, alors s = x0 .
• Si f (a)f (x0 ) > 0, alors s 2]x0 , b[. On pose a1 = x0 , b1 = b.
2. Algorithme : soit x1 le milieu de [a1 , b1 ]. On construit ainsi une suite
a+b a 1 + b1 a n + bn
x0 = , x1 = , · · · , xn = .
2 2 2
À chaque étape on a
a n  x n  bn , et an  s  bn
3. Calcul de l’erreur
On arrête le processus dès que
a b
bn an =
2n
(vous pouvez le vérifier par récurrence, l’idée étant qu’on divise l’intervalle en 2 à chaque
étape).
bn an = b2na est inférieur à la précision souhaitée notons
" := 101N , N 2 N? . Comme xn et s appartiennent à lintervalle [an , bn ], alors
b a
|xn s|  bn an = "
2n
La méthode de dichotomie a l’énorme avantage de fournir un encadrement d’une solution
s de l’équation (f (x) = 0). Il est donc facile d’avoir une majoration de l’erreur.
Comme (an ) est par construction une suite croissante, (bn ) une suite décroissante, et
(bn an ) ! 0 lorsque n ! +1, les suites (an ) et (bn ) sont adjacentes et donc elles
admettent une même limite. D’après le théorème des gendarmes, c’est aussi la limite
disons l de la suite (xn ). La continuité de f montre que

f (l) = lim f (xn ) = lim 0 = 0.


n !+1 n !+1

Donc les suites (an ) et (bn ) tendent toutes les deux vers l = s, qui est une solution de
l’équation (f (x) = 0).
Si, par exemple, on souhaite obtenir une approximation de s à 10 N près, comme on sait
que l’erreur à la nièm étape xn s pour n 1 est telle que
b a
en = |xn s|  |bn an | = .
2n
Donc pour avoir en = |xn s|  ", il suffi de choisir n tel que b a
2n  10 N En utilisant
le logarithme décimal, on a
(b a) N
 10 () (b a)10N  2n () log(b a) + N  n log(2)
2n

6
et donc
N + log(b a)
n
log 2
4. Programmation : Sous l’hypothèse que le signe de f (m), m = a+b
2 soit déterminable, voici
une représentation de la méthode en pseudo-code, où " est la précision souhaitée.
Code 1
Tant que (b a) > "
m (a + b)/2
Si (f (a) ⇤ f (m)  0) alors
b m
sinon
a m
Fin Si
Fin Tant que

y = f (x)

a := x0 x1 x2
• • • •b

Etant donnée une précision ", cette méthode permet d’approcher la solution s en un nombre
prévisible d’itérations.
p
Exemple 2 Résultats numériques pour 10p
Nous allons calculer une approximation de 10. p Soit la fonction
p f définie par f (x) = x
2 10,
c’est une fonction continue sur qui s’annule en ± 10. De plus 10 est l’unique solution positive
de l’équation (f (x) = 0). pNous pouvons restreindre la fonction
p f à l’intervalle [3, 4] : en effet
32 = 9  10 donc 3  10 et 42 = 16 10 donc 4 10. En d’autre termes f (3)  0
et f (4) 0, donc l’équation (f (x) = 0) admet une solution
p dans p
l’intervalle [3, 4] d’après le
théorème des valeurs intermédiaires, et par unicité c’est 10, donc p 10 2 [3, 4].
Notez pque l’on ne choisit pas pour f la fonction x ! x 10 car on ne connaît pas la
valeur de 10. C’est ce que l’on cherche à calculer !

y = f (x)

3 4
0
• •

Voici les toutes premières étapes :

7
1. On pose a0 = 3 et b0 = 4, on a bien f (a0 )  0 et f (b0 ) 0. On calcule a0 +b 0
= 3, 5
a0 +b0
p 2
puis f ( 2 ) : f (3, 5) = 3, 5 2 10 = 2, 5 0. Donc 10 2 [3, 3, 5] et on pose encore
a0 +b0
a1 = a0 = 3 et b1 = 2 = 3, 5.
2. On pose donc que f (a1 )  0 et f (b1 ) 0. On calcule f ( a1 +b
2 ) = f (3, 25) = 0, 5625
1
,
on pose a2 = 3 et b2 = 3, 25
3. On calcule f ( a2 +b
2 ) = f (3, 125) =
2
0, 23...  0. Comme f (b2 ) 0 alors cette fois f
a2 +b2 a2 +b2
s’annule sur le second intervalle [ 2 , b2 ] et on pose a3 = 2 = 3, 125 et b3 = b2 =
p
3, 25. À ce stade, on a prouvé que 3, 125  (10)  3, 25.

a4 = 1, 125 a5 = 3, 15625 a6 = 3, 15625 a7 = 3, 15625 a8 = 3, 16015


b4 = 3, 1875 b5 = 3, 1875 b6 = 3, 171875 b7 = 3, 164062 b8 = 3, 164062

Donc en 8 étapes on obtient l’encadrement :


p
3, 160  10  3, 165
p
En particulier, on vient d’obtenir les deux premières décimales : 10 = 3, 16....

1.3 Méthode du point fixe

Les principes de construction suivants consistent à transformer l’équation f (x) = 0 en une


équation équivalente g(x) = x. On peut poser par exemple g(x) = x±f (x), mais on prendra plus
généralement g(x) = x + u(x)f (x) où u est une fonction non nulle sur l’intervalle I. Il reste à
choisir u pour que la suite définie par x0 2 I et la relation de récurrence xn+1 = xn + u(xn )f (xn )
soit bien définie et converge vers la racine s de f . Géométriquement, on a remplacé la recherche
de l’intersection du graphe de la fonction f avec l’axe Ox, par la recherche de l’intersection de
la droite d’équation y = x avec la courbe d’équation y = g(x).
y=x

y = f (x)
y = g(x)
a
• •b • • •
a b
s

point fixe de g
Racine de f

Le choix d’une méthode est conditionné par les réponses aux questions suivantes :
1. La suite (xn ) converge-t-elle ?
2. Si la suite converge, sa limite est-elle s ?
3. Si on veut la solution à " près, comment arrêter les itérations dès que cette condition est
remplie ?

8
4. Comme dans tout calcul, on désire obtenir rapidement le résultat approché. Comment
estimer la manière dont évolue l’erreur en = xn s au cours des itérations ?

Les deux premières questions sont purement mathématiques. Les deux dernières sont numériques
car on ne peut effectuer qu’un nombre fini d’itérations pour le calcul. La continuité des fonctions
considérées permet de répondre à la question 2 : si la suite converge, elle converge vers une
racine de l’équation ; si, de plus, xn 2 I pour tout n, alors par unicité de la racine dans I, la
suite converge vers s.
Rappels d’analyse.
Une équation de type f (x) = 0 peut être écrite d’une manière équivalente sous la forme de
g(x) = x. La fonction g est une fonction dépendante de f non unique comme le montre l’exemple
suivant :

Exemple 3 Si f (x) = sin(2x) 1 + x = 0, la fonction g peut être

g(x) = 1 sin(2x), x2R

ou
1
g(x) = arcsin(1 x)), 0x1
2
y

y=x
C g1

C g2
x

Cf

On a la solution de f (x) = 0 est le point s tel que Cf coupe l’axe des x et que les graphes
des fonctions y = x, y = g1 (x) et y = g2 (x) se coupent en en (s, s). Il en sera de même pour
tout gi , i 2 N? contruite apartir de f .

Définition 3
Un réel l est dit point fixe d’une fonction g : [a, b] ! R si

g(l) = l

Principe.
Le principe de cette méthode consiste alors à transformer l’équation f (x) = 0 en une équation
équivalente g(x) = x où g est une fonction auxiliaire "bien" choisie. Le point s est alors un point
fixe de g. Approcher les zéros de f revient à approcher les points fixes de g. Le choix de la
fonction g est motivé par les exigences du théorème de point fixe.

9
Définition 4
Soit p un entier et f une fonction p fois dérivable,
1. On dit que s est un zéro de f de multiplicité p si

f (s) = f 0 (s) = . . . = f (p 1)
(s) = 0, et f (p) (s) 6= 0

2. Un zéro de multiplicité 1 (respectivement 2) est appelé un zéro simple (respectivement


double).

Définition 5
On dit que l’application g : [a, b] ! R est strictement contractante si

9 L 2]0, 1[, 8 x, 8 y 2 [a, b], |g(x) g(y)| < L|x y|

Proposition 1
1. Soit g une application de classe C 1 de l’intervalle [a, b] de R dans R. On suppose que g 0
vérifie
max{|g 0 (x)|x2 [a,b] }  L < 1
alors l’application g est strictement contractante dans l’intervalle [a, b].
2. Une fonction contractante est continue.

Pour la démostration, utiliser le théorème des acroissement fini pour avoir f contractante sur
[a, b]. La continuité d’un application contractante résulte de la définition en langage " et ⌘.

Théorème 2 (Théorème du point fixe)


Si g est une application définie sur l’intervalle [a, b] à valeurs dans [a, b], strictement contrac-
tante (donc continue), alors la suite (xn ) définie par x0 2 [a, b] et la relation de récurrence
xn+1 = g(xn ) converge vers l’unique solution s de l’équation x = g(x) avec s 2 [a, b].

Démonstration. La suite (xn ) est bien définie car g([a, b]) ! [a, b]. Montrons par l’absurde que
l’équation g(x) = x a au plus une solution. Supposons qu’il y ait deux s1 et s2 distinctes, alors

|s1 s2 | = |g(s1 ) g(s2 )|  L|s1 s2 |

or comme L 2]0, 1[, alors |s1 s2 | < |s1 s2 | absurde donc notre supposition est fausse c’est
son contraire qui est vrai ; soit s1 = s2 . Montrons que la suite (xn ) est convergente. On a

|xn+1 xn | = |g(xn ) g(xn 1 )|  L|xn xn 1|  L.L|xn 1 xn 2| = L2 |xn 1 xn 2|

Par réccurence, on a
|xn+1 xn |  Ln |x1 x0 |, 8 n 0
On en déduit pour n 0 et p 1, on a :
p
X
|xn+p xn |  |xn+p xn+p 1 | + . . . + |xn+1 xn |  |xn+q xn+q 1|
q=1

et
p
X p
X
|xn+p xn |  |xn+q xn+q 1|  Ln+q 1
|x1 x0 |
q=1 q=1

10
1 Lp Ln
|xn+p xn |  Ln |x1 x0 |.  |x1 x0 | (1.2)
1 L 1 L
Cette suite vérifie le critère de Cauchy, elle est donc convergente vers s 2 [a, b]. Or, l’application
g est continue donc, la limite l vérifie g(l) = l.
l point fixe de g équivalent à l racine de f . D’où l = s.
On a aussi une évaluation de l’erreur en = xn s en valeur absolue en faisant tendre p vers
l’infini et n fixé, on obtient d’après (1.2)

Ln
|xn s|  |x1 x0 |
1 L
On constate que, pour n fixé, l’erreur est d’autant plus petite que L est proche de 0.

Proposition 2 Si g est une application de classe C 1 sur [a,b] et s un point fixe de g, vérifiant

g [a, b] ⇢ [a, b]
|g 0 (x)| < 1, 8x 2 [a, b]

alors la suite définie par xn+1 = g(xn ), 8n 1 converge vers l’unique point fixe s de g sur [a, b]
pour tout choix x0 2 [a, b].
On dira que s est un point attractif .
Il est dit répulsif si
|g 0 (s)| > 1
Si |g 0 (a)| = 1, on ne peut à priori rien dire.

On va ici étudier plus en détail les deux premiers cas.


1. Dans le premier cas : Il existe k 6= 0 réel et tel que |g 0 (s)|  k < 1. De plus, g 0 est
continue, donc on peut réécrire la condition |g 0 (s)|  k de la manière suivante :

g(x) g(s)
9 k > 0 / 8 [s h , s + h] : k (1.3)
x s
Ceci implique que g est k-lipschitzienne, et donc contractante sur E = [s h , s + h],
voisinage de s ; on a bien alors g(E) ⇢ E, donc on peut appliquer le théorème de point
fixe et s est un point fixe attractif dont le bassin d’attractivité contient au moins E. Si s
est sur un bord de [a, b], alors E = [b h , b] ou E = [a , a + h] convient.
on peut démontrer par récurrence que la convergence d’une suite définie par récurrence :
un+1 = g(un ) prise dans le bassin d’attraction est exponentiellement rapide. En effet si
u0 2 E, alors comme s est point fixe de g et g(un ) = un+1 , on a d’après (1.3)

|u1 s|  k|u0 s| =) . . . =) |un s|  en ln(k) |u0 s|, 0 < k < 1

2. Si |g 0 (s)| > 1 on peut, par continuité, assurer qu’il existe h 2 [a, b] tel que pour tout
x 2 [s h , s + h] \ {s} := E, on a |g(x) s| > |x s| (La justification est similaire au
point 1, avec g 0 (s) > k > 1). |u1 s| k|u0 s| > |u0 s| .Il en sera ainsi jusqu’à ce que
l’on sorte de l’intervalle E. Alors s est bien un point fixe répulsif de bassin de répulsion
au moins E.
3. Si |g 0 (s)| = 1, alors s est un point douteux, car il peut être attractif ou répulsif comme le
montre les deux exemples suivants :

11
a) Soit g(x) = sin x sur [0, ⇡2 ]. On a 8 x 2]0, ⇡2 ], sin x < x et pour tout x0 2 ]0, ⇡2 ], la
suite (xn ) définie par xn+1 = g(xn ) est strictement décroissante minorée par 0 donc
converge vers une limite l. Comme g est continue et que l = g(l), l = 0 est l’unique
point fixe de g sur [0, ⇡2 ]
b) Soit la fonction g(x) = sinh x sur [0, +1] On a 8 x 2]0, +1], sinh x > x et pour
tout x0 2 ]0, +1], la suite (xn ) définie par xn+1 = g(xn ) est strictement croissante
et non majorée donc divergergente donc Par conséquent, le pont fixe s = 0 de g est
répulsif.
y

sinh
y=x

sin
x
0

Graphes de sin, sinh et la premièr bissectrice

1.3.1 Vitesse de convergence d’une suite.


Définition 6 Soit (xn )n2N une suite convergente vers l. On appelle ordre de convergence de la
suite (xn ) le réel fini ou infini k > 0 défini par :
⇣ |xn+1 s| ⌘
r = sup k 2 R+ , tq lim < 1
n!+1 |xn s|k
1. Si k = 2, on dit que la convergence de (xn ) est quadratique.
2. Si k = 3, on dit que la convergence de (xn ) est cubique.
3. Supposons que l’ordre de convergence de la suite (xn ) est k = 1 et que :
|xn+1 s|
lim =t
n!+1 |xn s|
a) Si 0 < t < 1 on dit que la suite (xn ) est à convergence linéaire.
b) Si t = 0 on dit que la suite (xn ) est à convergence super linéaire.
c) Si t = 1 on dit que la suite (xn ) est à convergence logarithmique.

Exemple 4 Soit a 2 R+
? . Soit la suite récurrente (xn )n2N définie par
(
x0 = ⇣ 3 ⌘
xn+1 = 2 xn + xan
1

12
p
La suite (xn ) converge vers a et son ordre de convergence est égal à 2. En effet :
p p
xn+1 a x2 + a 2 a.xn 1
p 2 = n p 2 ! p , quand n ! +1
(xn a) 2(xn a) xn 2 a
p
xn+1 a
p 3 ! +1, quand n ! +1
(xn a)
D’où r = 2.

Théorème 3 Soit g : I = [a, b] ! [a, b] de classe C m , avec m 2 N. On suppose que g admet


un unique point fixe s 2 [a, b] vérifiant |g 0 (s)| < 1.
Il existe alors un voisinage Vs de s dans I tel que la suite itérée (xn ) définie par :

x0 = 2 Vs
xn+1 = g(xn ) 8n 0
converge vers s.
De plus, si
g 0 (s) = g 00 (s) = . . . = g (m 1)
(s) = 0 et g (m) (s) 6= 0 (1.4)
alors l’ordre de convergence de (xn ) est égal à m.

Démonstration. L’existence de Vs de s est assurée par le théorème de convergence pour un point


attractif. La formule de Taylor appliquée à la fonction g au point s à l’ordre m donne : il existe
un réel cn dans l’intervalle (xn , s) tel que :
g 00 (s) g 0(m 1) (s) g (m) (cn )
xn+1 = g(s) + g 0 (s)(xn s) + (xn s)2 + . . . + (xn s)(m 1)
+ (xn s)n
2! (m 1)! m!
Si on suppose de plus avoir 1.4, alors
g (m) (cn ) g (m) (cn )
xn+1 = g(s) + (xn s)n = s + (xn s)n
m! m!
Donc
|xn+1 s| |g (m) (cn )| (m)
— Le rapport |xn+1 s|m = m! tend vers |g m!(cn )| qui est fini et non nul,
|xn+1 s| |g (m) (cn )|
— 8 " > 0, le rapport |xn+1 s|m+"
= m!|x n+1 s|
" tend vers +1. Ce qui prouve que r = m.

1.3.2 Teste d’arrêt de la suite


Comme nous l’avons expliqué plus haut, la suite (xn ) converge vers un réel s vérifiant g(s) =
s. En fixant la tolérance ✏, on estime qu’on atteint la précision ✏ dès qu’il existe n0 2 N tel que :
xn0 +1 xn0 < ✏
Néanmoins, la situation devient plus concrète lorsque g 0 est négative au voisinage de s. En effet :
Proposition 3 Soit g : [a, b] ! [a, b] de classe C 1 . On suppose que g admet un unique point
fixe s 2 [a, b] vérifiant 1 < g 0 (x) < 0 pour tout x dans un intervalle de convergence Vs de s.
Soit la suite (xn ) définie par :

x 0 2 Vs
xn+1 = g(xn ), 8 n 0
Alors :
8 n 2 N, |xn+1 s|  |xn+1 xn |
Par conséquent, soit n0 tel que |xn0 s| < ✏, alors xn0 approche s à ✏ près.

13
Pour la preuve, on utilise le théorème des accroissement finis à g, entre xn et s telle que

g(xn ) g(s) = g 0 (cn )(xn s)

ce qui donne :
xn+1 s = g 0 (cn )(xn s)
Comme g 0 (cn ) < 0, alors (xn+1 s) et (xn s) sont de signes contraires et finalement

|xn+1 s|  |xn+1 xn |

1.4 Méthode de la sécante


Cette méthode est également appelée méthode de Lagrange, méthode des parties propor-
tionnelles ou encore régula falsi.

Rappels
Définition 7
Dire qu’une fonction dérivable sur un intervalle est convexe sur cet intervalle signifie que sa
courbe représentative est entièrement située au-dessus de chacune de ses tangentes.
Une fonction f est convexe sur un intervalle I si, pour tous x et y de I, pour tout t de [0, 1] :

f (tx + (1 t)y)  tf (x) + (1 t)f (y)

Elle est strictement convexe si

8(x, y) 2 I 2 , x 6= y 8t 2]0, 1[, f (tx + (1 t)y) < tf (x) + (1 t)f (y)

Proposition 4
1) Si f est dérivable sur I, f est convexe si et seulement si f 0 est croissante.
2) Si f est deux fois dérivable sur I , f est convrxe ssi

f 00 0

f 00 > 0 () f strictement convexe

On considère un intervalle [a, b] et une fonction f de classe C 2 de [a, b] dans R. On suppose


que les conditions suivantes pour cette méthode :
1. f (a)f (b) < 0,
2. f 0 ne s’annule pas sur [a, b],
3. la fonction f 00 ne s’annule pas non plus.
Puisque f est supposée de classe C 2 cela signifie que : f 00 > 0 ou f 00 < 0
et donc que f est soit strictement convexe soit strictement concave sur [a, b].
Cette hypothèse permettra de justifier facilement que l’algorithme va converger.
Plus précisément, on supposera par la suite que f 0 > 0 (et donc f (a) < 0 et f (b) > 0 ) et
que f ” > 0. On peut toujours se ramener à ce cas quitte à remplacer f (x) par ±f (±) :
• Si f 0 > 0 et f 00 > 0 on garde f .
• Si f 0 > 0 et f 00 < 0, alors la fonction g(x) = f ( x) vérifie g 0 > 0 et g 00 > 0.
• Si f 0 < 0 et f 00 > 0, alors la fonction g(x) = f ( x) vérifie g 0 > 0 et g 00 > 0.

14
• Si f 0 < 0 et f 00 < 0, alors la fonction g(x) = f (x) vérifie g 0 > 0 et g 00 > 0.

alors l’équation f (x) = 0 admet une unique solution sur l’intervalle [a, b] .
La méthode de la sécante (cas f 0 , f 00 > 0), consiste à construire une suite (xn ) qui converge
vers s de la manière suivante : soit D0 la droite passant par A = (a, f (a)) et B = (b, f (b)), elle
coupe l’axe Ox en un point d’abscisse x0 2]a, b[.
! !
Construction de D0 : Soit M (x, y) 2 D0 alors AM = k AB. Alors
✓ ◆ ✓ ◆
x a b a x a y f (a)
=k () k = = ,
y f (a) f (b) f (a) b a f (b) f (a)

donc
y f (a)
D0 : x a = (b a) \ (OX) =) y = 0,
f (b) f (a)
soit
f (a)
x=a (b a)
f (b) f (a)
En posant x0 = a et x = x1 , on on tient
8
< x0 = a
f (x0 )
: x1 = x0 (b x0 )
f (b) f (x0 )

Si f (x0 )f (x1 ) > 0, alors la racine s se trouve dans l’intervalle [x1 , b]. Alors pour construire x2 , il
faut construire la droite D1 passant par (x1 , f (x1 )) et (b, f (b)) et faire l’intersection avec l’axe
des x.
Par itération on obtint une suite (xn ) convergente vers s„ définit par :
8
< x0 = a
(b xn )
:xn+1 = xn f (xn )
f (b) f (xn )

Dessin démontrant la méthode de la sécante :

a x1 x2
• • • •
b

Remarque 2 Dans notre cas b est fixé, mais on peut avoir le cas ou a reste fixe et b bouge.
Cela dépend du graphe de f sur [a, b].

15
Proposition 5 Soit f : [a, b] ! R une fonction continue, strictement croissante et convexe
telle que f (a)  0 f (b) > 0. Alors la suite définie par
8
< a0 = a
(b an )
:an+1 = an f (an )
f (b) f (an )
est croissante et converge vers la solution s de (f (x) = 0).

L’hypothèse f convexe signifie exactement aussi géométriquement que pour tout x, x0 dans [a, b]
la sécante (ou corde) entre (x, f (x)) et (x0 , f (x0 )) est au-dessus du graphe de f .
1. Convergence de (an ).
La suite (an ) est croissante et majorée par b, donc elle converge. Notons l sa limite. Par
continuité f (an ) ! f (l). Comme pour tout n, f (an )  0 on en déduit que f (l)  0. En
particulier, comme on suppose f (b) > 0, on a l < b. Comme an ! l, f (an ) ! f (l),
(b an )
égalité an+1 = an f (b) f (an ) f (an ) devient lorsque n 7! +1 :

(b l)
l=l f (l) =) f (l) = 0
f (b) f (l)
Conclusion : (an ) converge vers la solution de (f (x) = 0), d’où l = s.
(b x)
On peut remarquer qu’en partant de f (x) = 0, et en posant g(x) = x f (b) f (x) f (x),

an+1 = g(an ), n ! +1 =) l = g(l)


Donc le théorème du point fixe s’applique à la méthode de la sécante pour
(b x)
g(x) = x f (x).
f (b) f (x)
2. Calcul de l’erreur
La méthode de la sécante fournit l’encadrement an  l  b. Mais comme b est fixe cela
ne donne pas d’information exploitable pour |l an |. Voici une façon générale d’estimer
l’erreur’ à l’aide du théorème des accroissements finis.
Proposition 6 Soit f : I ! R une fonction dérivable et l tel que f (l) = 0. S’il existe
une constante m > 0 telle que pour tout x 2 I, f 0 (x) m, alors
f (x)
|x l|  , 8x 2 I
m
Démonstration. Par l’inégalité des accroissement finis entre x et l :
|f (x) f (l)| m|x l|
mais f (l) = 0, d’où la majoration.
3. Algorithme
Code 2 (secante).
def secante (a, b, n) :
for i, allant de 1 jusqu’à n
a = a f (a) ⇤ (b a)/(f (b) f (a))
fin de for
return a

16
1.5 Méthode de Newton-Raphson
La méthode de Newton consiste à remplacer la sécante de la méthode précédente par la
tangente. Elle est d’une redoutable efficacité.
Cette méthode permet le calcul d’une solution approchée d’une équation numérique f (x) = 0
en utilisant une suite récurrente (xn ) obtenue par linéarisation de la façon suivante :
On détermine un intervalle [a, b] sur lequel f est dérivable et s’annule une fois et une seule en un
point noté ↵, par exemple parce que f est strictement monotone sur [a, b] et que f (a).f (b) < 0.
On choisit un x0 2 [a, b], puis on calcule xn+1 en fonction de xn en remplaçant la courbe
représentative de f par sa tangente au point (xn , f (xn )). Si cette tangente n’est pas parallèle
à l’axe des abscisses (ce qui sera souvent le cas. . .), on prend pour xn+1 l’abscisse du point
d’intersection de cette tangente avec l’axe des x.
Comme l’équation de la tangente en (xn , f (xn )) est y f (xn ) = f 0 (xn )(x xn ), on obtient
avec y = 0 et si f 0 (xn ) 6= 0
f (xn )
xn+1 = xn
f 0 (xn )
Pratiquement, l’étude de l’existence et de la convergence de cette suite est toujours compliquée.
On se dispense de cette étude en calculant les premiers termes de la suite avec un x0 assez proche
de de s. Si ces premiers termes se stabilisent assez vite, l’utilisation du théorème des valeurs
intermédiaires permet de justifier une valeur approchée, comme dans l’exemple ci-dessous.
p
Exemple 5 Pour trouver des valeurs approchées de 2, c’est-à-dire de la racine positive de
l’équation f (x) = x2 2 = 0, on peut utiliser, selon la méthode de Newton, la suite :
✓ ◆
x2n 2 1 2
xn+1 = xn = xn +
2xn 2 xn
avec par exemple x0 = 1. Cette suite est aussi connue sous le nom de suite de Héron. On
obtient ainsi x1 = 1, 5 ; x2 = 1, 4166666 ; x3 = 1, 4142157 ; x4 = 1, 4142136. En vérifiant que
f (1, 414213) ⇥ f (1, 414215) < 0, l’application
p du théorème des valeurs intermédiaires montre que
1,414214 est une valeur approchée de 2 à 10 6 près.
Dessin démontrant la méthode de Newton :
y
Cf (x)

tangente

f (x(k) )

x
x(k+1) x(k)

17
La méthode de Newton est une méthode particulière de point fixe en posant g(x) = x ff0(x)
(x) .
Elle est basée sur l’idée de construction d’une suite (xn ) qui converge vers s d’une manière
quadratique.
Le théorème suivant donne des conditions suffisantes d’existence d’un intervelle I ⇢ [a, b]
dans lequel toute donnée x0 2 I entraîne la convergence.
Théorème 4 Soit f 2 C 2 ([a, b]) avec
— f (a)f (b) < 0
— 8x 2 [a, b] f 0 (x) 6= 0 (f strictement monotone)
— 8x 2 [a, b] f 00 (x) 6= 0 (f ne change pas de convexité)
alors 8x0 2 [a, b] donné tels que f (x0 )f 00 (x0 ) > 1, la suite définie par x0 et la formule itération
f (xn )
xn+1 = g(xn ) = xn
f 0 (xn )
converge vers l’unique solution s de équation f (x) = 0 dans [a, b].
Preuve : Les hypothèses ⇢
f (a)f (b) <0
0
f (x) 6= 0, 8x 2 [a, b]
implique qu’il existe un unique s 2 [a, b] tel que f (s) = 0. Comme f 2 est de signe constant, on
distingue deux cas :
1. Premier cas : f ( x) > 0, 8 x 2 [a, b] (donc f (x0 ) > 0).
a) Si f 0 (x) > 0, 8 x 2 [a, b] on a
f (x) > 0 8 x 2 [s, b] et f (x) < 0 8 x 2 [a, s]
Comme f (x0 ) > 0, alors x0 2]s, b[. Rappelons que g est la fonction définie par
f (x)
g(x) = x 8 x 2 [a, b]
f 0 (x)
. Comme
f (x)f 2 (x)
g 0 (x) = 8 x 2]s, b]
(f 0 (x))2
g est croissante sur ]s, b]. D’où s = g(s)  g(x0 ) = x1 puisque s < x0 . On en déduit que
x1 2]s, b]. De plus,
f (x0 )
g(x0 ) = x1 = x0 < x0
f 0 (x0 )
Donc s  x1 < x0
Par récurrence, on obtient :
s  xn+1 < xn  . . . < x2 < x1 < x0 , 8 n 2 N
Donc la suite (xn ) est décroissante et minorée par s, ce qui montre qu’elle est convergente.
Comme xn+1 = g(xn ) et comme g est continue, (xn ) converge vers l’unique point fixe s
de g. On remarque de plus que
|xn+1 s| < |xn s| f orall n 2 N

b) Si f 0 (x) < 0, 8 x 2 [a, b] un raisonnement semblable au précèdent implique que (xn )


est croissante majorée par s.
Donc (xn ) est convergente. Comme xn+1 = g(xn ) et que g est continue, on obtient que
(xn ) converge vers s l’unique point fixe de g.

18
2. Second cas : f ( x) < 0, 8 x 2 [a, b] (donc f (x0 ) < 0). Alors le raisonnement précèdent ,
avec f remplacée par f , implique que la suite (xn ) converge vers s.

Théorème 5 si g est une application de [a, b] dans [a, b], on a les résultats suivants :
1. Si g 2 C 1 ([a, b]), g 0 (s) 6= 0, |g 0 (s)| < 1, et si 8n 2 N, xn 6= s alors

|xn+1 s|
lim = |g 0 (s)| 2]0, 1[
n!+1 |xn s|

et la convergence est linéaire.


2. Si g 2 C 2 ([a, b]), g 0 (s) = 0 et si 8n 2 N, xn 6= s alors

|xn+1 s| 1
lim 2
= |g 00 (s)| 2]0, 1[
n!+1 |xn s| 2

et la convergence est au moins quadratique.


3. En posant en = xn s, on a

en+1 1 f 00 (s)
lim =
n!+1 e2
n 2 f 0 (s)
|en+1 | M2
et 8n 2 N, e2n
 2m1 avec m1 = inf x2Vs |f 0 (x)| et M2 = supx2Vs |f 00 (x)|

Critère d’arret et algorithme de Newton-Raphson

On a la suite récurrente de Newton dédifie par


xn
xn+1 = xn 0
, x0 2 [a, b]
f (xn )
xn
Alors en = xn+1 xn = f 0 (xn ) , l’erreur à la nième itération. On peut utiliser comme critère
d’arrêt

|xn+1 xn | < " (contrôle de l’incrément),


sinon
|f (xn )| < " (contrôle du résidu)
où " est une tolérance fixée.

Un algorithme de Newton

19
Entrées : x0 , n, f , f 0

Sorties : liste des nombres xn de plus en plus proches de s

Début du traitement des données :

Lire : x0

s prend la valeur x0

Pour k allant de 1 à n

f (s)
s prend la valeur s f 0 (s) Afficher : s

FinPour

Fin du traitement des données

20
1.6 Résolution des systèmes non linéaires
La section précédente a présenté des méthodes pour résoudre une équation non linéaire à
une variable. Dans de nombreux problèmes de génie chimique, on a affaire à plusieurs équations
non linéaires contenant plusieurs inconnues. Le problème général a la forme suivante :

f : Rn ! R n

Rappels en dimension n
1) une équation, n inconnues : f : Rn ! R.
@f
Le vecteur gradient est définie par : rf (x) = [ @x 1
, . . . @f
@f @xn ]
t

1
8 h 2 Rn , f (x + h) = f (x) + ht rf (x) + ht Hf (x)h + ||h||✏(h2 )
2
La matrice Hessiène pour n=2 est définie par
0 2 1
@ f @2f
2 @x1 @x2 A
@ @x2 1
@ f @2f
@x1 @x2 @x22

2) n équations, n inconnues : f : Rn ! Rn .
Le La matrice Jacobienne est définie par :
0 @f1 @f1 1
@x1 ... @xn
rf (x) = @ ... .. .. C
B
. . A
@fn @fn
@x1 @xn

1
8 h 2 Rn , f (x + h) = f (x) + rf (x)h + ht Hf (x)h + ||h||✏(h2 )
2
Chaque fonction fi (x) est une fonction non linéaire par rapport à n variables xi , x est un vecteur
formé de n composantes xi . Une solution s du problème est telle que f (s) = 0. De manière
générale, on n’est pas sûr qu’il existe une solution ou que cette solution soit unique. De plus, on
ne sait pas s’il existe une relation explicite qui donne la solution en fonction des coefficients du
système d’équations non linéaires.

1.6.1 La méthode du point fixe dans Rn .


La méthode du point fixe à plusieurs variables est une extension de la méthode du point fixe
à une variable. On transforme l’équation f (~x) = ~0 de la façon suivante :

f (~x) = ~0 () ~x = ~x ± f (~x) () ~x = g(~x)

On a alors ~s 2 Rn racine de f = (f1 , f2 , . . . , fn ) est équivalent à ~s est un point fixe de


g(g1 , g2 , . . . , gn )
f (~s) = ~0 () ~s = g(~s)
Sans perte de généralité, examinons le cas n = 2. on suppose alors que l’on doit résoudre 2
équations non linéaires à deux variables x1 et x2 .

R2 ! R 2

21

f1 (x1 , x2 )
f : x = (x1 , x2 ) 7! y =
f1 (x1 , x2 )
On cherche alors s = (s1 , s2 ) tel que f (s) = 0 càd :

f1 (s1 , s2 ) = 0
f2 (s1 , s2 ) = 0

f1 (x1 , x2 ) = 0
en l’équation :
x1 + f1 (x1 , x2 ) = x1
et en nommant :
g1 (x1 , x2 ) = x1 + f1 (x1 , x2 )
Alors le problème f1 (x1 , x2 ) = 0 revient à g1 (x1 , x2 ) = x1
De même, on pose :
g2 (x1 , x2 ) = x2 + f2 (x1 , x2 )
le problème f2 (x1 , x2 ) = 0 revient à g2 (x1 , x2 ) = x2 . Soit

f1 (x1 , x2 ) = 0
f2 (x1 , x2 ) = 0

revient à ⇢
f1 (x1 , x2 ) + x1 = g1 (x1 , x2 ) = x1
x = x + f (x) = g(x) ()
f2 (x1 , x2 ) + x2 = g2 (x1 , x2 ) = x2

g1 (x1 , x2 ) = x1
g2 (x1 , x2 ) = x2
La méthode repose sur les étapes suivantes.
(0) (0)
On se donne x(0) = (x1 , x2 ) (proche de la solution si possible).
On calcule
(1) (0) (0)
x1 = g1 (x1 , x2 )
(1) (0) (0)
x2 = g2 (x1 , x2 )
Puis
(2) (1) (1)
x1 = g1 (x1 , x2 )
(2) (1) (1)
x2 = g2 (x1 , x2 )
Puis
(3) (2) (2)
x1 = g1 (x1 , x2 )
(3) (2) (2)
x2 = g2 (x1 , x2 )
De façon plus générale
x(0) donné, x(k+1) = g(x(k) ), k 2 N
Et on espère que, au bout de k itérations, avec k éventuellement très grand, x(k) converge
vers une valeur s. S’il y a convergence, on a la relation :

g(s) = s

D’après la définition de la fonction g, il s’ensuit que :

g(s) = s + f (s) () s = s + f (s) () 0 = f (s)

22
Dans ce cas s est un point fixe de g.
Exemple :
Soient les équations suivantes :

f1 (x1 , x2 ) = (x2 + y 2 2x1 x2 1)/10
f2 (x1 , x2 ) = (x2 + y 2 + 2x1 x2 9)/10

En prenant x(0) = (2, 5, 1, 6), on obtient les itérés suivants :


(1) (2) (3) (4) (4)
x1 = 2, 5 x1 = 2, 311 x1 = 2, 1220 x1 = 2, 0074 x1 = 1, 9580
(1) (2) (3) (4) (4)
x2 = 0, 8 x2 = 0, 611 x2 = 0, 6572 x2 = 0, 7848 x2 = 0, 9051

En fait la solution exacte est s = [2, 1] La convergence (succès) de la méthode du point fixe
dépend de la forme de f et de l’estimé de départ x0 .

1.6.2 La méthode de Newton- Raphson dans Rn .


Comme dans le cas d’une équation non linéaire à une inconnue, la méthode du point fixe
n’est pas très rapide et demande plusieurs itérations avant d’obtenir une bonne approximation
de la solution. On peut donc proposer une méthode plus efficace comme la méthode de Newton-
Raphson pour résoudre l’équation f (x) = 0.
On rappelle que la formule de la méthode de Newton-Raphson pour une équation non linéaire
à une inconnue est la suivante :
f (xn )
xn+1 = xn
f 0 (xn )
Cette équation peut se mettre sous la forme

f (xn )
xn+1 xn =
f 0 (xn )

f 0 (xn )(xn+1 xn =) = f (xn )


Ici on va cosidérer f : Rn ! Rn de classe C k , k 2 et on va chercher une solution notée s
de l’équation f (x) = 0, càd f (s) = 0 dans un voisinage de s noté Vs .
Si h 2 Rn est tel que s + h 2 Vs ,

f (s + h) = f (s) + Df (s).h + O(||h||2 )

Df (x) := J(x) étant le Jacobien de f et Df (s) = Df (x)|x=s


La méthode de Newton repose sur une formule analogue à l’équation précédente :
On considère Vs ⇢ D, D ⇢ Rn un convexe. Soient x et x(n) deux élément de D. f de classe
C sur D, alors
2

f (x) = f (x(n) ) + Df (x(n) ).(x x(n) ) + O(||x x(n) ||2 )


Soit
f (x(n) ) + Df (x(n) ).(x x(n) ) = 0 () Df (x(n) ).(x x(n) ) = f (x)
Pour x = x(n+1) et Df = J matrice Jacobienne de f ,

J(x(n) )(x(n+1) x(n) ) = f (x(n) )

23
J est la matrice jacobienne formée des dérivées partielles de f par rapport à x. Dans le cas de
2 équations à 2 inconnues, la matrice jacobienne est une matrice carrée de dimension 2 dont les
éléments sont les suivants : !
@f1 (x(n) ) @f1 (x(n) )
(n) @x1 @x2
J(x )= @f2 (x(n) ) @f2 (x(n) )
@x1 @x2
L’équation de la méthode de Newton conduit alors à :

J(x(n) )(x(n+1) x(n) ) = f (x(n) ) () x(n+1) x(n) = J(x(n) ) 1


f (x(n) )

soit
x(n+1) = x(n) J(x(n) ) 1
f (x(n) )
Il est à noter que x(n+1) , x(n) et f (x(n) ) sont des vecteurs et que et J(x(n) ) est une matrice. La
méthode de Newton fonctionne si la matrice J est inversible puisque la formule utilise l’inverse
de la matrice J.
Exemple. Résoudre le système

f1 (x1 , x2 ) = (x21 + x22 2x1 x2 1)/10
f2 (x1 , x2 ) = (x21 + x22 + 2x1 x2 9)/10
La matrice Jacobienne a comme terme général :
@f1 (x1 , x2 )
= (2x1 2x2 )/10
@x1
@f1 (x1 , x2 )
= (2x2 2x1 )/10
@x2
@f2 (x1 , x2 )
= (2x1 + 2x2 )/10
@x1
@f2 (x1 , x2 )
= (2x2 + 2x1 )/10
@x2
En prenant x(0) = (2, 5, 1, 5), on obtient les itérés suivants :
(1) (2) (3)
x1 = 2, 0625 x1 = 2, 00125 x1 = 2, 00000
(1) (2) (3)
x2 = 1, 0625 x2 = 1, 00125 x2 = 1, 00000
Théorème 6 Soit f une application de Rn dans Rn . on cherche à résoudre f (x) = 0 par la
méthode de Newton. S’il existe s tel que
1. f (s) est nul,
2. f est différentiable dans un voisinage de s et ||Df (x) Df (s)||  k||x s||,
3. Df (s) est inversible,
alors il existe un réel strictement positif ⌘ tel que si x(0) vérifie ||x(0) x(k) || < ⌘ la suite construite
par la méthode de Newton converge vers s . De plus la convergence obtenue est d’ordre 2, ou
quadratique, c’est-à-dire qu’il existe une constante C > 0 telle que

||x(k+1) x(k) ||  C||x(k) s||2

Nous ne démontrerons pas ce résultat, qui est la "traduction" des hypothèses correspondantes
dans le cas n = 1. On notera aussi que la convergence est très rapide (quadratique).
Dans ce cas la méthode de Newton converge.

24
1.7 Test d’arrêt
Tout calcul machine conduit à des erreurs (arrondis, troncatures) qu’il faut savoir estimer
pour ne pas poser de tests d’arrêt irréalites. Les tests ne peuvent pas faire intervenir l’erreur en
qui reste inconnue du fait de (que l’on cherche !) Les tests standards portent sur

||x(n+1) x(n) ||
||x(n+1) x(n) ||, ou ||f (x(n) ||
||x(n) ||

quantité(s) que l’on rend inférieure(s) à un seuil ✏ > 0 fixé (10 5, par exemple.)

25

Vous aimerez peut-être aussi