Cours M148
Cours M148
Cours M148
TECHNIQUES D'ERRACHIDIA
Département de Mathématiques
Ploycopié de cours
Module M 148
Méthodes numériques
Avant-propos v
1 Notions sur les erreurs numériques 1
1.1 Arithmétique machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Représentation machine des nombres réels . . . . . . . . . . . . . . . . . 2
1.1.2 Pertes de chires signicatifs . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Notions de conditionnement et stabilité . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Interpolation polynomiale 7
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Polynôme d'interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . 8
4 Dérivation Numérique 21
4.1 Dérivée première . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Formule générale en trois points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Dérivées d'ordre supérieur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4 Étude de l'erreur commise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
iii
iv TABLE DES MATIÈRES
Ce document est une version regroupée des notes de deux cours enseignés à la FSTE, en
deuxième année de parcours MIP.
Ces enseignements se composent à la fois de cours magistraux et de séances de travaux dirigés et
de travaux pratiques. Leur but est de présenter plusieurs méthodes numériques de base comme
le calcul numérique d'intégrales ou encore pour l'approximation de fonctions par interpolation
polynomiale, ainsi que d'introduire aux étudiants les techniques d'analyse (théorique) de ces
dernières. Certains aspects pratiques de mise en ÷uvre sont également évoqués et l'emploi des
méthodes est motivé par des problèmes concrets . La présentation et l'analyse des méthodes
se trouvent complétées par un travail d'implémentation et d'application réalisé par les étudiants
avec le logiciels Scilab.
v
vi AVANT-PROPOS
Chapitre 1
1.1. Introduction
Dans le titre de ce chapitre, le mot erreur n'est pas pris au sens de faute (raisonnement faux dans
la méthode, instruction fausse dans le programme). Il ne concerne que des erreurs inévitables.
On peut les classer en trois catégories :
- Les erreurs sur les données. Elles peuvent être dues à l'imprécision des mesures physiques ou
au fait que les données proviennent elle même d'un calcul approché. Elles sont imposées, en
quelque sorte, de l'extérieur et nous ne pouvons agir sur elles. Néanmoins, la manière dont elles
se propagent au cours des calculs est davantage du ressort du calculateur. L'analyse de cette
propagation sera évoquée au cours de ce chapitre. Elle est liée aux notions de conditionnement
et de stabilité.
- Les erreurs d'arrondi. Ce sont les erreurs dues au fait que la machine (dans ce cours, ce terme
désignera indiéremment la calculette de poche ou l'ordinateur) ne peut représenter les nombres
réels qu'avec un nombre ni de chires. A chaque opération mathématique élémentaire, il pourra
y avoir une perte de chires signicatifs. Le calculateur doit donc être vigilant quand le nombre
d'opérations est très important. Cela va faire l'objet du prochain paragraphe.
- Les erreurs d'approximation ou de discrétisation. Ce sont les erreurs qu'on commet, par exemple,
lorsqu'on calcule une intégrale à l'aide d'une somme nie, une dérivée à l'aide de diérences -
nies ou bien la somme d'une série innie à l'aide d'un nombre ni de ses termes (on parle alors
quelquefois d'erreur de troncature). Une situation qu'on rencontrera souvent également consiste
à approcher une fonction, solution d'une certaine équation fonctionnelle ou aux dérivées par-
tielles, par une combinaison linéaire nie de fonctions élémentaires. Ce type d'erreurs est bien
sûr fortement lié à la méthode employée. Un des buts de l'analyse numérique consiste justement
à évaluer ces erreurs de discrétisation pour chaque algorithme mis en place. C'est donc un souci
qui nous accompagnera tout au long de ce cours.
Pour mesurer l'erreur entre la solution fournie par une méthode numérique et la solution du
problème que l'on cherche à résoudre (on parle encore d'estimer la précision de la méthode), on
introduit les notions d'erreur absolue et relative.
Dénition 1.0.1 Soit x̂ une approximation d'un nombre réel x. On dénit l'erreur absolue
entre ces deux scalaires par
|x − x̂|
1
2 CHAPITRE 1. NOTIONS SUR LES ERREURS NUMÉRIQUES
De ces deux quantités, c'est souvent la seconde que l'on privilégie pour évaluer la précision d'un
résultat, en raison de son invariance par changement d'échelle : la mise à l'échelle x → αx et
x̂ → αx̂ ,α 6= 0 laisse en eet l'erreur relative inchangée.
L'exposant p est lui aussi limité par la machine avec laquelle on travaille. Si p est hors des
limites permises (i.e.trop grand en valeur absolue), le nombre x ne sera pas représentable en
machine : elle achera alors un message du type exponent overow quand le nombre est trop
grand, ou elle achera 0 s'il est trop petit. On appelle quelquefois capacité le plus grand nombre
que peut écrire la machine et pas le plus petit nombre. En général, le pas est l'inverse de la
capacité. La diérence entre la valeur exacte d'un nombrex et la valeur x∗ de sa représentation
1 −N p
est appelée erreur d'arrondi. Elle est majorée par b b , soit en valeur relative :
2
Cette erreur est systématiquement présente dans tout calcul arithmétique sur nombre réel eectué
par un ordinateur. Elle fait que l'arithmétique numérique n'a pas la précision de l'arithmétique
mathématique et peut, si on n'y prend pas garde, conduire à des résultats inexacts, voire aber-
rants, comme le montrent les exemples suivants et les exercices.
1.2. NOTIONS DE CONDITIONNEMENT ET STABILITÉ 3
Exemple 1.1.2 Supposons que dans un calcul apparaisse la quantité x = π − 3.1415 (où π =
3.141592653589793 . . .) Si on travaille avec 8 chires signicatifs (comme beaucoup de calcu-
lettes), le nombre π sera représenté par : π∗ = 0.31415927 10−1 en virgule ottante normalisée.
On aura donc
x = 0.31415927 10−1 − 0.31415 10−1 = 0.0000927 10−1 = 0.927 10−4
On constate que x ne contient en fait que 3 chires signicatifs et non 8, soit une perte sèche de 5
chires signicatifs. Ce genre de phénomènes peut surgir à tout moment d'un calcul. Nous verrons
de nombreux exemples d'algorithmes conduisant à faire la diérence de 2 nombres proches.
Exemple 1.1.3 Soit à calculer le quotient
XN π − 3.1415
A= = 4
XD 10 (π − 3.1415) − 0.927
En travaillant avec 8 chires signicatifs, on a :
XD = 104 (0.927 10−4 ) − 0.927 = 0
π ∗ = 3.1415927 A=Erreur
π ∗ = 3.14159265 A = −0.18530
π ∗ = 3.141592653 A = −0.197134
π ∗ = 3.1415926536 A = −0.1996844
Exemple 1.1.4 L'addition numérique n'est pas associative : en virgule ottante à N chires
signicatifs, (a + b) + c peut être diérent de a + (b + c). C'est le cas avec le choix suivant où
les calculs sont faits avec 8 chires signicatifs.
a = 0.23371258 10−4 ; b = 0.33678429 102 et c = −0.3367811 102
a + b = 0.00000023(371258) 102 + 0.33678429 102 = 0.33678452 102 .
On remarque que, dans cette addition, les 6 derniers chires de a sont perdus. Ainsi :
(a + b) + c = 0.33678452 102 − −0.3367811 102 = 0.00000641 102 = 0.641 10−3
Par ailleurs :
b + c = 0.00000618 102 = 0.618 10−3
a + (b + c) = 0.02337125(8) + 0.618 10−3 = 0.64137126 10−3
Remarque 1.1.1 Dans les calculs où interviennent des nombres d'ordres de grandeur diérents,
il est en général préférable d'eectuer les opérations en groupant ceux d'ordres de grandeur
similaires pour éviter les pertes de chires signicatifs.
1.2.1 Conditionnement
Le conditionnement décrit la sensibilité de la valeur d'une fonction à une petite variation de
son argument, c'est-à-dire :
f (x) − f (x∗ ) x − x∗
en fonction de
f (x) x
lorsque x − x∗ est petit. Pour une fonction susamment régulière, on a évidemment :
Ceci correspond à un bon conditionnement, puisque l'erreur relative sur f sera au plus moitié
d'une erreur relative sur x.
Exemple 1.2.2 f (x) = a − x 0
xf (x) x
=
f (x) a − x
Ici, le conditionnement est très mauvais si x est voisin de a.
1.2.2 Stabilité
La stabilité décrit la sensibilité d'un algorithme numérique pour le calcul d'une fonction f (x).
Exemple 1.2.3 √ √
f (x) = x+1− x
Le conditionnement de cette fonction est égal à :
0 r
xf (x) 1 x
=
f (x) 2 x + 1
Cette dernière expression étant proche de 1/2 pour x grand. Donc, si x est grand, le condition-
nement de f est bon. Cependant, dans un calcul à 6 chires signicatifs, on a :
√ √
f (12345) = 12346 − 12345 = 111.113 − 111.108 = 0.5 10−2
Or un calcul précis donne :f (12345) = 0.4500032 10−2 . On a donc une erreur de 10% ce qui est
important et peu en accord avec le bon conditionnement de f . Ceci est dû à l'algorithme utilisé
dans ce calcul que l'on peut expliciter
√
comme√
suit :
x0 = 12345; x1 = x0 + 1; x2 = x1 ; x3 = x0 ; x4 = x2 − x3 .
Il y a quatre fonctions à intervenir et, à priori, même si le conditionnement de f est bon, il se peut
que le conditionnement d'une ou plusieurs fonctions utilisées dans l'algorithme soit supérieur à
celui de f . C'est ce qui se produit ici pour la fonction x3 7−→ x4 = x2 − x3 (x2 étant supposé xe)
dont le conditionnement est grand lorsque x3 est voisin de x2 comme on l'a vu précédemment.
1.3. CONCLUSION 5
En conclusion, le choix d'un bon algorithme numérique est essentiel. Par exemple, ci-dessus,
un meilleur algorithme est obtenu en utilisant :
√ √ 1
f (x) = x+1− x= √ √
x+1− x
1 1
f (12345) = √ √ = = 0.450002 10−2
12346 + 12345 222.221
1.3 Conclusion
An de limiter la propagation des erreurs d'arrondi, il faut essayer d'anticiper en utilisant
des algorithmes dont la stabilité est optimisée par un choix d'opérations intermédiaires à bon
conditionnement. Les phénomènes soulignés dans ce chapitre ne pouvant être, en tout état de
cause, complètement éliminés, on peut essayer d'évaluer l'erreur totale à laquelle un algorithme
est susceptible de donner lieu : a/ en faisant un calcul en double précision et en confrontant le
résultat au même calcul fait en simple précision. Cependant, cette technique est très coûteuse en
temps machine puisqu'elle peut multiplier le temps de calcul par un facteur 8.
b/ en faisant une analyse mathématique de l'erreur : ce peut être une analyse rétrograde de
l'erreur comme celle utilisée plus haut pour comparer (a + b)+c et a+(b + c). Des méthodes
statistiques peuvent être également utilisées. Nous renvoyons à la littérature spécialisée pour ces
questions le plus souvent délicates.
6 CHAPITRE 1. NOTIONS SUR LES ERREURS NUMÉRIQUES
Chapitre 2
Interpolation polynomiale
2.1 Introduction
Soit n un entier positif. Etant donné une famille de (n + 1) points (xi , yi )i=0,...,n distincts du
plan, l'interpolation est une technique consistant à constuire une courbe d'un type donné passant
par les points (xi , yi ). Les quantités yi , i = 0, · · · , n, peuvent en eet représenter les valeurs aux
noeuds xi , i = 0, · · · , n, d'une fonction f connue analytiquement, et l'on cherche alors à rempla-
cer f par une fonction plus simple à manipuler en vue d'un calcul numérique faisant intervenir
des dérivées et /ou des intégrales, ou bien encore des données expérimentales, auquel cas on vise
à obtenir une représentation ou même une loi empirique pour celle ci lorsque leur nombre est
important.
Dans un problème d'interpolation polynomiale de Lagrange, on cherche en particulier à déter-
miner un polynôme de degré n dont le graphe passe par ces (n + 1) points, c'est à dire à trouver
Πn ∈ Pn vériant Πn (xi ) = yi pour i = 0, · · · , n,. On dit alors que le polynôme Πn interpole les
quantités {yi }i=0,··· ,n aux noeuds {xi }i=0,··· ,n . Le choix de polynôme n'est pas le seul possible :
l'interpolation trigonométrique utilise des fonctions trigonométriques et est largement utilisé dans
la mise en oeuvre de l'analyse de Fourier.
Cependant, la régularité, la facilité de calcul d'une valeur en un point grâce à la méthode de
Horner et les nombreuses autres propriètés des polynômes en font une classe des fonctions parti-
culièrement intéressantes d'un point de vue pratique. L'interpolation polynomiale est pour cette
raison un outil de premier plan pour l'approximation numérique des fonctions.
Dans ce chapitre, on traite majoritairement de l'interpolation de Lagrange, qui constitue la base
théorique principale de l'interpolation polynomiale. Après en avoir donné les principes et les pro-
priétés, nous considérons les aspects pratiques du calcul du polynôme d'interpolation de Lagrange
ainsi que l'étude de l'erreur d'interpolation, qui est l'erreur commise lorsque l'on substitue à une
fonction donnée son polynôme d'interpolation. Quelques exemples d'interpolation par morceaux
concluent cette (brève) présentation.
On suppose une fois pour toutes que {(xi , yi )}i=0,··· ,n , n ≥ 0 est une famille de (n + 1) points
dont les abscisses xi sont toutes deux à deux distinctes. An d'alléger la rédaction, on appellera
souvent dans ce chapitre (la section consacrée à l'interpolation par morceaux faisant toutefois ex-
ception) polynôme d'interpolation le polynôme de Lagrange associé aux points {(xi , yi )}i=0,··· ,n .
7
8 CHAPITRE 2. INTERPOLATION POLYNOMIALE
n
X
Πn (x) = aj xj , ∀x ∈ R,
j=0
a0 + a1 xi + · · · + an xni = yi , i = 0, 1, · · · , n. (2.1)
Ce système possède une unique solution si et seulement si la matrice carrée qui lui est associée
est inversible. Or, il se trouve que le déterminant de cette dernière est un déterminant de Van-
dermonde dont on peut montrer (preuve est laissée en exercice) qu'il vaut
xn0
1 x0 ···
xn1
1 x1 ··· Y
= (xj − xi ).
.. .
.
.
.
. . .
0≤j<i≤n
1 xn ··· xnn
Les n÷uds d'interpolation étant tous distincts, ce déterminant est non nul.
Remarque 2.1.1 Une autre façon de prouver l'unicité du polynôme d'interpolation est la sui-
vante. Supposons qu'il existe un autre polynôme ψm , de degré m inférieur ou égal à n, tel que
ψm (xi ) = yi pour i = 0, · · · , n. La diérence s'annule alors en n + 1 points distincts, elle est
donc nulle d'après le théorème fondamental de l'algèbre.
n
Y x − xj
li (x) =
xi − xj
j=0
j 6= i
Bien que communément employée pour ne pas alourdir les écritures, la notation li , i = 0, · · · , n,
utilisée pour les polynômes de Lagrange ne fait pas explicitement apparaître leur degré. La valeur
de l'entier n est en général claire compte tenu du contexte, mais il faudra cependant bien garder
cette remarque à l'esprit, puisque l'on peut être amené à augmenter n
Proposition 2.1.1 Les polynômes de Lagrange {li }i=0,··· ,n , n ≥ 0 sont tous de degré n, vérient
li (xk ) = δi,k , i, k = 0, · · · , n et forment une base de Pn .
Figure 2.1 polynôme de Lagrange Li (x) i = 0, · · · , 5 associés à des n÷uds équidistribués sur
l'intervalle [−1; 1].
À titre d'illustration, on a représenté sur la gure suivante les graphes sur l'intervalle [−1; 1]
des polynômes de Lagrange associés aux n÷uds −1, −0.5, 0, 0.5 et 1.
Démonstration. Pour établir (2), on utilise que les polynômes {li }i=0,··· ,n forment une base de
n
La décomposition de Πn dans cette base s'écrit Πn (x) = µi li (x), et on a alors
X
Pn .
i=0
n
X
yj = Πn (xj ) = µi li (xj ) = µj , ∀j = 0, · · · , n.
i=0
où qn ∈ Pn . Puisque qn (xi )Πn (xi ) − Πn−1 (xi ) = 0, pour i = 0, .., (n − 1), on a nécessairement
Notons alors
n
Y
ωn (x) = (x − xi) (2.4)
i=0
le polynôme de Newton de degré n associé aux noeuds {xi }i=0,...,n et déterminons le coecient
an . Comme Πn (xn ) = yn , on déduit que
yn − Πn−1 (xn )
an =
ωn (xn )
Le coecient an donné par la formule ci-dessus est appelée la nième diérence divisée de Newton
et se note généralement an = y [x0 , x1 , · · · , xn ] , n ≥ 1.
On a par conséquent Πn (x) = Πn−1 (x) + y [x0 , x1 , · · · , xn ] ωn (x)
En posant y[x0 ] = y0 , et ω0 ≡ 11, on obtient,
n
X
Πn (x) = y [x0 , x1 , ..., xi ] ωi (x) (2.5)
i=0
qui est, en vertu de l'unicité du polynôme d'interpolation, le même polynôme que celui dénit par
(2). La forme (5) est appelée formule des diérences divisées de Newton du polynôme d'interpo-
lation.Ce n'est autre que l'écriture de Πn dans la base de Pn formée par la famille de polynômes
2.1. INTRODUCTION 11
au sein duquel les diérences divisées sont disposées de manière à ce que leur évaluation se fasse
de proche en proche en observant la règle suivante : la valeur d'une diérence est obtenue en
soustrayant à la diérence placée immédiatement à sa gauche celle située au dessus de cette der-
nière, puis en divisant le résultat par la diérence entre les deux points de l'ensemble {xi }i=0,...,n
situés respectivement sur la ligne de la diérence à calculer et sur la dernière ligne atteinte en
remontant diagonalement dans le tableau à partir de cette même diérence.
3.1 Introduction
3.1.1 But et motivation
Le but de ce chapitre est d'aborder le calcul général de l'intégrale d'une fonction f (x) sur un
domaine ni délimité par des bornes nies a et b :
Z b
I= f (x) dx
a
Dans certains cas très limités, une telle intégrale peut être calculée analytiquement (à la main).
Cependant, ce n'est que très rarement possible, et le plus souvent un des cas suivants se présente :
- Le calcul analytique est long et compliqué
- Le résultat de l'intégrale est une fonction compliquée qui fait appel à d'autres fonctions elles-
même longues à évaluer.
- Cette intégrale n'a pas d'expressions analytique ( par exemple la fonction erreur :
Z x
2
Erf (x) = √ exp(−t2 ) dt)
π 0
3.1.2 Principe
L'idée principale est de trouver des méthodes qui permettent de calculer une valeur approchée
I˜ de l'intégrale à calculer I.
Comme toujours, un programme numérique n'invente rien, et ne fait que procéder très rapidement
à un calcul que l'on pourrait en principe faire à la main. Une méthode bien connue consiste par
exemple à diviser l'aire sous la courbe en un grand nombre de petits rectangle d'aires I˜k et de
I˜ = k I˜k
P
les sommer. Le résultat est alors une approximation de l'intégrale I. Cette méthode
dite des rectangles est un exemple parmi d'autres. Nous le reverrons, mais nous verrons aussi
d'autres méthodes, plus générales et plus performantes.
Pour presque toutes les méthodes, l'intégrale numérique est calculée à partir de l'évaluation de
13
14 CHAPITRE 3. MÉTHODES D'INTÉGRATION NUMÉRIQUE
n
X
I˜ = (b − a) ωk fk
k=0
Principe
Le principe générale des méthodes de Newton-Cotes simple est d'approximer la fonction f (x)
à intégrer par un polynôme P (x) ' f (x). Si cette approximation est susamment bonne alors,
l'intégrale de ce polynôme
Z b
I˜ = P (x) dx
a
Rb
sera une bonne approximation de I = a
f (x) dx. L'avantage est que l'on sait calculer analy-
tiquement la valeur exacte de I˜. Dans ces méthodes, on choisit des polynômes de degré p qui
coïncident avec f (x) en (p + 1) points distincts, espacés régulièrement entre les bornes a et b.
Ces points sont situés aux positions :
b−a
{xk = a + kh, k ∈ [0, p]} avec h=
p
On a alors ∀k ∈ [0, p], P (xk ) = fk = f (xk ).
Des polynômes de degrés diérents dénissent des méthodes diérentes. Nous allons voir les plus
courantes, c'est à dire les méthodes d'ordres les plus bas.
Méthode du rectangle (p = 0)
Cette méthode utilise le polynôme de degré le plus bas, à savoir le polynôme constant :
P0 (x) = f0 = f (a)
Rb
L'intégrale approchée I˜0 = a
P0 (x) dx se calcul alors trivialement et donne
I˜0 = (b − a)f0
Il s'agit de l'aire du rectangle. Cette intégrale numérique nécessite une unique évaluation de la
fonction f (en x0 = a) et représente donc ce qu'on peut faire de plus rapide.
L'erreur peut-être estimée en utilisant les développements en séries de Taylor ou le théorème des
accroissements nis on trouve alors pour h=b−a :
h2 0 h2
∃ ξ ∈ [a, b] 0 = I − I˜0 = f (ξ) c.à.d |0 | ≤ sup |f 0 |
2 2 [a,b]
3.1. INTRODUCTION 15
Pour calculer l'erreur, on peut utiliser le théorème des accroissements nis : ∀x ∈ [a, b], ∃ξ ∈ [a, b]
tel que
f (x) = f (a) + (x − a)f 0 (ξ)
En remplaçant dans l'expression de l'intégrale et de l'erreur, on trouve :
b b
h2 0
Z Z
= I − I˜ = (f (x) − P0 (x)) dx = (x − a)f 0 (ξ) dx = f (ξ)
a a 2
Cette méthode utilise également le polynôme constant pour approcher la fonction f. Cepen-
dant elle exploite mieux les symétries du problème en choisissant la valeur milieu :
a+b
P00 (x) = f = f00
2
Rb
L'intégrale approchée I˜00 = a
P00 (x) dx = (b − a)f00
Il s'agit de l'aire d'un rectangle. Cette méthode nécessite une unique évaluation de la fonction f
en x0 = (a + b)/2, et correspond donc aussi à ce qu'on peut faire de plus rapide.
L'erreur peut-être estimée en utilisant le développement en série de Taylor. On trouve alors pour
h=b−a :
h3 00 h3
∃ξ ∈ [a, b] 00 = f (ξ) c.à.d |00 | ≤ sup |f 00 |
24 24 [a,b]
16 CHAPITRE 3. MÉTHODES D'INTÉGRATION NUMÉRIQUE
Pour calculer l'erreur, on peut utiliser le théorème des accroissements nis du second ordre :
2 00
a+b a+b a+b a+b f (ξ)
f (x) = f + x− f0 + x−
2 2 2 2 2
En remplaçant dans l'expression de l'intégrale et de l'erreur, on trouve le résultat.
Méthode du trapèze (p = 1)
Pour approximer la fonction f, cette méthode utilise le polynôme d'ordre 1, la droite qui
passe par f0 = f (a) et f1 = f (b) :
f0 + f1 f1 − f0 a+b
P1 (x) = + x−
2 b−a 2
Rb
L'intégrale approchée I˜1 = a
P1 (x) dx, se calcule facilement :
f0 + f1
I˜1 = (b − a)
2
Il s'agit de l'aire du trapèze. Cette méthode nécessite deux évaluations de la fonction f (en a et
en b). Elle est donc en gros deux fois plus lente que les méthodes précédentes.
L'erreur peut-être estimée en utilisant l'erreur d'interpolation. On trouve alors pour h=b−a :
h3 00 h3
∃ ξ ∈ [a, b] 1 = − f (ξ) c.à.d |1 | ≤ sup |f 00 |
12 12 [a,b]
En précision, cette méthode est donc équivalente à celle du point milieu (1 ' 00 ), mais deux
fois plus lente.
Méthode de Simpson (p = 2)
Pour approcher la fonction f , cette méthode utilise le polynôme de degré 2 qui passe par les
a+b
trois points f0 = f (a), f1 = 2 et f2 = f (b) :
f2 − 2f1 + f0 f2 − f0
P2 (x) = 2 2
(x − x1 )2 + (x − x1 ) + f1
(x2 − x0 ) x2 − x0
3.1. INTRODUCTION 17
Rb
L'intégrale approchée I˜2 = a
P2 (x) dx se calcule alors simplement et donne
f0 + 4f1 + f2
I˜2 = (b − a)
6
Cette méthode nécessite trois évaluations de la fonction f (en x0 = a, x1 = (a + b)/2 et x2 = b),
On trouve alors pour h = (b − a)/2
h5 (4)
∃ ξ ∈ [a, b] 2 = − f (ξ)
90
m−1
X
I˜ = I˜k
k=0
b−a
Lorsque m est susamment grand, la largeur
m des intervalles devient aussi petite que l'on
veut, si bien que ces méthodes peuvent atteindre des précisions aussi grandes que nécessaire, sans
pour autant se heurter au problème des polynômes de grand degré.
n−1
X
I˜0 = h (f0 + f1 + · · · + fn−1 ) = h fk
k=0
18 CHAPITRE 3. MÉTHODES D'INTÉGRATION NUMÉRIQUE
n−1 n−1
X h2 X 0 h2 0
0 = 0,k = f (ξk ) = nf (ξ)
2 2
k=0 k=0
(b − a)2
|0 | ≤ sup |f 0 |
2n [a,b]
b−a
où l'on a utilisé le fait que h =
n pour la dernière inégalité. A nouveau, cette méthode est
exacte pour les fonctions constantes. Plus généralement, elle est d'autant plus précise que le
nombre de points est grand :
0 = O(1/n) = O(h)
L'erreur décroit comme 1/n. La méthode des rectangles est une méthode d'ordre 1.
n−1
!
f0 + 2f1 + 2f2 + · · · + 2fn−1 + fn f0 X fn
I˜1 = h =h + fk +
2 2 2
k=1
Dans cette formule, les points du bord du domaine ont des coecients diérents (1/2) de tous
le points intérieurs (1).
L'erreur est simplement la somme de toutes les erreurs :
h3 00
1 = − nf (ξ)
12
(b − a)3
|1 | ≤ sup |f 00 |
12n2 [a,b]
où l'on a utilisé le fait que h = (b − a)/n. A nouveau, cette méthode est exacte pour les fonctions
constantes et anes (et même les paraboles en fait). Plus généralement, elle est d'autant plus
précise que le nombre de points est grand :
1
1 = O = O(h2 )
n2
L'erreur décroit comme 1/n2 . La méthode des trapèzes est une méthode d'ordre 2.
3.1. INTRODUCTION 19
fk + 4fk+1 + fk+2
I˜2,k = (xk+2 − xk )
6
Si bien que (pour un nombre d'intervalles n pair) l'intégrale totale vaut :
h
I˜2 = (f0 + 4f1 + 2f2 + · · · + 2fn−2 + 4fn−1 + fn )
3
n/2−1 n/2−1
h X X
I˜2 = f0 + 2 f2k + 4 f2k+1 + fn
3
k=1 k=0
Dans ces formules, il y a 3 coecients diérents : 1/3 pour les points du bord, 4/3 pour le points
internes impairs, et 2/3 pour les points internes pairs.
À nouveau, l'erreur est simplement la somme de toutes les erreurs :
h5
2 = − mf (4) (ξ)
90
(b − a)5
|2 | ≤ sup |f (4) |
180n4 [a,b]
où l'on a utilisé le fait que h = (b − a)/n et n = 2m. Plus le nombre de points est grand, plus la
méthode est précise :
1
2 = O = O(h4 )
n4
L'erreur décroit comme 1/n4 . La méthode de Simpson est une méthode d'ordre 4.
20 CHAPITRE 3. MÉTHODES D'INTÉGRATION NUMÉRIQUE
Chapitre 4
Dérivation Numérique
h2 00
f (x + h) = f (x) + hf 0 (x) + f (η)
2
x≤η ≤x+h
21
22 CHAPITRE 4. DÉRIVATION NUMÉRIQUE
Formule progressive
h = xi+1 − xi
f (xi+1 ) − f (xi ) h 00
f 0 (xi ) = − f (η)
h 2
xi ≤ η ≤ xi + h
h 00
2 f (η) donc en O(h) : Cette formule peut être trouvée aussi en utilisant le
l'erreur est
polynôme d'interpolation de Lagrange pour les points (xi , f (xi )) et (xi+1 , f (xi+1 ))
Formule régressive
h = xi − xi−1
f (xi ) − f (xi−1 ) h 00
f 0 (xi ) = + f (η)
h 2
xi−1 ≤ η ≤ xi
h2 00 h3
f (xi+1 ) = f (xi ) + hf 0 (xi ) + f (xi ) + f (3) (η1 )
2 3!
h2 00 h3
f (xi−1 ) = f (xi ) − hf 0 (xi ) + f (xi ) − f (3) (η2 )
2 3!
xi ≤ η1 ≤ xi+1 , xi−1 ≤ η2 ≤ xi
si on suppose que f (3) est continue sur [xi−1 , xi+1 ] on peut écrire la formule suivante :
xi−1 ≤ η ≤ xi+1
h2 (3)
l'erreur est
6 f (η) donc en O(h2 ). La formule de diérence centrale peut aussi être trouvée
à partir du polynôme d'intérpolation de Lagrange en 3 points. On peut interpoler les données
par un polynôme au lieu d'utiliser la droite, nous obtenons alors les formules de diérence qui
utilisent plus de deux points. On suppose que le pas h est constant.
Formule de diérence progressive utilisant trois points :
2x1 − x2 − x3 x1 − x3 x1 − x2
f 0 (x1 ) = y1 + y2 + y3
(x1 − x2 )(x1 − x3 ) (x2 − x1 )(x2 − x3 ) (x3 − x1 )(x3 − x2 )
x2 − x3 2x2 − x1 − x3 x2 − x1
f 0 (x2 ) = y1 + y2 + y3
(x1 − x2 )(x1 − x3 ) (x2 − x1 )(x2 − x3 ) (x3 − x1 )(x3 − x2 )
x3 − x2 x3 − x1 2x3 − x2 − x1
f (x3 ) = y1 + y2 + y3
(x1 − x2 )(x1 − x3 ) (x2 − x1 )(x2 − x3 ) (x3 − x2 )(x3 − x1 )
où
(x − x2 )(x − x3 )
L1 (x) =
(x1 − x2 )(x1 − x3 )
(x − x1 )(x − x3 )
L2 (x) =
(x2 − x1 )(x2 − x3 )
(x − x1 )(x − x2 )
L3 (x) =
(x3 − x1 )(x3 − x2 )
L'approximation de la dérivée première est donnée par f 0 (x) ' P 0 (x), qui peut s'ecrire
où
2x − x2 − x3
L01 (x) =
(x1 − x2 )(x1 − x3 )
2x − x1 − x3
L02 (x) =
(x2 − x1 )(x2 − x3 )
2x − x2 − x1
L03 (x) =
(x3 − x2 )(x3 − x1 )
Donc
2x − x2 − x3 2x − x1 − x3 2x − x2 − x1
f 0 (x) ' y1 + y2 + y3
(x1 − x2 )(x1 − x3 ) (x2 − x1 )(x2 − x3 ) (x3 − x2 )(x3 − x1 )
24 CHAPITRE 4. DÉRIVATION NUMÉRIQUE
h2 00 h3 h4
f (x + h) = f (x) + hf 0 (x) + f (x) + f (3) (x) + f (4) (η1 )
2! 3! 4!
h2 00 h3 h4
f (x − h) = f (x) − hf 0 (x) + f (x) − f (3) (x) + f (4) (η2 )
2! 3! 4!
x ≤ η1 ≤ x + h et x − h ≤ η2 ≤ x.
f (x + h) − 2f (x) + f (x − h)
f 0 (x) '
h2
1
f 0 (xi ) ' [f (xi+1 ) − f (xi−1 )]
2h
1
f 00 (xi ) ' [f (xi+1 ) − 2f (xi ) + f (xi−1 )]
h2
1
f (3) (xi ) ' [f (xi+2 ) − 2f (xi+1 ) + 2f (xi−1 ) − f (xi−2 )]
2h3
1
f (4) (xi ) ' [f (xi+2 ) − 4f (xi+1 ) + 6f (xi ) − 4f (xi−1 ) + f (xi−2 )]
h4
En utilisant les polynômes d'interpolation de Lagrange les dérivées d'ordre p sont calculées par :
n
X
f (p) (α) ∼ Ai (α)f (xi )
i=0
(p)
où Ai (α) = Li (α) p ≤ n.
Remarque :
La formule est exacte pour les polynômes de degrés n :
Le système linéaire donnant les Ai (α) a un déterminant de type Vandermonde diérent de zéro
si les xi sont distincts.
Les Ai (α) sont indépendants de f et peuvent être calculés une fois pour toutes.
4.4. ÉTUDE DE L'ERREUR COMMISE. 25
n
X
f 0 (x) = Pn0 (x) + e0 (x) = Ai (x)f (xi ) + e0 (x)
i=0
et
d 1
e0 (x) = L(x)f (n+1) (ξx )
dx (n + 1)!
1 1 d h (n+1) i
= L0 (x)f (n+1) (ξx ) + L(x) f (ξx )
(n + 1)! (n + 1)! dx
On remarque tout de suite que l'erreur de dérivation est nulle si f est un polynôme de degré
inférieur ou égale à n. Si on prend pour x un point xi ; le second terme de la dernière somme
d
(n+1)
s'annule, sinon il faut connaître
dx f (ξx ) ; ce qui est dicile car la fonction x → ξx étant
inconnue.
On constate qu'on devra se contenter d'une estimation :
1 1
|e0 (x)| ≤ L0 (x)Mn+1 + L(x)Mn+2 .
(n + 1)! (n + 2)!
26 CHAPITRE 4. DÉRIVATION NUMÉRIQUE
Chapitre 5
On considère une fonction réelle f dénie sur un intervalle [a, b], avec a < b, et continue sur
cet intervalle et on suppose que f admet une unique racine sur I =]a, b[, c'est-à-dire qu'il existe
un unique α∈I tel que f (α) = 0.
Initialisation : On prend pour 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 α ∈]a, x0 [. On pose a1 = a, b1 = x0 .
∗ Si f (a)f (x0 ) > 0 alors α ∈]x0 , b[. On pose a1 = x0 , b1 = b.
On prend alors pour x1 le milieu de [a1 , b1 ].
On construit ainsi une suite x0 = (a + b)/2, x1 = (a1 + b1 )/2,...xn = (an + bn )/2 telle que
|α − xn | ≤ (b − a)/2n+1
Etant donné une précision , cette méthode permet d'approcher α en un nombre prévisible
d'itérations.
27
28 CHAPITRE 5. RÉSOLUTION D'ÉQUATIONS NON LINÉAIRES
Le choix d'une méthode est conditionné par les réponses aux questions suivantes :
4. comme dans tout calcul, on désire obtenir rapidement le résultat approché, il faudra donc
estimer la manière dont évolue l'erreur e = xn − α , 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 eectuer qu'un nombre ni 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 ∈ I , pour tout n, alors par unicité de
la racine dans I, la suite converge vers α.
Théorème 5.2.1 Si g est une application dénie sur l'intervalle [a, b] à valeurs dans [a, b], alors
la suite (xn ) dénie par x0 ∈ [a, b] et la relation de récurrence xn+1 = g(xn ) converge vers
l'unique solution α de l'équation x = g(x), avec α ∈ [a, b].
Preuve 5.2.1 la suite (xn ) est bien dénie car g ([a, b]) ⊂ [a, b].
Montrons, par l'absurde, que l'équation x = g(x) a au plus une solution. Supposons qu'il y ait
deux solutions α1 et α2 , alors
|α1 − α2 | = |g(α1 ) − g(α2 )| ≤ L|α1 − α2 |
or L < 1 donc nécessairement α1 = α2 .
Montrons que la suite (xn ) est convergente. On a
|xn+1 − xn | = |g(xn ) − g(xn−1 )| ≤ L|xn − xn−1 |
et par récurrence
|xn+1 − xn | ≤ Ln |x1 − x0 |
On en déduit que
1 − Lp Ln
|xn+p − xn | ≤ Ln |x1 − x0 | ≤ |x1 − x0 |
1−L 1−L
Cette suite vérie le critère de Cauchy ; elle est donc convergente vers α ∈ [a, b],
or l'application
g est continue donc la limite α vérie g(α) = α.
On a aussi une évaluation de l'erreur en faisant tendre p vers l'inni, on obtient
Ln
|α − xn | ≤ |x1 − x0 |
1−L
On constate que, pour n xé, l'erreur est d'autant plus petite queL est proche de 0.
Plaçons-nous dans le cas où f0 > 0 est dérivable et f est convexe (i.e. f 00 ≥ 0), alors la suite
(xn ) est dénie par
(
x0 = a
bf (xn )−xn f (b)
xn+1 = f (xn )−f (b)
30 CHAPITRE 5. RÉSOLUTION D'ÉQUATIONS NON LINÉAIRES
En eet, si f est convexe, on remplace l'intervalle [xn , b] par l'intervalle [xn+1 , b]. L'équation d'une
droite passant par (c, f (c)) et (b, f (b)) est :
y = f (b) − f (b)−f
b−c
(c)
(x − b). On cherche son intersection avec l'axe Ox donc on prend y=0 et
on obtient la formule donnée plus haut.
Remarque 5.3.1 si f est convexe, alors sa représentation graphique est au dessus des tangentes
et en dessous des cordes.
|xn − α|
lim = |g 0 (α)|
n→+∞ |xn−1 − α|
|xn − α|
lim = |g 0 (α)|
n→+∞ |xn−1 − α|
Pour obtenir une convergence plus rapide, on peut chercher u tel que g 0 (α) = 0. On a, si les
0 0 0
fonctions ont les régularités nécessaires, g (x) = 1 + u (x)f (x) + u(x)f (x) et on en déduit que
g(α) = 0 si u(α) = f 0 (α) . Si la fonction f ne s'annule pas, on peut donc choisir u(x) = f−1
−1 0
0 (x) . On
Théorème 5.4.1 La suite (xn ) converge vers α l'unique racine de f sur [a, b].
Preuve 5.4.1 pour simplier la rédaction, on va supposer que f 0 est strictement positive et f 00
est strictement négative sur I . Les autres cas se traitent de manière similaire. Ces hypothèses
assurent l'existence et l'unicité deα ∈ I tel que f (α) = 0.
On va montrer que la suite (xn ) est croissante et majorée par α. On a x0 = a, donc x0 ≤ α.
f (x )
Supposons que xn ≤ α, alors, comme xn+1 = xn − 0 n et que la fonction f 0 est positive, donc
f (xn )
f est croissante, on en déduit immédiatement que xn+1 ≥ xn et la suite (xn ) est croissante. De
f (x)f 00 (x)
plus, xn+1 − α = g(xn ) − g(α) = g0 (ξn )(xn − α) avec ξn ∈]xn , α[. Or g0 (x) = , donc
(f 0 (x))2
g (x) > 0 et xn+1 ≤ α.
0
La suite (xn ) est croissante et majorée ; elle est donc convergente. Notons l sa limite. La conti-
nuité de g permet d'écrire que l = g(l) et donc f (l) = 0 d'o`u l = α.
Preuve 5.4.2 puisque f est de classe C 3 , g est de classe C 2 ; on a g0 (α) = = 0 car αf (α)f 00 (α)
f 0 (α)2
est racine simple de f.
La formule de Taylor à l'ordre 1 s'écrit xn − α = g(xn ) − g(α) = (xn − α)g0 (ξ) or g0 est continue
|xn+1 − α|
sur [a, b], donc n→+∞
lim = g 0 (α) = 0
|xn − α|
La formule de Taylor à l'ordre 2 s'écrit xn −α = g(xn )−g(α) = (xn −α)g0 (α)+ 21 (xn −α)2 g00 (η) =
1
2 (xn − α)2 g 00 (η)
|xn+1 − α| f 2 (α)
or g00 est continue sur [a, b], donc n→+∞
lim 2
= g 00 (α) = 0 .
|xn − α| 2f (α)
|en+1 |
Dénition 5.5.1 La méthode dénie par xn+1 = g(xn ) est dite d'ordre p si a une limite
|en |p
non nulle en +∞. La méthode de la sécante est donc d'ordre 1 si g0 (α) 6= 0, tandis que la méthode
de Newton est d'ordre 2 si g00 (α) 6= 0.
Dénition 5.5.2 Lorsque la méthode est d'ordre 1 (respectivement 2), on dit que la convergence
est linéaire (respectivement quadratique).
34 CHAPITRE 5. RÉSOLUTION D'ÉQUATIONS NON LINÉAIRES
Chapitre 6
systèmes linéaires
Dans la pratique scientique, on se trouve souvent confronté à des problèmes dont la résolution
passe par celle d'un système d'équations qui modélisent les divers éléments considérés. La solution
est obtenue par la résolution d'un système d'équations linéaires ou non linéaires.
a1,1 x1 + a1,2 x2 + ··· + a1,n xn = b1
a2,1 x1 + a2,2 x2 + ··· + a2,n xn = b2
. . . . .
. . . . .
. . . . . (2.1)
. . . . .
. . . . .
. . . . .
an,1 x1 + an,2 x2 + ··· + an,n xn = bn
n
P
que l'on notera aussi ai,j xj = bi ∀i = 1, · · · , n. ou encore
j=1
a1,1 a1,2 ··· ··· a1,n x1 b1
a2,1
a2,2 ··· ··· a2,n x2
b2
.. .
.
.
.
.. ..
. . . . = .
. . . . .
.. .
.
.
. .. ..
an,1 an,2 ··· ··· an,n xn bn
ou simplement
Ax = b (2.2)
35
36CHAPITRE 6. MÉTHODES DIRECTES DE RÉSOLUTION DES SYSTÈMES LINÉAIRES
n
1 0 X
xi = 0 b − a0 xj i = n, · · · , 1.
ai,i i j=i+1 i,j
La triangularisation est éectuée par le jeu de transformations élémentaires introduites par pré-
multiplication de [A, b] par des matrices de Perlis.
a1,1 a1,2 ··· ··· a1,n x1 b1
a2,1
a2,2 ··· ··· a2,n x2
b2
.. .
.
.
.
.. ..
. . . . = .
. . . . .
.. .
.
.
. .. ..
an,1 an,2 ··· ··· an,n xn bn
Sachant que les mêmes transformations seront opérés sur A et b, an de ne pas modier le
système, on s'implie l'algorithme en formant la matrice augmentée [A, b] où le vecteur b devient
la (n + 1)ème colonne de la matrice A. Le système s'écrit donc
a1,1 a1,2 ··· ··· a1,n x1 a1,n+1
a2,1
a2,2 ··· ··· a2,n x2
a2,n+1
.. .
.
.
.
.. ..
. . . . = .
. . . . .
.. . . .. ..
. .
an,1 an,2 ··· ··· an,n xn an,n+1
(1) a
2,1
a2,1 = a2,1 − a1,1 a1,1 = 0
(1)
a2,2 = a2,2 − a2,1 a1,2
a1,1
. .
.. = .
.
(1) a2,1
a2,n+1 = a2,n+1 − a1,1 a1,n+1
(1) a2,1
a2,j = a2,j − a1,1 a1,j ∀j = 1, · · · , (n + 1) .
a3,1
Prémultipliant [A, b] par E3,1 − a1,1 , nous modierons la troisième ligne où les nouveaux termes
seront :
(1) a
3,1
a3,1 = a3,1 − a1,1 a1,1 = 0
(1)
a3,2 = a3,2 − a3,1 a1,2
a1,1
. .
.. = .
.
(1) a3,1
a3,n+1 = a3,n+1 − a1,1 a1,n+1
(1) a3,1
a3,j = a3,j − a1,1 a1,j ∀j = 1, · · · , (n + 1) .
ai,1
D'une manière générale pour anuler les termes ai,1 , on utilise la transformation Ei,1 − a1,1 , ce
qui donne les nouveaux terrmes de la ième ligne sous la forme générale :
(1)
ai,1
i = 2, · · · , n
ai,j = ai,j − a1,j .
a1,1 j = 2, · · · (n + 1)
(k−1)
(k) (k−1) ai,k (k−1) i = k + 1, · · · , n
ai,j = ai,j − (k−1) ak,j pour .
ak,k j = k + 1, · · · , n + 1
a1,1 ··· ··· ··· ··· ··· a1,n
..
0 .
.. ..
. 0 .
. .
.. . (k−1) (k−1)
. 0 ak,k ··· ··· ak,n
. . .
.. .
.
.
. 0
(k)
ak+1,k+1 ···
(k)
ak+1,n
. . . . . .
..
. . . . . .
.
. . . . . .
(k) (k)
0 0 0 0 an,k+1 ··· an,n
min(i,j)
D'où ai,j =
P
li,k uk,j .
k=1
La partie tiangulaire supérieure de A a pour termes :
r
P
ar,j = lr,k uk,j j = r, r + 1, · · · , n (r = 1, · · · , n).
k=1
D'où
r−1
P
ar,j − lr,k uk,j
k=1
j = r, r + 1, · · · , n
u =
r,j lr,r
r−1
P (2.3)
ai,r − li,k uk,r
k=1
i = r, r + 1, · · · , n
l =
i,r ur,r