Vous êtes sur la page 1sur 102

3

satisfaisante lorsqu’on passe aux applications numériques.


Parmi les préoccupations de l’analyse numérique figurent la conception et
l’étude des méthodes numériques. Une méthode numérique doit être aussi générale
que possible et utilisable sur ordinateur (elle doit donc être de nature algorith-
mique). Elle doit être aussi, simple par son expression, rapide dans son exécution
et peu sensible aux erreurs. Autant de conditions contradictoires que toute métho-
de ne peut être utilisée avec profit que si elle fait l’objet d’études théoriques et
pratiques qui lui sont propres. On comprendra que l’acquisition d’un langage de
programmation par l’analyste numéricien est essentiel. Le jugement ultime de la
puissance ou des faiblesses d’une méthode est fonction de ses résultats numériques
sur ordinateur.
C’est dans cet esprit que nous évoluons, tout en tenant compte qu’il s’agit
d’un premier contact avec un domaine extrêmement vaste et dont l’esprit et les
subtilités ne s’acquièrent qu’avec le temps et la pratique.
Pour pouvoir étudier avec profit les questions qui se posent en analyse numéri-
que, il est essentiel que les notions de mathématiques générales à utiliser soient
assimilées à travers des modules antérieurs. Aussi, il est important qu’un langage
de programmation ait déjà été. Celui-ci permet de concrétiser les différentes
méthodes numériques et résultats théoriques. A défaut de quoi, ce cours serait
plutôt théorique et donc loin de sa vocation. Pour ces raisons, ce module est
programmé au quatrième semestre.
Le contenu de ce texte est conforme au programme de la partie analyse
numérique du module ”Analyse Numérique / Proba-stat.” de la filière ” Mathéma-
tiques” de la Faculté des sciences de Marrakech. Le volume horaire global alloué
à cette partie est de quarante cinq heures.
!! " #
$ %

!
& ! ! ' ( )
& ! * +%

" # $ $

+)
,!! " ! ' ( " %

% &
)
) !-.
) / !

' ( ))
+
+ 0

* & %
Chapitre 1

Principes du calcul numérique

Dans ce chapitre, nous mettons en évidence les principales particularités des


nombres et des opérations arithmétiques, utilisés par l’ordinateur. Cela peut
aider, à évaluer les limites du calcul sur ordinateur et de savoir sur quoi agir
lorsque un résultat numérique n’est pas assez précis.

1.1 Généralités
1.1.1 Virgule flottante normalisée

Dans un calcul, les nombres irrationnels tels que π, 2,... ne sont utilisés d’une
façon exacte que s’il y a lieu de simplification ou d’une transformation qui les
ferait disparatre. La mme situation se présente pour les nombres sécrivant avec
un grand nombre de chiffres.
Ainsi, les nombres explicitement utilisés ne comportent qu’un nombre restreint
de chiffres.
La représentation des nombres en utilisant q’un nombre prédéfini de chiffres
n’est pas unique et chacune a ses avantages et ses inconvénients.
La représentation

x = ±0.d1 d2 ...dm 10e

est dite représentation en virgule flottante normalisée de x(normalisée


sous-entend d1 6= 0). Nous utiliserons l’abréviation ” v.f.n.”. La particularité de
la v.f.n. est que, tous les chiffres du nombre sont à droite de la virgule décimale (la
virgule est représentée par un point) et possède une puissance de 10 en facteur.

5
6 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

Le nombre e est un entier relatif et s’appelle l’exposant de x alors que le


nombre m = d1 d2 ...dm s ’appelle la mantisse de x.
Par opposition à la virgule flottante, on trouve la représentation en virgule
fixe. Pour celle-ci, tout nombre s’écrit sous la forme

x = ±d1 d2 ...dr .d−1 d−2 ...dm

où r et m sont des entiers fixés (ils sont les mêmes pour tous les nombres).

1.1.2 Troncature et arrondi


Dans l’ordinateur, seul un nombre prescrit de chiffres (disons t) est pris en compte.
Si un nombre x comporte plus de t chiffres, l’ordinateur le remplace par une valeur
approchée.
La représentation de x à t chiffres se fait selon l’un des deux modes:
1− Troncature : La somme est tronquée au niveau de dt . x est alors remplacé
par x∗ = (±)0.d1 ...dt 10e .
2- Arrondi: La somme est tronquée comme précédemment en rajoutant 1
à dt si dt+1 ≥ 5 et en laissant dt inchangé si dt+1 < 5.
Remarque: Si la base de numération est b au lieu de 10, le principe de
troncature ou d’arrondi est le même. Ainsi, pour l’arrondi, dt devient dt + 1 si
dt+1 ≥ b/2 et dt reste inchangé dans le cas contraire.
Exemple: Prenons t = 4. Soit x = 34.215. Sa représentation en v.f.n. est
x = 0.34215 102 . Par troncature à 4 chiffres x devient 0.3421 et par arrondi il
devient 0.3422.
Nous supposons pour toute la suite que le mode utilisé est celui de
l’arrondi. C’est le cas de plusieurs types d’ordinateurs.
Lorsqu’on a à résoudre numériquement un problème, on dispose de données
numériques généralement voisines des valeurs véritables, sans pour autant être ex-
actes. L’imprécision sur les données peut être due au fait qu’elles sont expérimen-
tales ou tout simplement qu’elles nécessitent l’écriture d’un grand nombre de
chiffres (par exemple, 13 , π,...). Pour pouvoir apprécier la qualité du résultat d’un
calcul, il est nécessaire de connaı̂tre la marge d’erreur sur les données. Cette
marge est déterminée soit par l’incertitude absolue soit par l’incertitude relative.
1.1. GÉNÉRALITÉS 7

1.1.3 Incertitude absolue


Définition1: Soit x∗ une valeur approchée du réel x.La quantité |x − x∗ | est
appelée l’erreur absolue sur x∗ .
Dans la pratique, |x − x∗ | est souvent inconnue.
Définition2: Soit x∗ une valeur approchée du réel x. Un majorant ∆x∗ de
l’erreur absolue sur x∗ est appelé incertitude absolue. On écrit x = x∗ ± ∆x∗ .Cela
signifie x ∈ [x∗ − ∆x∗ , x∗ + ∆x∗ ] .
Exemple: x∗ = 0.4537 103 , ∆x∗ = 0.4. Cela signifie

x ∈ [x∗ − ∆x∗ , x∗ + ∆x∗ ] = [453.3, 454.1]

On écrit

x = 0.4537 103 ±0.4.

Remarque: La définition de l’incertitude absolue est vague. Il ne s’agit pas


d’un majorant quelconque de l’erreur absolue, mais du plus petit des majo-
rants connu.

1.1.4 Incertitude relative


Définition1: Soit x∗ une valeur approchée du réel x. L’erreur relative sur x∗ est
∗|
la quantité |x−x
|x|
.
|x−x∗ |
Là aussi, on utilise en général une majoration de |x|
.
Définition2: Soit x∗ une valeur approchée du réel x. On appelle incertitude
relative sur x∗ , la quantité
∆x∗
δx∗ =
|x|

Notons que lorsque |x| est inconnue, l’erreur relative et l’incertitude relative
sont définies respectivement par:
|x − x∗ | ∗ ∆x∗
et δx =
|x∗ | |x∗ |
L’utilisation de l’une ou l’autre des deux définitions conduit en général aux
mêmes conclusions.
8 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

∗ ∗
Exercice: Soient δx∗ = ∆x |x|
et dx∗ = ∆x|x∗ |
. x∗ étant une valeur approchée de
x. Pour simplifier, on suppose que x et x∗ sont positives.
1) Traduire par une égalité algébrique l’écriture: x = x∗ ± ∆x∗ .
2) Trouver les extremums dans l’intervalle [0, 1] de la fonction

x∗
f (t) =
x∗ − ∆x∗ + 2t∆x∗
3)Déduire que δx∗ et dx∗ sont liées par
 
1−s s
δx∗ = ∗
+ dx∗ avec s ∈ [0, 1] .
1 − dx 1 + dx∗
4) Donner le développement limité à l’ordre 2 de δx∗ en fonction de dx∗ .
5) Déduire qu’en général les deux définitions de l’erreur relatives reviennent
au même.

1.1.5 Chiffres significatifs et chiffres exacts


Soit x∗ une valeur approchée de x écrite sous la forme x∗ = (±)0.d1 ...dt 10e avec
d1 6= 0 (v.f.n.).
Définition1: Le k ème chiffre dk de x∗ est dit significatif si 10k−e ∆x∗ < 5.
Définition2: Le k ème chiffre dk de x∗ est dit exact si 10k−e ∆x∗ ≤ 1.
Notons que tout chiffre exact est un chiffre significatif.
Conséquences:
1) Le nombre maximal de chiffres significatifs de x∗ est le plus grand entier
k tel que 10k−e ∆x∗ < 5.
2) Le nombre maximal de chiffres exacts de x∗ est le plus grand entier k tel
que 10k−e ∆x∗ ≤ 1.
Exemple1: x∗ = 0.04125, ∆x∗ = 3 10−6 . Déterminons le nombre de chiffres
exacts.
Ecrivons x∗ en v.f.n.: x∗ = 0.4125 10−1 . Ici e = −1.
10k+1 ∆x∗ ≤ 1 ⇐⇒ 3 10k+1−6 ≤ 1 ⇐⇒ k ≤ 4.
x∗ a donc quatre chiffres exacts à savoir 4, 1, 2 et 5.
Exemple2: x∗ = 0.04125000, ∆x∗ = 3 10−7 . Déterminons le nombre de
chiffres exacts.
10−1−k ∆x∗ ≤ 1 ⇐⇒ 3 10k+1−7 ≤ 1 ⇐⇒ k ≤ 5.
1.1. GÉNÉRALITÉS 9

x∗ a donc cinq chiffres significatifs exacts à savoir 4, 1, 2 , 5, et 0.


Les deux derniers zéros de x∗ ne sont pas exacts. Sont-ils significatifs?
10e−k ∆x∗ < 5 ⇐⇒ 3 10k+1−7 < 5 ⇐⇒ k ≤ 6. Le dernier zéro de x∗ n’est pas
significatif. Il doit être supprimé.
Exemple3: Soit x∗ = 4.125 donné avec 4 chiffres significatifs. Trouver
l’incertitude absolue sur ce nombre.
On doit avoir 104−1 ∆x∗ < 5, car e = 1 et k = 4. Donc 103 ∆x∗ < 5. on peut
prendre ∆x∗ = 0.049 (l’incertitude maximale assurant 4 chiffres significatifs).
Exemple4: Soit x∗ = 623.809 supposé connu avec une erreur relative δ(x∗ ) =
0.2%. Déterminer le nombre de chiffres exacts puis le nombre de chiffres signifi-
catifs.

δ(x∗ ) = ∆x

x∗
= 2 10−3 ⇐⇒ ∆x∗ ≃ 623.809 ∗ 2 10−3
= 1247.618 10−3 ≃ 1.2

10k−3 ∆x∗ ≤ 1 ⇐⇒ k ≤ 2. Nous avons seulement deux chiffres exacts à savoir:


6 et 2.
10k−3 ∆x∗ < 5 ⇐⇒ 1.2 10k−3 < 5 ⇐⇒ k ≤ 3. Nous avons seulement trois
chiffres significatifs à savoir 6, 2 et 3.

1.1.6 Ecriture du résultat


Règles: 1) x∗ = ±.d1 ...dt 10e (écrit en v.f.n.) est une valeur approchée de x
avec une incertitude absolue ∆x∗ se traduit par x = (±.d1 ...dt ± ∆x∗ 10−e )10e .
De plus, l’écriture est considérée correcte si, d1 , ..., dt sont tous des chiffres
significatifs et ∆x∗ 10−e a t décimales avec au plus deux chiffres significatifs.
2) Un nombre x∗ = ±.d1 ...dt 10e (d1 6= 0) en tant que valeur approchée de
x avec une erreur relative δ(x∗ ) est écrit correctement si tous ses chiffres sont
significatifs et δx∗ ne comporte pas plus de deux chiffres significatifs.
D’une façon générale, l’ecriture correcte d’un nombre doit sous-entendre que
tous les chiffres de sa représentation en virgule flottante normalisée sont signifi-
catifs.
Exemple1: x∗ = 0.04125000, ∆x∗ = 3 10−7 . Cette écriture n’est pas correcte.
Le dernier chiffre de x∗ n’est pas significatif:
3 10k+1−7 < 5 ⇐⇒ k ≤ 6. Le dernier zéro de x∗ n’est pas significatif:
L’écriture correcte est: x∗ = 0.0412500, ∆x∗ = 3 10−7 .
Exemple2: x∗ = 87.41, ∆x∗ = 0.23. Voyons le nombre de chiffres significatifs.
10 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

0.23 10k−2 < 5 ⇐⇒ k ≤ 3. x∗ a donc un chiffre de trop. On doit avoir


x∗ = .874 102 et ∆x∗ 10−2 ne doit comporter que trois décimales. La bonne
écriture est donc: x∗ = .874 102 , ∆x∗ = 0.2.
Exemple3: x∗ = 0.4537 103 , ∆x∗ = 0.41. x∗ a 4 chiffres significatifs et ∆x∗
à un chiffre de trop. L’écriture correcte est ∆x∗ = 0.4.
Exemple4: x∗ = 0.45371 103 , ∆x∗ = 0.4
L’écriture n’est pas correcte non plus. x∗ n’a que 4 chiffres significatifs, le
chiffre 1 doit être supprimé.
Exemple5: x∗ = 623.809, δ(x∗ ) = 0.2%.
Nous avons déjà vu que ce nombre a trois chiffres significatifs. On doit écrire
x = 0.623 103 , δ(x∗ ) = 0.2%.

Exemple6: Soit x∗ = 623.809 103 . Il est donné sans indication sur l’erreur.
Cela doit sous-entendre que les six chiffres de x∗ sont significatifs. Faute de quoi
l’écriture est considérée incorrecte.
Exemple7: Soit x∗ = 623809. Pour ce nombre, la virgule est absente. On ne
peut rien dire de la qualité de ses chiffres. On peut considérer qu’il correspond à
0.623809 106 si non c’est que l’écriture est incorrecte.
Exemple8: Soit x∗ = 623809.0. Ce nombre suppose que ses sept chiffres sont
significatifs.
Exemple9: Soit x∗ = 23000. On ne sait pas si ce nombre est équivalent à
y = 0.23 105 ou à z = 0.23000 105 . y n’a que deux chiffres significatifs alors que
z en a cinq.
Problème: La loi des gaz parfaits est donnée par

P V = αT

où P est la pression, V est le volume du gaz et α = N R avec N le nombre de


moles et R une constante.
On voudrait tester cette loi. Pour cela, on prend comme données

P = 0.1 atmosphère, V = 0.10 m3 et α = 0.3444 10−3 .

Supposons que les données sont fournies avec la même erreur relative δ = 10−2 .
1◦ Calculer T en degré Celsius (on rappelle la relation T = t + 273.15 où T
est la température du gaz en Kelvin et t sa température en degré Celcius).
2◦ En mesurant la température, le thermomètre indique 20◦ C. Y a-t-il cohé-
rence avec la loi?
3◦ Trouver l’incertitude relative sur les données pour que l’écart soit inférieur
à 1◦ C.
1.2. CALCUL SUR ORDINATEUR 11

1.2 Calcul sur ordinateur


1.2.1 Représentation des nombres dans l’ordinateur
Dans l’ordinateur, un nombre réel est défini par: Son signe, sa mantisse et
son exposant. Ces trois quantités sont codés dans un mot machine. Les
mots machine sont tous constitués par un même nombre de bits. Un bit est
une cellule ne pouvant prendre que deux états possibles à savoir 0 ou 1 . Le
codage se fait donc à travers le système binaire. Un nombre x représenté dans
l’ordinateur est dit nombre machine et se note f l(x) (il se lit ”float x”), ses
chiffres sont en général appelés digits(de l’anglais: digital binary). Les techniques
de codage pour représenter les nombres et gérer les opérations arithmétiques sont
nombreuses et chaque constructeur d’ordinateurs a sa préférence.

1.2.2 Opérations arithmétiques


Nous savons que dans l’ordinateur la représentation se fait par les nombres bi-
naires. Il en est de même pour toutes les opérations arithmétiques. Cependant,
le principe, tout aussi bien que la nature des conséquences arithmétiques, ne
changent pas en changeant de base de numération. C’est pourquoi, nous con-
sidérons pour la suite, un ordinateur fictif, travaillant en la base décimale; laquelle
nous est familière.
Nous considérons donc que notre ordinateur représente les nombres en virgule
flottante normalisée et que la mantisse a t décimales.

Addition (ou soustraction)


Mode opératoire:
1- Rendre les exposants égaux en intercalant des zéros entre le point décimal
et la mantisse du nombre ayant le plus petit exposant. Arrondir ce dernier à t
digits.
2- Additionner (soustraire) les mantisses.
3- Normaliser. Arrondir à t digits et s’il y a moins de t digits, compléter à
droite par des zéros.
4- Ecrire le résultat avec l’exposant résultant.
Exemple1: Prenons t = 4.
x = 0.3458 102 , y = 0.3449 103 . Le plus grand exposant est 3.
12 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

f l(x) = f l(0.03458 103 ), f l(y) = f l(0.3449 103 ). x doit être arrondi à 4


chiffres.
f l(x + y) = f l((0.0346 + 0.3449) 103 ) = 0.3895 103 .
Exemple2: t = 4.
x = 84.58 103 , y = 34.49 103 .
f l(x) = 0.8458 105 , f l(y) = 0.3449 105 .
f l(x + y) = f l((0.8458 + 0.3449) 105 ) = f l(1.1907 105 ). Il faut normaliser,
ajuster l’exposant et arrondir à 4 chiffres.
f l(x + y) = 0.1191 105 .
Exemple3: t = 4.
x = 34.58 102 , y = 34.49 102 .
f l(x − y) = f l((0.3458 − 0.3449) 104 ) = f l(0.0009 104 ). Il faut normaliser,
ajuster l’exposant et compléter par des zéros.
f l(x − y) = 0.9000 101 .
Propriété: Soient x = ±m1 10e1 et y = ±m2 10e2 écrits en virgule flottante
normalisée.
Si e1 − e2 > t alors f l(x ± y) = x.
Preuve: Il suffit d’écrire x et y avec leurs digits et appliquer les règles de
l’addition.
Exemple1: t = 4. x = 0.7654 102 , y = 0.7856 10−3 . f l(x ± y) = f l((0.7654 ±
0.000007856)102 ) = f l(0.76540)102 = 0.7654 102 = x.
Exemple2: t = 4. x = 0.7654 102 , y = 0.4856 10−2 . f l(x ± y) = f l((0.7654 ±
0.00004856)102 ) = f l(0.76544)102 = 0.7654 102 = x.
On voit bien que la propriété dans R ” x + y = x ⇐⇒ y = 0 ” n’est pas vraie
dans l’arithmétique de l’ordinateur.

Multiplication (ou division)


Mode opératoire:
1- Multiplier (diviser) les mantisses.
2- Normaliser la mantisse résultante. Arrondir à t digits et à défaut de t
digits, compléter à droite par des zéros.
3- Additionner (soustraire) les exposants. Ajuster l’exposant en tenant compte
de la normalisation s’elle a eu lieu.
Exemple1: t = 4. x = 0.1322 104 , y = 0.125110−2 .
f l(mx ∗ my ) = f l(0.0163822) . On doit normaliser la mantisse et arrondir à 4
digits, cela donne:
1.2. CALCUL SUR ORDINATEUR 13

f l(mx ∗ my ) = 0.1638 10−1 . La somme des exposants: e = 4 − 2 − 1 = 1. Le


résultat final est: f l(x ∗ y) = 0.1638 101
Exemple2: t = 4. x = 0.4314 104 , y = 0.3421 105 . mx ∗ my = 0.14758... .
La mantisse doit être arrondie à 4 chiffres. e = 4 + 5 = 9. Le résultat final est:
f l(x ∗ y) = 0.1476 109 .
Exemple3: t = 4. x = 0.3243 104 , y = 0.7432 105 . mx /my = 0.436356... .
La mantisse doit être arrondie à 4 chiffres. e = 4 − 5 = −1. Le résultat final est:
f l(x/y) = 0.4364 10−1 .
Exemple4: t = 4. x = 0.7432 105 , y = 0.3243 103 . mx /my = 2.291705... .
On doit normaliser la mantisse et arrondir à 4 digits, cela donne: f l(mx /my ) =
0.2292 101 . e = 5 − 3 + 1 = 3.
Le résultat final est: f l(x/y) = 0.1638 103 .
Exemple5: t = 4. x = 0.6834 105 , y = 0.1700 103 . mx /my = 4.02 . La
normalisation donne: f l(mx /my ) = 0.402 101 . e = 5 − 3 + 1 = 3. On complète
la mantisse par un zéro et on obtient le résultat final: f l(x/y) = 0.4020 103 .
Remarque: Dans certains ordinateurs, l’arrondi de la mantisse est effectué
avant la normalisation.

Perte de chiffres significatifs


Partant de données comportant un certain nombre de chiffres significatifs, on
éspère récupérer un résultat dont la précision est voisine de celle des données.
Cette attente, bien que légitime, peut être faussée suite à une simple soustraction.
La soustraction de deux nombres voisins dite cancellation, peut entraı̂ner la
perte de plusieurs chiffres significatifs. La précision sur le résultat se trouve
en conséquence fortement amoindrie. L’erreur induite peut devenir importante
encore si ce résultat est utilisé dans d’autres calculs.
Exemple1: t = 4. x = 0.7497 105 , y = 0.7489 105 .
f l(x − y) = f l((0.7497 − 0.7489) 105 ) = f l(0.0008 105 ) = 0.8000 102 .
Le résultat affiché comporte 4 chiffres significatifs (8 suivi de trois 0 ). Alors
que le résultat véritable ne comporte qu’un seul chiffre significatif qui est 8 .
C’est le seul chiffre qui provient des chiffres significatifs donnés. Les trois zéros
du résultat final n’ont donc aucune signification. L’ordinateur les rajoute pour la
conformité de sa représentation. Il y a une perte de trois chiffres significatifs.
Exemple2: t = 4. Soit à résoudre x2 − 40x + 1 = 0. On a: x1 = 0.025015...
et x2 = 39.974....


δ = 399, f l( δ) = f l(19, 97).
14 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

f l(x1 ) = f l(f l(20) − f l( δ)) = f l(0.03) = 0.3000 10−1
f l(x2 ) = f l(f l(20) + f l(19, 97)) = 0.3997 102
Nous voyons que x1 n’a au fait qu’un seul chiffre significatif. Il y a eu perte
de 3 chiffres.
Calculons x1 à partir de x2 par x1 = c/a x2
(pour une équation ax2 + bx + c = 0).
Nous savons que dans notre cas le produit des racines ac = 1.
1 1 −1
f l(x1 ) = f l( f l(x 2)
) = f l( 0.399710 2 ) = 0.2502 10 .
La nouvelle valeur de x1 est obtenue avec une incertitude relative de 2 10−4
contre 2 10−1 pour la première.

Non associativité
Dans l’ordinateur l’addition n’est pas associative.
Exemple1: t = 4. x = 0.7654 101 , y = 0.4856 10−3 , z = 0.3433 10−3 .
f l(f l(x + y) + f l(z)) = f l((0.7654 + 0.0000)101 ) + f l(z) = f l(0.7654 101 +
0.0000 101 ) = 0.7654 101
Par contre f l(f l(x)+f l(x+y)) = f l(f l(0.7654 101 )+f l(0.4856+0.3433)10−3 ))
= f l(0.7654 101 + 0.8289 10−3 ) = f l((0.7654 + 0.0001)101 ) = 0.7655 101 .
Exemple2: t = 4. x = 0.7654 101 , y = 0.4856 10−3
f l(106 ∗ (y+x)−x
y
) = f l(106 ∗ f l( f l(f l(y+x)−f
f l(y)
l(x))
)) = f l(106 ∗ f l( f l(x)−f
f l(y)
l(x)
)) =
0
0.0000 10
f l(106 ∗ y+(x−x)
y
) = f l(106 ∗ f l( f l(y)+f l(x−x)
f l(y)
)) = f l(106 ∗ f l( ff l(y)
l(y)
)) = 0.1000 107 .
Théoriquement, les deux formules devaient donner le même résultat.

Non distributivité
Dans l’ordinateur la multiplication n’est pas distributive par rapport à l’addition.
Exemple: t = 4, x = 0.8000 102 , y = 0.7497 105 , z = −0.7489 105 .
f l(x) ∗ f l(y + z) = f l(0.8000 102 ) ∗ (f l(0.7497 105 ) − f l(0.7489 105 ))
= f l(0.8000 102 ) ∗ f l(0.8000 102 )) = 0.6400 104 .
f l(x ∗ y) + f l(x ∗ z) = f l(0.5998 107 ) − f l(0.5991 107 ) = 0.7000 104 .

1.2.3 Instabilités numériques


Nous avons vu que les erreurs sont inévitables et peuvent se manifester aussi bien
dans la représentation des nombres qu’au niveau des opérations arithmétiques.
1.2. CALCUL SUR ORDINATEUR 15

Lorsqu’une erreur, de représentation, de donnée ou de calcul est commise,


celle-ci est transmise dans les calculs qui suivent. Il est possible que cette er-
reur, aussi minime soit-elle, engendre au cours des calculs successifs des erreurs,
pouvant rendre le résultat peu précis, voire aberrant. Dans ce cas, on dit que
la formule (ou la méthode) est numériquement instable. On dit aussi qu’il
y a amplification des erreurs ou encore accumulation des erreurs. La
définition mathématique tout comme l’étude théorique de la stabilité numérique,
dépendent de la nature de la formule ou méthode numérique considérée. Dans
tous les cas, le jugement ultime du traitement des instabilités est prononcé en
fonction du résultat fourni par l’ordinateur.
Exemple1: Soit à calculer pour un k donné, l’intégrale
R 1 xk
Ik = 0 10+x dx

On a Z 1
xn−1 (10 + x) − 10xn−1
In = dx
0 10 + x
Z 1 Z 1
xn−1
= xn−1 dx − 10 dx
0 0 10 + x
D’où la relation récursive:
1 11
In = n
− 10In−1 , n = 1, ..., k avec I0 = log 10

On s’interroge sur l’erreur εk commise sur Ik , lorsque I0 = log 11


10
est remplacé
dans la formule avec une petite erreur ε0 . Cette erreur est inévitable puisque
11
log 10 ne peut pas être connu exactement. Supposons donc que tous les calculs
ultérieurs se feront d’une façon exacte. La formule récursive réellement calculée
est donc:
1
In + εn = n
− 10(In−1 + εn−1 ), n = 1, ..., k

Les erreurs successives sont donc liées par

εn = −10εn−1

Il s’en suit qu’au niveau de Ik , l’erreur résultante de ε0 est:

εk = (−10)k ε0
16 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

Nous voyons que l’erreur s’amplifie d’une façon exponentielle, ne laissant ainsi
aucune possibilité à ce que le résultat soit correct (prendre par exemple: k = 30).
La formule récursive utilisée est numériquement instable.
Notre formule cause des problèmes à cause de la puissance croissante du co-
efficient 10. Pour remédier à cela, inversons la récurrence
1 1
In−1 = 10n
− I ,
10 n
n = N, N − 1, ..., k

Supposons qu’on veuille calculer I30 . On part d’une valeur approchée (par
exemple) de I40 , avec une erreur ε.
En remontant à I30 l’erreur induite est alors

ε30 = ( −1
10
)10 ε

Donc, si l’erreur ε est de l’ordre de 1, en l’absence d’autres erreurs I30 sera


obtenue avec environs 10 décimales exactes!
Pour obtenir une éstimation de I40 , il suffit d’encadrer In :
1 R1 R 1 xn 1 R1
11 0
xn dx ≤ 0 10+x ≤ 10 0
xn dx

Cela donne
1 1
11(n+1)
≤ In ≤ 10(n+1)

1
Comparons In et 11(n+1)
.

1 R 1 xn 1 R1 R 1 xn −xn+1
0 < In − 11(n+1)
= 0 10+x − 11 0
xn dx = 0 11(10+x) dx

Il en résulte que
1 1
0 < In − 11(n+1)
≤ 110(n+1)(n+2)

1
En prenant 11(n+1) comme approximation initiale de In , l’incertitude relative
1
est de l’ordre de 10(n+2) .
Exemple2: Soit à calculer l’intégrale
R 1 x30
I30 = 0 0.1+x dx

On a cette foi-ci
1.2. CALCUL SUR ORDINATEUR 17

1
In = n
− 0.1In−1 , n = 1, ..., k avec I0 = log 11.
Suite à une erreur ε0 sur le calcul de I0 , l’erreur sur Ik sera εk = 10−k ε0 .
C’est une bonne formule! Nous voyons donc qu’une formule peut être stable
pour certaines valeurs et instable pour d’autres. Aussi, elle peut être instable en
l’utilisant sous une forme et stable sous une autre forme.
Exemple3: S = x1 − x+1 1 1
, T = x(x+1) ;
S et T sont mathématiquement équivalentes. Pour x = 0.2 104 La valeur
exacte est
S = T = 0.24987... 10−6
Pour t = 4, on obtient:
f l( x1 ) = 0.5000 10−3 , f l(x + 1) = 0.2001 104 , f l( x+1
1
) = 0.4998 10−3 .
On obtient
f l(S) = 0.2000 10−6 et f l(T ) = 0.2499 10−6
Exemple4: t = 4. Soit à résoudre x2 + 62.10x + 1 = 0.
La solution donnée avec 7 chiffres exacts est
x1 = −0.161023 10−1 et x2 = −0.6208390 102
La résolution
√ par la méthode des radicaux donne
∆ = f l( 3852) = 0.6206 102
2 2 2
f l(x1 ) = f l( −0.62100.2000
10 +0.6206 10
101
) = f l( f l(−0.0004)10
0.2000 101
) = −0.2000 10−1
2 2 2
f l(x2 ) = f l( −0.62100.2000
10 −0.6206 10
101
) = f l( f l(−0.1242)10
0.2000 101
) = −0.6210 102 .
Pour x1 et x2 , les incertitudes relatives sont respectivement, 2.4 10−1 et
3.2 10−4 . L’erreur sur x1 est importante. Nous voyons au numérateur de x1
l’apparition de 3 zéros après la virgule. Il y a donc une perte de trois chiffres
significatifs. On doit éviter la soustraction de deux nombres voisins (cancella-
tion). Pour cela, on peut √multiplier

et diviser la formule de x1 par le conjugué
(−b+ ∆)∗(−b− ∆) 2c
du numérateur (x1 = √
2a∗(−b− ∆)
= b+√ ∆
). Dans ce cas
1
f l(x1 ) = f l( 0.6210−0.2000 10
102 +0.6206 102
) = f l(−0.01610 102 ) = −0.1610 10−1 .
L’incertitude relative est cette fois-ci 6.2 10−4 .
Une autre alternative serait de considérer la relation liant les deux racines:
x1 ∗ x2 = ac . x2 ne présente pas de cancellation. Une fois x2 calculé, on calcule x1
1
par f l(x1 ) = f l( f l(x 2)
).
18 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

1.3 Notion d’algorithme


Pour résoudre un problème, nous avons besoin d’un ensemble ordonné de règles et
d’instructions à suivre. Elles doivent être élémentaires et facilement exécutables.
Cela constitue un algorithme. Pour que l’ordinateur puisse exécuter le contenu
de l’algorithme, il faut traduire ce dernier dans un langage de programmation.
L’algorithme ainsi traduit s’appelle un programme.
L’appellation algorithme est un dérivatif du nom de l’astronome et mathéma-
ticien Al Khawarizmi (vers 780 − 850), né à Khawarizme (une petite ag-
glomération de Khiva à Ouzbékistan), écrit à la demande d’Almamoun (Bagdad,
813−833) le livre Aljabr w’almouqabala. Le mot est utilisé dès le 12ème siècle par
les européens: Algorismo (en espagnol) et Algorisme (en français). Il est obtenu
par contraction de Al-Khawarizmi et Arithmos (mot grec signifiant nombre, d’où
aussi Arithmétique signifiant science du calcul).
Exemple Calculer la somme

a1 + ... + a10

Algorithme:
s = a1
Pour i = 1, ..., 9 Faire
s = s + ai+1
Fin Faire
Programme (en langage C)

#<include,stdio.h>
main()
{ float a[10]; int n=9;

/* Entrée des données */

for(i=0;i<=9;i++) scanf("%f",&a[i]);
/* Calcul de la somme */
s=a[0];
for(i=0;i<=9;i++) s+=a[i];
printf(" La somme est:%f\n",s);
return 0;}
1.4. LECTURES 19

1.4 Lectures
1.4.1 Représentation dans un ordinateur particulier
Dans le modèle, que nous considérons tout nombre réel se présente sous la forme
±.d1 ...dn 16e . Le mot machine a 32 bits. Le premier bit est réservé au signe: 0
pour + et 1 pour −. Les sept bits suivants sont réservés à la caractéristique c,
codée en binaire (la lecture se fait de la droite vers la gauche). L’exposant e est
déduit de c par la formule: e = c − 64. Les vingt quatre derniers bits (n = 24)
sont réservés à la mantisse et sont affectés de la gauche vers la droite par les
poids respectifs 2−i pour i = 1, ..., 24. Le poids 2−i traduit le fait que di est le ième
chiffre binaire après la virgule (nous faisons la même chose lorsque nous écrivons
un nombre en base décimale: 0.547 = 510−1 + 410−2 + 710−3 ). Le constructeur
impose aussi à ce que les quatre premiers bits de la mantisse ne soient pas
identiquement nuls (cela est voulu pour que la conversion du nombre en base
16 soit normalisée). Un nombre x représenté dans l’ordinateur est dit nombre
machine et se note f l(x) (il se lit ”float x”). Les bits d’un mot machine sont
numérotés de 0 à 31, en allant de la gauche vers la droite.
Considérons le mot machine suivant

01000010101100110000010000000000

Son signe: +
Son exposant: e = 0 × 1 + 1 × 2 + 1 × 26 − 64 = 66 − 64 = 2
Sa mantisse: m = 2−1 + 2−3 + 2−4 + 2−7 + 2−8 + 2−14
Le nombre représenté est: m162 = 179.015625

Ensemble des nombres machines


D’après ce qui précède, tout nombre est logé dans un mot machine de 32 bits et
chaque bit est mis soit à 0 soit à 1. Il s’en suit que l’ensemble des nombres
réels représentables par l’ordinateur est fini.

Cardinal de l’ensemble des nombres en v.f.n.


Faisons le décompte de l’ensemble des nombres machines.
- Le bit n◦ 0 a 2 possibilités.
- Les bits 1 à 7 totalisent 27 possibilités.
20 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

- Les bits 8 à 11 ne peuvent pas être simultanément nuls, ils offrent donc
4
2 − 1 possibilités.
- Les bits 8 à 31 permettent 220 possibilités.
Le seul nombre non compté est le nombre zéro que l’ordinateur gère d’une
façon particulière.
L’ordinateur utilise donc: 2∗27 ∗(24 −1)∗220 = 15∗228 = 4026531840 nombres
machine. Cela correspond à environ 4 109 nombres machine en v.f.n..

Bornes des nombres en v.f.n.

L’ensemble des nombres représentables étant fini, il y a donc un plus petit et un


plus grand nombre en valeur absolue.
Le plus petit nombre positif xP représentable correspond à

00000000000100000000000000000000

On a donc xP = (2−4 )160−64 = 16−65 ≃ 10−78


Le plus grand nombre xG représentable correspond à

011111111111111111111111111111111

Pour ce nombre on a: e = (20 + 21 + ... + 26 ) − 64 = 127 − 64 = 63,


m = (2−1 + ... + 2−24 ) = 1 − 2−24 = 0.999999940395355224609375.
Donc xG = (1 − 2−24 )1663 ≃ 1076 .
Si un calcul donne lieu à un nombre non nul et dont la valeur absolue est
inférieure à xP , on dit qu’il y a sous-passement (under flow, en anglais).
L’ordinateur assimile ce nombre à zéro et continue les calculs en affichant en
principe ”under flow”. Les réels de l’intervalle ]−16−65 , +16−65 [ sont donc tous
confondus avec 0.
Si un calcul donne lieu à un nombre dont la valeur absolue est supérieure à xG ,
on dit qu’il y a dépassement (over flow, en anglais). L’ordinateur le signale et
arrête les calculs.
Pour notre ordinateur, les nombres réels représentables sont donc ceux de
l’intervalle IR = [−(1 − 2−24 )1663 , +(1 − 2−24 )1663 ]. La droite réelle est ainsi
assimilée à l’intervalle IR .
1.4. LECTURES 21

Nombres machine successifs


Nous avons vu que l’ensemble des nombres machines est fini et que cet ensemble
est contenu dans l’intervalle [−1663 , 1663 ]. Dans cet intervalle, nous avons inclus
]−16−65 , 0[ ∪ ]0, 16−65 [ puisque tout nombre de cet ensemble est assimilé à 0. Déjà
à ce niveau, nous voyons que le nombre immédiatement supérieur à 0 est 16−65
et celui immédiatement inférieur à 0 est −16−65 .
Considérons le nombre machine

01000010101101000000000000000000

on a: e = 26 + 22 + 1 − 64 = 5;m = 2−1 + 2−3 + 2−4 + 2−6 = 0.703125


Le nombre représenté est donc: x = 0.703125 165 = 737280
Le nombre machine xs , immédiatement supérieur consiste à mettre 1 au
dernier bit,

01000010101101000000000000000001

ms = m + 2−24 et donc xs = 737280.0625.


Le nombre machine xI , immédiatement inférieur à x est

01000010101011111111111111111111

xI = (2−1 + 2−3 + 2−4 + 2−7 + ... + 2−24 ) 165 = 737279.9375


Règle: Lorsqu’un nombre y est compris entre deux nombres machine succes-
sifs, l’ordinateur le considère identique au nombre le plus proche. Si y se trouve
au milieu, l’ordinateur l’identifie au plus grand (règle de l’arrondi).
De ce qui précède, tout nombre réel de l’intervalle Ix = [ x+x2
I x+xs
, 2 [ est
considéré identique à x. D’une façon équivalente, le nombre x est identifié à
l’intervalle Ix .
Exercice1: Le nombre décimal 0.1 est-il exactement représentable?
Exercice2: 1- Combien y a-t-il de nombres machine dans l’intervalle
[16n , 16n+1 [pourn ∈ {−64...62}
2- Prendre un nombre quelconque de l’intervalle [1610 , 1611 [, trouver le nombre
machine immédiatement supérieur et calculer leur différence.
3- Trouver les nombres machine immédiatement voisins de 1/16.
4- Pour n fixé, les nombres machines de l’intervalle [16n , 16n+1 [ sont-ils équidis-
tants?
22 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

Précision machine
Nous supposons que l’ordinateur travaille en mode arrondi à t digits.
Soit x = ±.d1 ...dt dt+1 ...bm , un réel exprimé en v.f.n. dans une base b (d1 , d2 , ...
des chiffres de cette base). Soit xt le nombre machine obtenu en arrondissant x à
t digits. On a
Propriété:
|x−xt |
|x|
≤ 2b b−t .
Preuve: Puisqu’il s’agit d’une erreur relative, l’exposant et le signe n’intervi-
ennent pas. Soit donc
x = .d1 ...dt dt+1 ....
Si dt+1 < b/2 alors f l(x) = 0.d1 ...dt . Donc
|x − f l(x)| = 0.0...0dt+1 ... = 0.dt+1 ...b−t .
Or 0.dt+1 ... < 0. 2b = 2b b−1 . Donc
|x − f l(x)| < 12 b−t .
D’un autre côté, la représentation étant normalisée, on a forcément 0.d1 ...dt ≥
b−1 . D’où
|x−xt |
|x|
< 2b b−t .
Si dt+1 ≥ b/2 alors f l(x) = 0.d1 ...(dt + 1). Donc

|x − f l(x)| = d1 b−1 + ... + (dt + 1)b−t − (d1 b−1 + ... + dt b−t + dt+1 b−(t+1) + ...)

= (1 − 0.dt+1 ...)b−t ≤ 2b b−t .


D’où le résultat.
Définition: La précision machine est l’erreur relative maximale que commet
l’ordinateur en représentant les nombres en virgule flottante normalisée.
Propriété: Pour une mantisse à n bits, la précision machine est ε = 2−n .
Preuve: La mantisse est en binaire. Il suffit donc de remplacer b par 2.
Remarque: En mode de troncature, la précision machine est 2ε.
Dans le cas de l’ordinateur que nous avons considéré, la précision machine est
ε = 2−24 = 0.5960...10−7 .
Notre ordinateur travaille donc avec 7 chiffres décimaux significatifs.
1.4. LECTURES 23

Double précision
Nous avons vu qu’un mot machine de 32 bits, permet de représenter un nombre
réel avec 7 chiffres décimaux significatifs. Cela peut se révéler insuffisant pour
assurer une bonne précision. Il est cependant possible de loger un nombre, non
pas dans un seul mot machine (dite simple précision), mais dans deux mots et
d’avantage. Travailler avec des mots machines de longueur double (64 bits) se
dit travailler en double précision. Dans ce cas, l’exposant est représenté sur 11
bits et la mantisse sur 52 bits. Les 52 bits sont affectés de gauche à droite par les
poids 2−1 , ..., 2−52 .
Remarque: Dans le cas où la base est 2 au lieu de 16 et selon les normes de
l’organisme appelé I.E.E.E. (Institute for Electrical and Electronic Engeneers),
la mantisse occupe 53 bits au lieu de 52. Cela vient du fait que, l’ordinateur
travaillant en virgule flottante normalisée, le premier bit vaut constamment 1. Il
n’est donc pas nécessaire de le conserver en mémoire. Ainsi, tout se passe comme
si la mantisse avait 53 bits. Il en est d’ailleurs de même dans le cas de la simple
précision. Là aussi, si la base est 2 au lieu de 16, les normes de l’I.E.E.E. imposent
à ce que l’exposant occupe 8 bits et une mantisse équivalente à 24 bits. Cette
remarque est à titre de mémoire et ne sera pas pris en rigueur dans la suite.
Exercice: Calculer la précision machine dans le cas de la double précision.
Qu’elle est le nombre de chiffres significatifs?

Nombres entiers
Dans les sections précédentes, il était question des nombres introduits dans l’ordi-
nateur, en tant que nombres réels. Il est cependant possible de distinguer les
nombres entiers en les déclarant en tant que tels. La représentation des nombres
entiers est différente de celle des nombres rationnels (réels). Pour un nombre
entier, il n’ y a pas d’exposant. Il s’en suit que, pour un mot machine de n
bits, les nombres entiers représentables sont ceux de l’intervalle [−2n−1 , 2n−1 − 1].
Ainsi, pour un mot de 32 bits, le plus grand nombre représentable est:

1 + 2 + 22 + ... + 230 = 2147483647

L’ensemble des nombres entiers représentables sont donc les entiers de l’intervalle

[−2147483648, +2147483647]
24 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

Tout nombre entier, externe à cet intervalle provoque un over-flow. La


représentation en nombres entiers, offre plus de chiffres décimaux que la représentation
en mode réel, mais la plage des nombres représentables est nettement limitée
([−1076 , +1076 ] pour le cas des réels).

1.4.2 Tests de l’ordinateur


Par tester l’ordinateur, nous sous-entendons la mise en évidence des limites de la
représentation des nombres, pour l’ordinateur effectivement utilisé. Un moyen est
d’utiliser le ”Fortran 90”. Le Fortran 90 (contraction de: Formula translation,
qui signifie: ”traduction des formules”...mathématiques), considère que les nom-
bres se présentent sous la forme que nous avons vu, à savoir:
Tout entier est de la forme:
Pq
i=s k=1 wk rk−1

où s = ±1, q est un entier positif, r est un entier strictement supérieur à 1 (en
général r = 2) et wk ∈ [0, r[.
Tout réel est de la forme:
Pp
x = sbe k=0 dk b−k ou x = 0.

où s = ±1, p et b des entiers supérieurs à 1, e est un entier dans l’intervalle


[emin , emax ] et dk ∈ [0, b[ avec d1 6= 0.
Pour x = 0, nous avons déjà mentionné qu’à cause de la normalisation, 0 est
géré à part (parfois, tout simplement avec une mantisse nulle).

Instructions de tests en fortran


RADIX(X)
Selon que X est déclaré entier ou réel, on obtient r respectivement b: La base
utilisée.
DIGIT(X)
Selon que X est déclaré entier ou réel, on obtient q respectivement p.
MAXEXPONENTE(X)
X est déclaré réel. On obtient emax .
MINEXPONENTE(X)
X est déclaré réel. On obtient emin .
HUGE(X)
1.4. LECTURES 25

Selon que X est entier ou réel, on obtient rq − 1 respectivement (1 − b−p )bemax :


Le plus grand nombre représentable.
TINY(X)
X est déclaré réel. On obtient bemin −1 : Le plus petit nombre positif.
RANGE(X)
Selon que X est entier ou réel, on obtient la largeur du domaine des exposants
lorsque la représentation est convertie en la base décimale:

(IN T (LOG10(rq − 1)) respectivement


IN T (M IN (LOG10((1 − b−p )bemax ), −LOG10(bemin −1 )))

A noter qu’ici, le nombre est considéré en Format Scientifique: le nombre


s’écrit avec un chiffre non nul avant la virgule.

EPSILON(X)

X est déclaré réel. On obtient b1−p : Le plus grand nombre non négligeable
devant 1.

PRECISION(X)

X est déclaré réel. On obtient le nombre de chiffres décimaux exacts:

IN T ((p − 1) ∗ LOG10(b)) + k

où k = 1 si b est une puissance exacte de 10 et k = 0 dans le cas contraire.


Le facteur (p − 1) signifie que le dernier chiffre de la représentation n’est pas
pris en compte. Le résultat peut être inférieur d’une unité par rapport à ce que
donnerait notre définition de la précision. Cela sous-entendrait les décimaux en
format scientifique.

NEAREST(X,S)

X est déclaré réel. On obtient le nombre machine le plus proche de X , par


défaut ou par excès selon que S est négatif ou positif.
26 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

1.4.3 Virgule fixe


Nous avons vu un modèle d’ordinateurs où la représentation et les calculs se
font en virgule flottante. Ce type d’ordinateurs est destiné essentiellement au
calcul scientifique. Il existe cependant des ordinateurs destinés à un large spec-
tre d’utilisation. Ces derniers utilisent les deux types de représentation; la
représentation en virgule flottante et la représentation en virgule fixe.
Supposons que dans un certain système de numération de base b, le nombre
de chiffres alloué à la représentation de chaque nombre est n (sans compter le
signe). La représentation en virgule fixe consiste à se donner un entier positif r
inférieur à n et de représenter tous les nombres avec r chiffres avant la virgule
(partie entière) et n − r chiffres après la virgule (partie fractionnaire). Tout
nombre se présente donc sous la forme

±d1 ...dr , dr+1 ...dn

Ainsi, les nombres exactement représentables sont ceux comportant n chiffres


au plus, dont la partie entière ne dépasse pas r chiffres et la partie fractionnaire
ne dépasse pas n − r chiffres.
L’ensemble des nombres représentables repose donc dans l’intervalle

] − br , +br [

En virgule flottante, l’intervalle est plutôt

r r r r
[−bb (bn−r−1 − b−1 ), bb (bn−r−1 − b−1 )] ≈ [−bb , bb ]

Chacune des deux représentations a son avantage et son inconvénient.


En virgule flottante, la plage des nombres représentable est nettement plus
grande que dans le cas de la virgule fixe. Les calculs en virgule fixe sont cependant
plus rapides. En virgule flottante, la représentation est faite avec une même
incertitude relative. En virgule fixe la représentation est faite avec une même
incertitude absolue.
La virgule fixe est efficace dans les calculs où la position de la virgule est à
peu prés prévue. C’est le cas des calculs financiers, de comptabilité, de gestion....
La virgule flottante est efficace dans les calculs scientifiques et techniques.
Dans ce cas, les nombres qui interviennent dans les calculs sont très variés.
1.4. LECTURES 27

1.4.4 Numération
Nous savons que tout nombre réel positif x peut s’écrire

x = am 10m + ... + a0 100 + a−1 10 1 + ...

avec ai ∈ {0, ..., 9}.


La base utilisée est 10 et les éléments de base sont 0, ..., 9. Pour connaı̂tre
la valeur de am , il suffit de prendre la partie entière de 10−m ∗ x. On considère
ensuite le nombre x − am 10m pour lequel on recommence l’étape précédente. On
obtient am−1 et ainsi de suite. Le principe reste le même pour n’importe quelle
base b. Il suffit de remplacer 10 par b et prendre ai dans {0, ..., b − 1} .
La représentation des nombres et le système de numération (comptage et
opérations) changeaient avec les besoins. A titre d’exemple, les bergers utili-
saient une corde et à chaque naissance ils ajoutaient un noeud. Cette façon de
numération répondait au besoin qu’aucun mouton ou autre ne se perdait. Ce
système est à l’origine du chapelet des religieux.
La trace des différentes bases utilisées autrefois sont encore perceptibles. Ainsi,
”quatre vingt” vient de l’usage de la base vingt. Le cercle trigonométrique tout
comme les unités de mesure du temps utilisent encore la base soixante. Pour
certains produits commerciaux l’on constate encore l’usage de la base douze.
Le développement technologique engendré par la découverte de l’électricité a
rendu systématique, l’utilisation de la base deux et certaines de ses puissances
(base huit et seize).

Conversion d’un nombre binaire en un nombre décimal


Comme nous l’avons sous-entendu plus haut,

(an an−1 ...a0 a−1 ...a−m )2 = an 2n + an−1 2n−1 + ... + a0 20 + a−1 2−1 + ... + a−m 2−m

où ai ∈ {0, 1}.


Pour connaı̂tre sa valeur en base 10, il suffit de calculer la somme. Pour cela
il est commode de commencer par le calcul de la partie entière (en comptant de
la droite vers la gauche: selon les puissances croissantes) et ensuite la partie frac-
tionnaire en allant de la gauche vers la droite: selon les puissances décroissantes.
Exemple: 10111011, 101 écrit en binaire, devient dans la base décimale
(10111011)2 = 1 + 1 ∗ 21 + 0 ∗ 22 + 1 ∗ 23 + 1 ∗ 24 + 1 ∗ 25 + 0 ∗ 26 + 1 ∗ 27
= (1 + 2 + 8 + 16 + 32 + 128)10 = (187)10
28 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE

Conversion d’un nombre décimal en binaire


1- Cas d’un nombre entier
La conversion se fait selon le schéma suivant:
- Diviser le nombre par 2 et retenir le reste et le quotient
- Diviser le quotient par deux et retenir le reste et le quotient
- Continuer comme précédemment jusqu’à ce que le quotient soit nul
- Ecrire les restes en commençant par le dernier en allant de la gauche vers la
droite.
Exemple1: (27)10
27/2 = 13 reste 1. 13/2 = 6 reste 1. 6/2 = 3 reste 0.
3/2 = 1 reste 1. 1/2 = 0 reste 1.

(27)10 = (11011)2

Exemple1: (36)10
36/2 = 18 reste 0. 18/2 = 9 reste 0. 9/2 = 4 reste 1.
4/2 = 2 reste 0. 2/2 = 1 reste 0. 1/2 = 0 reste 1.

(36)10 = (100100)2

2- Cas d’un nombre fractionnaire


- Multiplier le nombre par 2 et noter la partie entière et la partie fractionnaire.
- Multiplier la partie fractionnaire par 2 et noter la partie entière et la partie
fractionnaire
- Continuer ainsi jusqu’à ce que la partie fractionnaire soit nulle ou égale à
une partie fractionnaire antérieure. Dans ce dernier cas les chiffres composant le
nombre sont périodiques.
- Ecrire successivement les parties entières en commençant par la première
obtenue et en allant vers la gauche. La première partie entière est le premier
chiffre après la virgule.
Exemple1: (0, 1)10
2 ∗ 0, 1 = 0, 2 partie entière 0. 2 ∗ 0, 2 = 0, 4 partie entière 0.
2 ∗ 0, 4 = 0, 8 partie entière 0. 2 ∗ 0, 8 = 1, 6 partie entière 1.
2 ∗ 0, 6 = 1, 2 partie entière 1. 2 ∗ 0, 2 = 0, 4 partie entière 0.
La partie fractionnaire se répète.

(0, 1)10 = (0, 0001100110011...)2


1.4. LECTURES 29

Les trois points de suspension sous entendent ici la répétition perpétuelle du


bloc 0011.
Exemple2: (0, 3125)10
2 ∗ 0, 3125 = 0, 625 partie entière 0. 2 ∗ 0, 625 = 1, 25 partie entière 1
2 ∗ 0, 25 = 0, 50 partie entière 0. 2 ∗ 0, 50 = 1, 0 partie entière 1

(0, 3125)10 = (0, 0101)2

3- Cas général
Convertir la partie entière, puis la partie fractionnaire et regrouper en séparant
par la virgule.
Exemple: (36, 3125)10 = (100100, 0101)2
Problème: En fouillant dans les archives d’un certain pays, on a relevé selon
les époques qu’il était constitué respectivement de 11, 22 et 16 tribus. Nous savons
en outre que le nombre de tribus n’a pas changé et que les nombres indiqués
correspondent à des bases de numérations différentes et sont toutes inférieures ou
égales à 10.
Trouver le nombre de régions en base 10 et la base de numération de chaque
époque.
30 CHAPITRE 1. PRINCIPES DU CALCUL NUMÉRIQUE
Chapitre 2

Racine d’une équation

Le problème de la recherche de racines d’une équation: f (x) = 0, est mathématiquement


équivalent à celui de la recherche de points fixes: F (x) = x.
Il suffit par exemple de considérer la transformation f (x) = F (x) − x. On a
alors

f (x∗ ) = 0 ⇔ F (x∗ ) = x∗

Ce problème s’étend au cas où x est un vecteur ou encore une fonction et f un


opérateur. C’est pour dire que ce problème se retrouve dans différents domaines,
théoriques ou appliqués et se présente sous différentes formes. La résolution d’un
système linéaire rentre lui aussi dans ce cadre. Le fait de traiter les systèmes
linéaires séparément est due à leur nature linéaire dont le traitement use de
l’algèbre linéaire. Lorsqu’on parle de racines d’une ou de plusieurs équations, tout
comme lorsqu’on parle de points fixes, il s’agit plutôt d’équations non linéaires.
Les outils de travail sont essentiellement ceux de l’analyse.
L’objet de ce chapitre est de présenter, dans le cas d’une équation d’une
variable réelle, quelques méthodes simples et aussi des plus utilisées.

2.1 Méthode de bissection


La méthode de bissection dite aussi méthode de bipartition ou encore méthode
de dichotomie (du mot grec dikhotomia : action de partager en deux) trouve
son fondement mathématique dans un cas particulier du théorème de la valeur
intermédiaire (théorème de Bernhard Bolzano 1781-1848, prètre et philosophe
tchèque d’origine italienne qui s’adonne aux mathématiques):

31
32 CHAPITRE 2. RACINE D’UNE ÉQUATION

”Soit f : [a, b] → R une application continue. Si f (a)f (b) < 0 alors


∃α ∈ ]a, b[ tel que f (α) = 0”.
Nous supposons pour toute la suite, que dans l’intervalle [a, b] , il y a une
seule racine. La racine est dite alors séparée dans [a, b].
La méthode de bissection consiste à diviser l’intervalle par deux et retenir le
sous-intervalle qui vérifie le test du théorème. Si f s’annule à l’une des extrémités
du sous-intervalle, c’est que la racine est cette extrémité. Dans le cas contraire, on
divise le sous-intervalle retenue en deux et on continue la procédure. La méthode
consiste donc à générer des intervalles contenant la racine recherchée et qui sont
de plus en plus petits (la longueur est à chaque fois réduite de moitié). On prend
le centre de l’intervalle comme valeur approchée de la racine recherchée. On
décide d’arrêter l’itération une fois la longueur de l’intervalle retenue est jugée
suffisamment petite ou selon un autre critère.
D’une façon plus précise, la méthode consiste en les étapes suivantes:
1- Données: a1 , b1 tels que f (a1 )f (b1 ) < 0. Poser z1 = (a1 + b1 )/2, i = 1.
2- Si f (zi ) = 0 poser α = z1 . Imprimer α Stop.

Si non: Si f (ai )f (zi ) < 0 poser ai+1 = ai , bi+1 = zi , zi+1 = (ai+1 + bi+1 )/2.
i = i + 1 Aller en 2.

Si non: Si f (bi ) = 0 poser α = bi . Imprimer α. Stop.

Si non: Si f (zi ) = 0 poser α = zi . Imprimer α. Stop.

Si non c’est que f (bi )f (zi ) < 0 Poser ai+1 = zi , bi+1 = bi ,


zi+1 = (ai+1 + bi+1 )/2. i = i + 1 Aller en 2.

La description algorithmique donnée, montre seulement le principe de la


méthode. Pour l’utiliser, il faut fixer le nombre maximal N d’itérations
(si non les calculs risquent de ne jamais s’arrêter!). Aussi, il faut se donner un
test d’arrêt relatif à la précision avec laquelle on veut calculer la racine. Cela
se traduit par l’arrêt des calculs dès que le test est satisfait. La présence de ce
test ne peut pas dispenser de la limitation du nombre N d’itérations. Il est en
effet possible que le test considéré ne soit jamais satisfait. D’un autre côté, nous
voyons que les intervalles générés jouent le même rôle que l’intervalle initial et
n’ont aucune utilité ultérieure. Les garder ne fait qu’encombrer la mémoire. Il
faut veiller à utiliser le minimum de place mémoire. Nous donnerons par la
2.1. MÉTHODE DE BISSECTION 33

suite un algorithme qui tient compte de ces considérations.


Nous avons soulevé deux points qui nécessitent une étude théorique de la
méthode. Il s’agit du nombre maximal d’itérations et du test relatif à la précision.
Proposition: Les intervalles générés par la méthode de bissection vérifient
1) bn − an = 2b−a
n−1
b−a
2) |α − zn | ≤ 2n où zn = (an + bn )/2
Preuve: 1) L’assertion est évidente puisqu’à chaque fois on prend l’intervalle
moitié du précédent: bi+1 − ai+1 = (bi − ai )/2.
2) L’intervalle retenu est celui contenant α. Or

α ∈ [an , bn ] ⇔ an −b
2
n
≤ α − zn ≤ bn −an
2
⇔ |α − zn | ≤ bn −a
2
n

L’assertion 1) conclut.
L’assertion 2) de la proposition, nous donne l’incertitude absolue ε = b−a 2n
.
Supposons que b − a = 1. Ainsi, pour assurer (en l’absence d’erreurs d’arrondi)
une incertitude absolue de l’ordre de 10−p , on doit avoir 2n ≥ 10p . En composant
p
par le Log à base 10, on obtient, n ≥ 0.3 . Il faut donc au moins dix itérations pour
espérer trois chiffres significatifs. La convergence est lente et elle l’est d’autant
plus lorsque l’évaluation de f est coûteuse en nombre d’opérations arithmétiques.
La majoration |α − zn | ≤ b−a 2n
, nous permet de choisir le nombre maximal N
d’itérations à faire.
Pour assurer une certaine précision ε, on peut prendre

|zn − zn−1 | ≤ ε

ou
zn − zn−1

≤ε
zn
ou encore
|f (zn )| ≤ ε.

Ces tests ne sont pas équivalents.


Algorithme (Méthode de bissection)
1) Données: a, b, N , ε
2) i = 1
34 CHAPITRE 2. RACINE D’UNE ÉQUATION

3) z = (a + b)/2
4) Si f (z) = 0 ou (b − a)/2 ≤ ε; α = z;
Imprimer ”Nombre d’itérations”; i; ”=”; ”Racine α=”; Stop
Si non:
Si i = n Imprimer ”Précision non satisfaite”; Stop
Si non:
Si f (a) ∗ f (z) < 0; b = z; i = i + 1; Aller en 3)
Si non: a = z; i = i + 1; Aller en 3
L’algorithme ci dessus suppose qu’au départ la condition f (a)f (b) < 0 est
satisfaite. C’est une condition nécessaire au démarrage de l’algorithme. Pour
obtenir a et b, on peut par exemple, faire une représentation graphique de f. Il
est également possible d’adjoindre un algorithme, de sorte que la recherche de
l’intervalle initial se fasse d’une façon autonome. Nous donnons ci-dessous un
algorithme de démarrage, où l’on se donne un point a et un pas h.
D’une façon intuitive, l’algorithme consiste a chercher un segment où la valeur
absolue de la fonction décroı̂t d’un côté et croı̂t de l’autre.
Algorithme de démarrage
1) Données: a, h
2) b = a
3) b = b + h; s = f (a); t = f (b)
4) Si: s ∗ t ≤ 0; Stop
Si non:
Si |s| < |t|; h = −2 ∗ h; Aller en 3)
Si non:
h = 2 ∗ h; a = b; s = t; Aller en 3)
La méthode de bissection a l’avantage de converger sous de faibles conditions
sur la fonction f . Elle a l’inconvénient d’être lente. D’un autre côté on dispose
de méthodes très rapides, mais elles nécessitent le démarrage à partir d’un point
assez proche de la racine. La méthode de bissection est généralement utilisée
pour fournir un point de démarrage à une méthode plus rapide.
Exercice: Soit (zn ) la suite générée
par la méthode de bissection.
zn −zn−1 zn
1) Montrer que le test zn ≤ ǫ; n’a de sens que si limn→∞ ( zn−1 ) = 1.
Intuitivement, on peut voir que si la racine recherchée est nulle, le rapport
zn
zn−1
peut ne pas converger vers 1. Dans une telle situation la méthode peut
tourner indéfiniment sans que le test ne soit satisfait. Cela est l’objet de la suite
de l’exercice.
2.2. MÉTHODE DES APPROXIMATIONS SUCCESSIVES 35

Soit f une fonction traversant l’axe des x en zéro (par exemple f (x) = x3 ).
On fait démarrer la méthode de√bissection à partir de l’intervalle [a1 , b1 ] avec
a1 = −1 et b1 = 1 − 2r où r = 1−2 5 .
Pour rendre les calculs très simples, remarquer que r est racine de l’équation:
2r2 − r − 1 = 0.
2) Montrer par récurrence que la méthode de bissection donne

a2n = a2n−1 ; b2n = z2n−1 = −r2n−1


a2n+1 = z2n = −r2n ; b2n+1 = b2n

3) La méthode est-elle convergente?


4) Qu’elle est la valeur minimale de ǫ pour laquelle le test zn −z
zn
n−1
≤ ǫ, serait
vérifié?

2.2 Méthode des approximations successives


Nous avons mentionné plus haut qu’il y a équivalence entre la recherche d’une
racine et la recherche d’un point fixe. Cependant, chaque formulation a son
contexte et son interprétation. Chaque interprétation donne à son tour des idées
de construction de méthodes et rend certains outils mathématiques mieux adaptés
à l’étude du problème.
La méthode des approximations successives dite aussi méthode d’itération,
découle d’une façon presque évidente de l’équation traduisant le problème de
point fixe d’une fonction F donnée, à savoir: Trouver x tel que x = F (x).
La méthode consiste à partir d’un point initial x0 et de générer une suite (xn )
par l’itération

xn+1 = F (xn ) pour n = 0, 1, ...

Définition1: S’il existe k ∈ [0, 1[ tel que

∀x, y ∈ [a, b], |F (x) − F (y)| ≤ k |x − y|

F est dite k-contractante.


Théorème1: Soit F : [a, b] → [a, b] continue. Alors F possède au moins un
point fixe dans [a, b].
36 CHAPITRE 2. RACINE D’UNE ÉQUATION

Si en plus F est k-contractante, alors F possède un et un seul point fixe dans


[a, b].
Preuve: Considérons la fonction g(x) = x − F (x).
On a g(a) ≤ 0 et g(b) ≥ 0. Comme g est continue, le théorème de la valeur
intermédiaire assure l’existence dans [a, b] de x∗ tel que g(x∗ ) = 0. D’où le résultat.
Pour l’unicité, soit x un point fixe dans [a, b]. On a

|F (x) − F (x∗ )| ≤ k |x − x∗ |

Comme F (x) − F (x∗ ) = x − x∗ , on aura

|x − x∗ | ≤ k |x − x∗ |

Puisque k < 1, l’inégalité n’est possible que si x = x∗ .


Théorème 2(de convergence):Soit F : [a, b] → [a, b] k-contractante, alors pour
tout x0 ∈ [a, b], la suite définie par

xn+1 = F (xn )

converge vers l’unique point fixe de F dans [a, b].


De plus,
kn
i) |xn − x∗ | ≤ 1−k |x1 − x0 |
∗ k
ii) |xn − x | ≤ 1−k |xn − xn−1 |
Preuve: Pour tout n ∈ N ∗ on a xn+1 = F (xn ) et xn = F (xn−1 ). Donc

xn+1 − xn = F (xn ) − F (xn−1 )

Puisque F opère de [a, b] dans [a, b] , la suite (xn ) est entièrement dans [a, b] . F
étant k-contractante, on a alors

|xn+1 − xn | ≤ k |xn − xn−1 |

Par récurrence on obtient

|xn+1 − xn | ≤ k n |x1 − x0 | pour n = 0, 1, ...

Soit p ∈ N ∗ . On a
2.2. MÉTHODE DES APPROXIMATIONS SUCCESSIVES 37

|xn+p − xn | ≤ |xn+p − xn+p−1 | + ... + |xn+1 − xn |


≤ (k n+p−1 + ... + k n ) |x1 − x0 |
p
= k n 1−k
1−k
|x1 − x0 |
n 1
≤ k 1−k |x1 − x0 |

|xn+p − xn | est donc majorée indépendamment de p, par une quantité qui tend
vers zéro lorsque n tend vers +∞.
La suite (xn ) vérifie donc le critère de Cauchy et par suite elle converge vers
une limite x∗ .
Comme xn ∈ [a, b] pour tout n, x∗ ∈ [a, b]. La continuité de F entraı̂ne que
x∗ est le point fixe de F .
i) De ce qui précède on a

1
|xn+p − xn | ≤ k n 1−k |x1 − x0 |

Il suffit donc de faire tendre p vers +∞.


ii) De l’inégalité,

|xn+1 − xn | ≤ k |xn − xn−1 | pour toutn ∈ N ∗

découle

|xn+i − xn+i−1 | ≤ k i |xn − xn−1 | pour tout i ∈ N

Donc

|xn+p − xn | ≤ (k p + ... + k) |xn − xn−1 |


p
= k 1−k
1−k
|xn − xn−1 |

Il suffit là aussi de faire tendre p vers +∞.


L’assertion i) du théorème2, montre que si k est voisin de zéro, la suite (xn )
converge rapidement vers x∗ . Par contre, pour k proche de 1, le dénominateur
1 − k est alors voisin de 0. Pour que xn soit voisin de x∗ , il va falloir un grand
nombre d’itérations (n grand). Nous avons en effet;
h i
kn ǫ
1−k
|x1 − x0 | ≤ ǫ ⇔ n ≤ Log |x1 −x0|
/Logk + [Log(1 − k)/Logk]
38 CHAPITRE 2. RACINE D’UNE ÉQUATION

Pour ǫ = 10−4 , |x1 − x0 | = 1 et k = 0.9 on doit prendre n voisin de 109 et


pour k = 0.99, n sera voisin de 1375.
L’assertion ii), peut fournir un test d’arrêt.
On peut en effet se donner ε et arrêter les calculs dès que

|xn − xn−1 | ≤ ε.

Ainsi, on aurait
k
|xn − x∗ | ≤ ε.
1−k
Le conditionnel sous-entend qu’à cause des erreurs d’arrondis l’inégalité est seule-
ment approximative.
Nous voyons que si 1 − k est petit, le test peut être satisfait alors que l’erreur
|xn − x∗ | est encore grande.
on peut par exemple approximer k par

|xn − xn−1 |
kn =
|xn−1 − xn−2 |

et prendre comme test complémentaire


kn
|xn − xn−1 | ≤ ε.
1 − kn

Définition2: Une suite (xn ) de limite x∗ (xn 6= x∗n ∀n) est dite d’ordre p, si
−x∗ |
∃A > 0, ∃B > 0 indépendantes de n telles que A ≤ |x|xn+1
n −x ∗ |p ≤ B.

La définition précédente est utilisée également pour définir l’ordre d’une méthode.
Une méthode est dite d’ordre p (sous une certaine hypothèse H), si toute suite
convergente fournie par la méthode (sous l’hypothèse H) est au moins d’ordre p.
Proposition: Soit (xn ) une suite de limite x∗ . Si ∃c 6= 0 tel que

|xn+1 − x∗ |
lim p = c
n→+∞ |xn − x∗ |

alors (xn ) est d’ordre p.



Preuve: La suite |x|xn+1 −x |
∗ p étant convergente, elle est donc bornée. Comme
n −x |
elle est positive de limite non nulle, elle peut être minorée par une constante
strictement positive. D’où le résultat.
2.2. MÉTHODE DES APPROXIMATIONS SUCCESSIVES 39

La constante c de la proposition est dite constante asymptotique de l’erreur.


Théorème3: Soit (xn ) une suite d’approximations successives de limite x∗ .
Si F est de classe C p et F (i) (x∗ ) = 0 pour i = 1, ..., p − 1 avec F p (x∗ ) 6= 0,
alors (xn ) est d’ordre p.
Preuve: Il suffit de faire un développement de Taylor à l’ordre p et appliquer
la proposition précédente.
Corollaire: Si F est de classe C 1 , toute suite d’approximations successives
convergente est au moins d’ordre 1.
Algorithme
1) Données: x0 ; N
2) i = 1; x = x0
3) t = x; x = F (x)
Si |t − x| ≤ ε Imprimer x; Stop
Si non:
Si i = N Imprimer ”Précision non atteinte”; Stop
Si non:
i = i + 1; Aller en 3
Dans cet algorithme, on a t = xi et x = xi+1 . Le test utilisé correspond
seulement à |xi − xi+1 | ≤ ε.
Exercice 1: Soit F : [a, b] → [a, b] de classe C 1 . Montrer que

∀x ∈ [a, b] F (x) ≤ k ⇒ ∀x, y ∈ [a, b] |F (x) − F (y)| ≤ k |x − y|

Exercice2:
Soit F : R → R.
1) On suppose qu’il existe un intervalle [a, b] tel que
F ([a, b]) ⊂ [a, b] et F est k-contractante dans [a, b].
i) Montrer que F possède un point fixe α dans [a, b].
ii) Montrer que α est unique.
2) On prend F (x) = x2 + x + 0.5.
i) Trouver un intervalle [a, b] dans lequel F est k-contractante.
ii) F possède t-elle un point fixe?
3) On suppose cette fois-ci que F possède un point fixe α dans ]a, b[ et qu’elle
est k-contractante dans [a, b].
On considère l’itération: xn+1 = F (xn ).
i) Soit Iη ⊂ [a, b] un intervalle de la forme Iη = [α − η, α + η].
40 CHAPITRE 2. RACINE D’UNE ÉQUATION

Montrer que: ∀x ∈ Iη , F (x) ∈ Iη .


ii) Déduire que: ∀x0 ∈ Iη , la suite (xn ) converge vers α.
ii) En supposant F de classe C 2 et α une racine double, déterminer l’ordre de
convergence de la suite (xn ).
Exercice3: On considère la fonction F (x) = x3 − x2 + 2x − 1.
1) Vérifier que x∗ = 1 est un point fixe.
2) Montrer que la méthode de point fixe ne peut pas converger (sauf si x0 = x∗
ce qui est sans intérêt).
Soit G(x) = x + r(F (x) − x) avec r 6= 0.
3) Déterminer r rendant |G′ (1)| minimal.
Dans ce qui suit r est remplacé par la valeur obtenue dans 3).
4) Expliciter l’itération des approximations successives pour la fonction G.
5) Exprimer xn+1 − 1 en fonction de (xn − 1)2 .
6) Trouver un intervalle assurant la convergence de xn .
Exercice4: Soit F (x) = x2 − 2x + 2. On considère l’itération: xn+1 = F (xn )
avec x0 donné.
1)Trouver une condition nécessaire et suffisante sur xO pour que (xn ) converge
vers 1.
2) Que se passe t-il si x0 = 0 ou 1?
3) Montrer que si x0 ∈ ℜ − [0, 2] alors xn ≥ 2.
4) Déduire une condition nécessaire et suffisante pour que (xn ) converge vers
1. √
Exercice4: Soit F (x) = 12 10 − x3 . On considère l’itération: xn+1 = F (xn )
avec x0 donné.
1) Montrer que F possède un et un seul point fixe α ∈ [1, 2] .
2) Soit h(x) = g(g(x)). Montrer que pour tout y0 ∈ [1, 2] la suite définie par
yn+1 = h(yn ) converge vers α.
3) Déduire que pour tout x0 ∈ [1, 2] la suite (xn ) converge vers α.
4) Calculer la limite asymptotique de l’erreur pour la suite (xn ).

2.3 Méthode de Newton


Sir Isaac Newton 1642-1727, mathématicien, physicien et astronome anglais.
La méthode de Newton est l’une des méthodes des plus utilisées et elle est à
l’origine de plusieurs méthodes puissantes.
Le principe de la méthode est comme suit:
2.3. MÉTHODE DE NEWTON 41

Soit à chercher une racine de f (x) = 0. On suppose que l’équation possède


une racine simple et séparée dans un intervalle [a, b] et que f est de classe C 1 .
On prend une valeur x0 ∈ [a, b] . Soit (d) la droite tangente à la courbe de f
au point (x0 , f (x0 )).
La méthode consiste à prendre comme valeur de x1 , l’ abscisse du point
d’intersection de la droite (d) avec l’axe des x .
D’une façon générale, pour obtenir xn+1 , on remplace xn−1 par xn et on
recommence comme précédemment.
L’équation de la tangente au point (xn , f (xn )) est

y = f (xn ) + (x − xn )f (xn )

xn+1 s’obtient comme étant la valeur de x pour y = 0 , ce qui donne

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

La méthode de Newton est donc définie par


x0 donnée
f (xn )
xn+1 = xn − f ′ (xn )
pour n = 0, 1, ...

Théorème1: Si f est de classe C 1 et possède une racine x∗ simple et séparée


dans [a, b], alors il existe un intervalle Iτ contenu dans [a, b] et contenant x∗ tel
que:
Pour tout x0 ∈ Iτ , la méthode de Newton converge vers x∗ .
Si en plus, f est de classe C 2 , la méthode est d’ordre 2:
′′
xn+1 − x∗ f (x∗ )
lim = .
n→+∞ (xn − x∗ )2 f ′ (x∗ )

Preuve: Posons pour tout n, en = xn − x∗ .


Un développement de Taylor à l’ordre 1, donne
" #
f ′ (cn )
en+1 = en 1− ′ .
f (xn )

f ′ (xn ) − f ′ (cn )
= en
f ′ (xn )
42 CHAPITRE 2. RACINE D’UNE ÉQUATION

Une condition suffisante de convergence est que:



f ′ (x ) − f ′ (c )
n n
∃k ∈ [0, 1[ telque∀n,

≤ k.
f ′ (xn )

Puisque f ′ (x∗ ) 6= 0 etf ′ continue alors

∗ ∗ |f ′ (x∗ )|

∃η : ∀x ∈ Iη = [x − η, x + η] ⊂ [a, b] , |f (x)| ≥ .
2
f ′ étant continue dans le compact Iη , elle y est uniformément continue. Donc

f ′ (x∗ )
∃τ ≤ η : x, y ∈ Iτ ⇒ |f ′ (x) − f ′ (y)| ≤ .
4
D’où
1
xn ∈ Iτ ⇒ |en+1 | ≤ |en |
2
La majoration obtenue entraine en particulier

x0 ∈ Iτ ⇒ xn ∈ Iτ ∀n

On a donc
1
x0 ∈ Iτ ⇒ |en | ≤ |e0 | ∀n
2n
D’où la convergence.
La deuxième assertion est immédiate. Il suffit d’effectuer un développement
de Taylor à l’ordre deux de f (x) au voisinage de x∗ .
Dire que la méthode est d’ordre deux signifie que toute suite obtenue par
application de la méthode (sous les conditions du théorème) vérifie une relation
de la forme:
|xn+1 − x∗ | = kn (xn − x∗ )2
où la suite (kn ) est bornée.
Ainsi, si par exemple kn est voisin de 1 et si |xn − x∗ | est de l’ordre de 10−3 ,
|xn+1 − x∗ | sera de l’ordre de 10−6 . Le nombre de chiffres exacts est doublé.
Le théorème suivant est plus précis.
Théorème2:Supposons que f est de classe C 2 sur un intervalle I = [x∗ − r, x∗ + r]

et que f (x) 6= 0 pour tout
x dans I.
′′
Soit M = maxx∈I ff ′ (x)
(x) 2
et h = min(r, M ). Alors
2.3. MÉTHODE DE NEWTON 43

 2 n
∗ ∗ 2 ∗ M
∀x0 ∈ [x − h, x + h] , |xn − x | ≤ |x0 − x∗ | .
M 2

Preuve: On a
f (xn )
xn+1 − x∗ = xn − x∗ −
f ′ (xn )
(xn − x∗ )f ′ (xn ) − f (xn )
=
f ′ (xn )
La formule de Taylor à l’ordre 2 donne
(xn − x∗ )2 f ′ (cn )
xn+1 − x∗ = −
f ′ (xn )
où cn ∈ [xn , x∗ ] . Donc
M
|xn+1 − x∗ | ≤ (xn − x∗ )2 .
2
Pour pouvoir itérer il suffit que la suite (xn ) reste dans un même sous intervalle
de I.
Soit h ≤ r et Ih = [x∗ − h, x∗ + h] .
Pour que xn ∈ Ih ⇒ xn+1 ∈ Ih , il suffit d’avoir M2 h2 ≤ h.
Cela est équivalent à
2
h≤
M
2
Il suffit donc de prendre h = min(r, M ).
Posons α = M2 .
On a alors
n−1
Y i n
x0 ∈ Ih ⇒ |xn − x∗ | ≤ α2 (x0 − x∗ )2 .
i=0
On a
n−1
Y n−1
X
i
ln( α2 ) = ln(α) 2i
i=0 i=0
n
= (2 − 1)ln(α)
Donc
n−1
Y i i−1
α2 = α2 .
i=0
44 CHAPITRE 2. RACINE D’UNE ÉQUATION

D’où  2n
∗ 2 M
|xn − x | ≤ (x0 − x∗ ) .
M 2

Exercice 1: Soit a > 0. On considère la suite définie par

x0 6= 0 donné,
1 a
xn+1 = (xn + )pourn = 0, 1, ...
2 xn

1) Vérifier que la suite s’obtient en appliquant la méthode de Newton à f (x) =


2
x − a.
2) Montrer que pour tout n, xn garde le signe de x0 .
3) Montrer √ que √
i) xn+1 − a = 2x1n (xn − a)2 .
√ √
ii) xn+1 + a = 2x1n (xn + a)2 .
4) montrer que √
i) Si x0 > 0 alors xn ≥ a√pour tout n ≥ 1.
ii) Si x0 < 0 alors xn ≤ − a pour tout n ≥ 1.
5) Montrer que
i) Pour x0 > 0, la suite (xn ) est décroissante.
ii) Pour x0 < 0, la suite (xn ) est croissante.
6) Enoncer sous forme de théorème, les résultats de convergence de la méthode.
Exercice2:
1) On considère l’équation: x4 − 2x3 + 2x2 − 2x + 1 = 0.
L’equation a la racine double α = 1.
Soit (xn ) la suite générée par la méthode de Newton.
i) Trouver une condition nécessaire et suffisante pour que (xn ) converge vers
1.
ii) Quel est l’ordre de convergence?
ii) Montrer que d’une façon générale, si f est de classe C 3 et possède une
racine double α alors: Si la méthode de Newton converge, on a
xn+1 − α 1
lim = .
n→+∞ xn − α 2

2) Soit a résoudre dans [a, b] une équation f (x) = 0. On suppose que f possède
une racine double α ∈]a, b[ et qu’elle est séparée.
2.3. MÉTHODE DE NEWTON 45

Puisque α est l’unique racine dans ]a, b[ et qu’elle est double, f garde un signe
constant dans un intervalle Iη = [α − η, α + η] ⊂ [a, b]. De plus, f (x) = 0 ⇔
|f (x)| = 0. On peut donc considérer que f est positive dans Iη (à défaut, on
remplace f par -f). q
Soit donc g(x) = f (x) x ∈ Iη .
i) Montrer que α est une racine simple de g.
ii) Ecrire l’itération de la méthode de Newton, pour la fonction g.
iii) Donner une condition suffisante surf pour que g soit de classe C 1 .
iv) Montrer que si f est de classe C 2 , il existe un intervalle Iτ ⊂ Iη tel que si
x0 ∈ Iτ alors la méthode converge vers α.
iv) Montrer que si f est de classe C 3 et x0 ∈ Iτ alors

xn+1 − α 1 f (3) (α)


lim = .
n→+∞ (xn − α)2 3 f (2) (α)

La méthode de calcul de la racine carrée d’un nombre par la méthode décrite


dans l’exercice 3 ci-dessus est connue depuis au moins le premier siècle. Elle est
utilisée par HERON d’Alexandrie (1er siècle) dans son livre ”metrica” retrouvé à
constantinople en 1896. C’etait un mécanicien (concepteur de machines) et aussi
un mathématicien. Son approche est comme suit:√
Soit x0 un nombre positif. Dans tous les cas a est comprise entre xa0 et x0 .
Heron prend comme valeur suivante la moyenne des deux: x1 = 21 (x0 + xa0 ). et
ainsi de suite ...
46 CHAPITRE 2. RACINE D’UNE ÉQUATION
Chapitre 3

Systèmes linéaires

Les systèmes linéaires interviennent dans différents domaines scientifiques et tech-


niques. Du point de vue de la théorie de l’algèbre linéaire, le problème paraı̂t facile
et entièrement résolu. Mais lorsqu’on passe à la résolution effective , on se rend
compte, qu’on ne dispose au fait que de descriptions caractérisant la solution pour
une fin théorique. La méthode universelle dans ce sens est celle de Gabriel Cramer
(1704-1752, mathématicien suisse). Celle-ci nous fait passer d’un problème à un
autre aussi difficile que le premier, à savoir le calcul de déterminants.
Supposons qu’on ait à résoudre avec la méthode de Cramer, un système
linéaire ayant seulement 15 inconnus. Supposons que les calculs se fassent sur un
ordinateur capable d’effectuer 10 millions d’opérations par seconde. La méthode
nécessite environ (15)2 × 15! opérations. Pour résoudre ce système, l’ordinateur
passera 340 jours à faire les calculs. Pour 20 inconnus, on aura besoin d’environ
3 millions d’années. Les méthodes classiques de l’algèbre linéaire jouent un
rôle essentiel dans la théorie. Pour la résolution numérique, nous avons besoin
d’autres méthodes.
Les méthodes de résolution des systèmes linéaires sont nombreuses et variées.
On distingue deux grandes classes de méthodes. La classe des méthodes di-
rectes et la classe des méthodes itératives. Les méthodes directes fournissent
(théoriquement) la solution exacte au bout d’un nombre fini d’opérations. Si,
suite à des erreurs d’arrondi ou autres, le résultat s’avère peu précis, il n’est pas
possible de poursuivre les calculs pour améliorer. Un exemple de méthode di-
recte est la méthode d’élimination de Gauss. Les méthodes itératives sont des
méthodes qui génèrent une suite de vecteurs qui converge vers la solution. Pour
certaines de ces méthodes, la suite générée devient stationnaire à partir d’un
certain rang, fournissant la solution. Ces méthodes itératives sont dites finies.

47
48 CHAPITRE 3. SYSTÈMES LINÉAIRES

Un exemple de méthode itérative finie est la méthode du gradient conjugué. Un


exemple de méthode itérative (tout court) est la méthode de Jacobi. Carl Jacobi
(1804-1851),mathématicien allemand.
Le nombre important de méthodes, traduit deux faits essentiels. D’une part,
aucune méthode n’est capable de résoudre avec une grande précision, n’importe
quel système linéaire. D’autre part, le développement technologique nécessite une
résolution de plus en plus rapide et des systèmes linéaires de taille de plus en plus
grande. La source des difficultés réside, d’une part dans les erreurs d’arrondi et
leur amplification et d’autres part dans la place mémoire que nécessite l’exécution
d’une méthode.

3.1 Méthodes directes


3.1.1 Méthode d’élimination de Gauss
Carl Friedrich Gauss (1777-1855), astronome, mathématicien et physicien alle-
mand.
Nous avons laissé sous-entendre, dans l’introduction ci-dessus que, la résolution
par la méthode de Cramer d’un système linéaire ayant n inconnues, demandent
n2 × n! opérations. La méthode d’élimination de Gauss, nécessite seulement 32 n3
opérations. Ainsi, pour n = 20, l’ordinateur mettra une fraction de seconde au
lieu de 3 millions d’années.

Description de la méthode
La méthode d’élimination de Gauss, comporte deux phases. La première phase
consiste à transformer le système initial en un système équivalent (ayant même
solution que le premier) dont la matrice est triangulaire supérieure. La deuxième
phase est la résolution du système obtenu en commençant par le bas (remontée).
Décrivons la méthode sur le système linéaire Ax = b défini par

E1 : 2x1 + 3x2 − x3 = 5
E2 : 3x1 + x2 + 2x3 = 4
E3 : x1 − 3x2 + x3 = 2

Pour simplifier l’écriture, nous utiliserons les notations d’affectation

E2 = E2 − αE1
3.1. MÉTHODES DIRECTES 49

Cela signifie que la ligne E2 est remplacée par l’ancienne expression de laquelle
on a retranché αE1 . Il s’agit de soustraction terme à terme.
Etape 1: Elimination de x1 des lignes E2 et E3
Divisons la ligne E1 par le coefficient de x1 . Ce coefficient est appelé le
premier pivot, il vaut 2.
Effectuons E2 = E2 − 3E1 /2. Cela donne
E2 : 0x1 − 27 x2 + 27 x3 = − 72
De même E3 = E3 − 1E1 /2 donne
E3 : 0x1 − 29 x2 + 23 x3 = − 12
Etape 2 : Elimination de x2 de la ligne E3 .
Le sous-système à considérer est

E2 : − 27 x2 + 72 x3 = − 27
E3 : − 29 x2 + 32 x3 = − 21

Divisons la ligne E2 par le coefficient de x2 . Ce coefficient est appelé le


deuxième pivot. Il vaut − 27 .
Effectuons E3 = E3 − (− 92 )E2 /(− 27 ). Cela donne
E3 : −3x3 = 4
On obtient ainsi le système équivalent

2x1 + 3x2 − x3 = 5
− 27 x2 + 27 x3 = − 72
−3x3 = 4

La résolution se fait par remontée en calculant x3 à partir de la dernière


ligne qu’on remplace ensuite dans la deuxième ligne pour calculer x2 et ainsi de
suite. On obtient

x3 = − 34 , x2 = − 31 , x1 = 7
3

Nous voyons que lors de la transformation du système, les inconnues x1 , x2 et


x3 n’interviennent pas. Elles indiquent seulement la position des variables. Du
moment que les variables ne changent pas de position, nous pouvons les ignorer et
travailler uniquement sur la matrice et le second membre. Ainsi, nous regroupons
A et b dans une même matrice avec le signe ”:” comme séparateur. La matrice
(A : b) est appelée matrice augmentée (on dit aussi matrice élargie).
50 CHAPITRE 3. SYSTÈMES LINÉAIRES

Algorithme de la méthode
Par souci d’économie de place mémoire, nous n’utilisons qu’une seule matrice.
Algorithme (Elimination de Gauss)
Pour k = 1, ..., n − 1 Faire
Division par le pivot ak,k
Pour l = k + 1, ..., n Faire
yl = ak,l /ak,k
Fin Faire
α = bk /ak,k
Eliminations
Pour i = k + 1, ..., n Faire
Pour j = k + 1, ..., n Faire
ai,j = ai,j − ai,k ∗ yj
Fin Faire
bi = bi − ai,k ∗ α; ai,k = 0
Fin Faire
Fin Faire
On peut vérifier que la remontée consiste à calculer les xi par:
Pn
xi = (bi − k=i+1 ai,k xk )/ai,i pour i = n − 1, ..., 1

Cela se traduit par l’algorithme suivant


Remontée
xn = bn /an
Pour i = n − 1, ..., 1 Faire
s=0
Pour k = i + 1, ...n Faire
s = s + ai,k ∗ xk
Fin Faire
xi = (bi − s)/ai,i
Fin Faire
La somme est calculée dans s.
La méthode d’élimination de Gauss, consiste en la juxtaposition de l’algorithme
d’élimination et l’algorithme de remontée.
3.1. MÉTHODES DIRECTES 51

Remarque: Dans l’algorithme d’élimination ci-dessus, nous avons introduit


un vecteur y pour éviter des calculs inutiles. En effet; en revenant à l’exemple
traitée, on peut voir que la ligne i doit être transformée par la formule:

ai,j = ai,j − ai,k ∗ (ak,j /ak,k )pourj = k + 1, ..., n.

On fait ensuite varier i. Mais pour chaque valeur de i, on doit faire (n − k)


multiplications et autant de divisions. Comme i varie de k + 1 à n , on a donc
(n − k)2 multiplications et autant de divisions. En faisant varier k de 1 à n − 1,
On a
n−1
X
(n − k)2
k=1

multiplications et autant de divisions.


Pour réduire les calculs tout en respectant la démarche de la méthode, nous
avons introduit le vecteur supplémentaire y.
Le nombre de divisions est ainsi ramené à
n−1
X
(n − k).
k=1

Il est possible d’éviter le vecteur y (par souci d’économie de place mémoire) en


modifiant légèrement l’exécution des calculs. Remarquons à cet effet que,

ai,k ∗ (ak,j /ak,k ) = (ai,k /ak,k ) ∗ ak,j .

La quantité ai,k /ak,k ne dépend pas de j, on peut donc ne la calculer qu’une


seule fois (au lieu de n − k fois) pour chaque valeur de i. Là aussi, le nombre de
divisions n’est que
n−1
X
(n − k).
k=1

L’algorithme d’élimination qui en résulte est très utilisé. Il est comme suit:
Algorithme bis(élimination de Gauss)
Pour k = 1, ..., n − 1 Faire
Pour i = k + 1, ..., n Faire
ai,k = ai,k /ak,k
Pour j = k + 1, ..., n Faire
ai,j = ai,j − ai,k ∗ ak,j
Fin Faire
52 CHAPITRE 3. SYSTÈMES LINÉAIRES

bi = bi − ai,k ∗ bk ; ai,k = 0
Fin Faire
Fin Faire
Nous verrons plus loin que cet algorithme, en plus de l’économie de place
mémoire qu’il offre (gain d’un vecteur), il permet de factoriser A sous la forme
A = LU .
Remarque: L’algorithme bis de l’élimination de Gauss est mathématiquement
équivalent à l’algorithme qui le précède. Mais les résultats numériques fournies
par l’un et l’autre peuvent être différents. Dans l’algorithme bis, on ne divise
pas la ligne du k eme pivot par le pivot, mais on divise progressivement les n − k
derniers éléments de la k eme colonne. Du point de vu numérique la différence peut
provenir du fait que a ∗ cb 6= ac ∗ b. Prenons par exemple: t = 4, a = 3, b = 7 et
c = 3. Le premier membre donne 7.009 et le second donne 7. Reprendre l’exemple
avec a = 7 et b = c = 3.

Pivotage
Nous pouvons voir que l’algorithme de l’élimination de Gauss fonctionne tant que
les pivots sont non nuls. A défaut, il y aura une division par zéro. Cela peut
arriver bien que la matrice A soit inversible. Pour éviter une division par zéro,
on permute la ligne de pivot nul avec l’une des lignes suivantes. La ligne retenue
servira alors de ligne de pivot. Si aucune de ces lignes ne donne un pivot non nul,
c’est que la matrice n’est pas inversible.
Exemple: Résoudre par l’élimination de Gauss le système

3x1 + 2x2 − x3 + x4 = 5
2x1 + 34 x2 + x3 − 2x4 = 73
−x1 − x2 + 2x3 + x4 = 1
x 1 + x2 + x 3 − x4 = 2

En exécutant la première étape de l’élimination, le système équivalent qu’on


obtient a comme matrice augmentée

 
3 2 −1 1 : 5
 0 ⊙ 5
− 83 : −1 
 3 
 
 0 − 31 53 4
3
: 83 
1 4
0 3 3
− 43 : 13
3.1. MÉTHODES DIRECTES 53

Nous voyons que le pivot qui doit servir à la deuxième étape est nul (celui-ci
est représenté par ⊙). On permute alors la ligne 2 et la ligne 3. L’étape 2 consiste
alors à recommencer l’étape 1 sur la sous-matrice
 
− 13 5
3
4
3
: 38

 0
5
3
− 83 : −1 

1 4
3 3
− 43 : 31

En continuant les éliminations on obtient en dernier lieu la matrice augmentée


du système équivalent suivante
 
3 2 −1 1 : 5
 0 − 13 35 4
: 83 
 3 
 5 
 0 0 3
− 83 : −1 
24
0 0 0 5
: 24
5

La résolution par remontée donne respectivement


x4 = 1, x3 = 1, x2 = 1, x1 = 1.
Pour réduire au maximum l’effet des erreurs, on ne se contente pas du premier
élément non nul du restant de la colonne, mais on choisit celui de plus grand
module. C’est ce qu’on appelle le pivotage partiel.
L’algorithme ci-dessous décrit le pivotage de lignes conduisant au pivot de
plus grand module. Cet algorithme se place juste après la première ligne de
l’algorithme de la méthode.
Algorithme (Pivotage partiel)
choix du pivot
Déterminer l ≥ k tel que |al,k | = maxi=k,...,n |ai,k |
Si |al,k | < ε (matrice non inversible). Stop.
Permutation des lignes
Si k 6= l Faire
Pour j = k, ..., n Faire
t = ak,j ; ak,j = al,j ; al,j = t
Fin Faire
t = b k ; bk = bl ; bl = t
Fin Faire
Le seuil ε correspond en général à la précision machine (entre 10−7 10−8 dans
le cas de la simple précision).
54 CHAPITRE 3. SYSTÈMES LINÉAIRES

Exemple d’instabilités numériques


La méthode d’élimination de Gauss est très sensible aux erreurs d’arrondi. Dans
certains cas le pivotage partiel peut assurer une précision convenable. Dans
d’autres cas, malgré le pivotage, le résultat reste peu satisfaisant.
Exemple: Prenons t = 4 et résolvons par l’élimination de Gauss le système
suivant

0.03x + 80y = 8.03


0.02x + 90y = 9.02

On obtient
80
(90 − 0.02 0.03 )y = 9.02 − 0.02 8.03
0.03
(90 − 0.02 × 0.2667 104 )y = 9.02 − 0.5352 101
0.3666 102 y = 0.36668 101
y = 0.1001
En reportant dans la première ligne on a
x = (8.03 − 80 × 0.1001)/0.03
x = (8.03 − 8.008)/0.03
x = 0.7333
La solution exacte est: x = 1, y = 0.1.
Nous voyons que l’erreur relative commise sur y est 10−3 . Celle-ci a entraı̂née
une erreur relative sur x de 2.7 103 . Une permutation des lignes n’apportera
rien puisque les coefficients de x des deux lignes sont de même ordre de grandeur.
On peut penser à permuter les lignes et les colonne de sorte que 90 soit le pivot.
Cela apporte une amélioration, mais la précision reste encore faible.
La méthode d’élimination de Gauss est utilisée en général, pour la résolution
de systèmes de taille relativement petite et dont la matrice n’a pas une structure
particulière (symétrie ...). Pour les matrices ayant une structure particulière, on
dispose de méthodes bien appropriées.
Exercice1: Résoudre par l’élimination de Gauss le système

3x1 + 2x2 − x3 + x4 = 5
2x1 + 43 x2 + x3 − 2x4 = 73
−x1 − x2 + 2x3 + x4 = 1
x 1 + x2 + x 3 − x4 = 2
3.1. MÉTHODES DIRECTES 55

Exercice2: Résoudre par l’élimination de Gauss (sans pivotage) les systèmes


ci-dessous en utilisant seulement 5 chiffres et en arrondissant le résultat de chaque
opération à 4 chiffres.
(S1 ):

3 10−2 x1 + 5x2 = 10.03


x1 + x2 = 3

(S2 )

5x2 + 3 10−2 x1 = 10.03 x2 + x1 = 3

Expliquer la différence des résultats.


Exercice3: Résoudre par l’élimination de Gauss le système
αx + βy = b1
γx + θy = b2
α est supposé non nul.
Supposons qu’en calculant y, une erreur ∆y est commise de sorte que la valeur
obtenue est y = y + ∆y .
1) Montrer que ∆y induit une erreur ∆x sur x avec ∆x = αβ ∆y .
2) Vérifier cette erreur dans l’exemple précédent.
Exercice4: On considère le système linéaire Ax = b, avec
! !
0.03 80 8.03
A= ,b=
0.02 90 9.02

Au lieu d’appliquer la méthode d’élimination de Gauss au système donné, on


procède comme suit
- On forme la matrice
! C = AD par !
1000 0 30 80
C=A =
0 1 20 90
- On résout par la méthode de Gauss le système Cy = b
- On calcule x par x = Dy
Faire les calculs en prenant t = 4. (On obtiendra la solution exacte!).
Le principe de l’exercice4 se généralise comme suit.
On multiplie le système Ax = b à gauche par une matrice diagonale inversible
D1 . On a donc
D1 Ax = D1 b.
56 CHAPITRE 3. SYSTÈMES LINÉAIRES

On multiplie A à droite par une matrice diagonale inversible D2 .On obtient ainsi
le nouveau système
D1 AD2 y = D1 b avecx = D2 y.
On résout ensuite le système

Cy = d où C = D1 AD2 , d = D1 b

et on calcule x par
x = D2 y.
Le choix des matrices D1 et D2 est tel que les coefficients de chaque lignes soient
assez voisins (en valeur absolue). Avec les notations de l’exercice3, cela signifie
que le rapport αβ soit voisin de 1. Cela s’appelle l’équilibrage de la matrice

A.
Exercice5:On considère le système linéaire dont la matrice dont la matrice a
pour éléments ai,j = i + j − 1 i, j = 1, ..., n et comme second membre, le vecteur
P
de composantes bi = nj=1 ai,j
Ecrire un programme de l’élimination de Gauss avec pivotage partiel.Résoudre
le système linéaire pour n = 3, avec et sans pivotage. (Vous constateriez que
sans pivotage x1 = 0, x2 = 3, x3 = 0 est affichée comme résultat alors que sans
pivotage, il n’yaura pas de solution: a3,3 = 0.).

3.1.2 Décomposition LU
Décomposition par éliminations
Nous savons que l’élimination de Gauss conduit à un système triangulaire supérieur.
On montre (voir exercice ci-dessous) que l’élimination revient à multiplier le
système initial par une matrice triangulaire inférieure à diagonale unité qu’on
notera L−1 . Ainsi, les deux étapes de la méthode d’élimination de Gauss se
schématisent par:
- Calculer U = L−1 A et L−1 b où L est triangulaire inférieure à diagonale unité.
- Résoudre U x = L−1 b
Il s’agit donc d’une décomposition (on dit aussi factorisation) de la matrice
A sous la forme A = LU , où L est triangulaire inférieure à diagonale unité et U
est triangulaire supérieure. Cette décomposition est appelée la décomposition
LU de A. Lorsqu’elle existe, la décomposition est unique (voir exercice sus-
mentionné).
3.1. MÉTHODES DIRECTES 57

Dans certains cas, nous avons besoin de connaı̂tre la matrice L. Nous savons
déjà que sa diagonale est formée par des 1. Il suffit donc de connaı̂tre les autres
éléments de sa partie inférieure. Dans la section ”Algorithmes de la méthode”,
nous avons donné un algorithme bis de l’élimination de Gauss. En remplaçant
dans cet algorithme
ai,k = 0 par Li,k = ai,k ; ai,k = 0
on obtient la partie manquante de la matrice L.
Si on se contente de supprimer ai,k = 0 de l’algorithme mentionné, la matrice
A qu’on récupère à la fin des éliminations contient dans sa partie supérieure
les éléments de U (nous le savions) et dans sa partie strictement inférieure les
éléments de L privée de sa diagonale. Il suffit donc de compléter la diagonale par
des 1 et le reste par des zéros pour écrire L.
Remarques: La stratégie du pivotage partiel revient à multiplier la matrice
A par une matrice de permutations P rendant tous les pivots de la nouvelle ma-
trice P A non nuls. Ainsi, pour une matrice inversible, il existe toujours une ma-
trice de permutations P pour laquelle la matrice P A possède une décomposition
LU .
L’interprétation de l’élimination de Gauss en tant que factorisation en un
produit de deux matrices triangulaires a donner naissance à plusieurs méthodes
basées elles aussi sur la factorisation. Ainsi pour ces méthodes, la résolution d’un
système linéaire est ramenée à la résolution facile de deux systèmes triangulaires.
Exercice1: Montrer que la méthode d’élimination de Gauss permet de cal-
culer le déterminant d’une matrice.
Exercice2: On se donne le système linéaire Ax = b et on suppose que
l’élimination de Gauss peut se faire sans pivotage.
1- Vérifier que l’étape correspondante à l’élimination de x1 consiste à effectuer
le produit L1 A où L1 est définie par
 
1 0 0 ··· 0
 
 − aa1,12,1
1 0 ··· 0 
 


.. .. .. 

L1 =  . 0 1 . . 
 .. .. . . 
 . . . 1 0 
 
an,1
− a1,1 0 · · · 0 1

2- A l’étape k de l’élimination de Gauss, la matrice du système équivalent est


de la forme
58 CHAPITRE 3. SYSTÈMES LINÉAIRES
 
a1,1 a1,2 · · · · · · a1,n
 ... .. 
 
 0 a2,2 . 
 .. .. 
 .. 
 . 0 . . 
 
C= 

.. .. 

 . . 0 ak,k · · · · · · ak,n 
 .. .. .. .. .. 
 . . . . . 
 
 .. .. .. .. .. 
 
 . . . . . 
0 0 0 an,k · · · · · · an,n

Vérifier que l’élimination de xk consiste à effectuer le produit Lk C où Lk est


définie par
 
1 0 ··· ··· 0
 .. 
 0 1 0 . 
 
 
 .. .. .. 
 . . . 
 
 0 1 0 
 
Lk =  a ... .
 0 − k+1,k 1 
 ak,k 
 
 .. .. . . . 

 . . 0 . . . . .. 

 .. .. .. .. . . 
 . . . . . 1 0 
 
a
0 ··· 0 − an,k
k,k
0 ··· 0 1
3- Il résulte de 1- et 2- que la matrice triangulaire supérieure à la fin de
l’élimination de Gauss est U = Ln ...L1 A.
Posons L = L−1 −1
1 ...Ln . Il s’en suit que A = LU .
i- Vérifier que
 
1 0 ··· ··· 0
 .. 
 0 1 0 . 
 
 
 ... ... ... 
 
 
 0 1 0 
 
L−1
k =

 ak+1,k .. 

 0 ak,k
1 . 
 
 .. .. . . . 

 . . 0 . . . . .. 

 .. .. .. .. . . 
 . . . . . 1 0 
 
an,k
0 ··· 0 ak,k
0 ··· 0 1
ii- Effectuer L−1 −1 −1 −1 −1
1 L2 puis (L1 L2 )L3 .
3.1. MÉTHODES DIRECTES 59

iii- Déduire qu’en travaillant dans la même matrice A, les éléments de la partie
ai,k
inférieure de L sont les ak,k pour i = k + 1, ..., n; k = 1, ..., n.
4- Montrer que lorsque la décomposition A = LU existe, elle est unique.

Méthode de Doolittle
Pour effectuer la décomposition A = LU , outre l’élimination de Gauss, on dis-
pose de plusieurs méthodes. La méthode de Doolittle en est une et consiste à
déterminer les coefficients des matrices L et U de la façon suivante:
Puisque L = (li,j ) sera triangulaire inférieure à diagonale unité, on a li,i = 1
pour i = 1, ..., n et li,j = 0 pour i < j.
De même, U = (ui,j ) sera triangulaire supérieure et donc ui,j = 0 pour i > j.
On veut que A = LU .
Ecrivons alors l’expression de la ième ligne et celle de la ième colonne des deux
membres. On obtient
P
ai,j = ik=1 li,k uk,j pour j = 1, ..., n
P
aj,i = jk=1 lj,k uk,i pour j = 1, ..., n

On fait ensuite varier i de 1 à n en calculant à chaque fois la ième ligne de U


et la ième colonne de L comme suit.
Des expressions de la ième ligne et de la ième colonne, on tire
- Pour i = 1

u1,j = a1,j et lj,1 = aj,1 /a1,1 pour j = 1, ..., n

- Pour i = j
Pi−1
ui,i = ai,i − k=1 li,k uk,i pour i = 2, ..., n

- Pour i ≥ 2, les expressions respectives donnent


P
ui,j = ai,j − i−1 l u
P k=1 i,k k,j
lj,i = (aj,i − i−1
k=1 j,k uk,i )/ui,i
l

où j parcourt i + 1, ..., n


Les différentes étapes se résument dans l’algorithme ci-dessous.
Algorithme (Méthode de Doolittle)
Pour j = 1, ..., n Faire
60 CHAPITRE 3. SYSTÈMES LINÉAIRES

u1,j = a1,j , lj,1 = aj,1 /a1,1


Fin Faire
Pour i = 2, ..., n Faire
Pi−1
ui,i = ai,i − k=1 li,k uk,i
Pour j = i + 1, ..., n Faire
P
ui,j = ai,j − i−1 li,k uk,j
Pk=1
i−1
lj,i = (aj,i − k=1 lj,k uk,i )/ui,i
Fin Faire
Fin Faire
Exercice (schéma de Cholesky): On suppose que pour la matrice A, la
décomposition LU peut se faire sans pivotage.
On considère la décomposition A = BC où B est triangulaire inférieure et C
est triangulaire supérieure à diagonale unité.
Donner un algorithme similaire à celui de Doolittle, pour calculer les cœffi-
cients des matrice B et C.

3.1.3 Méthode de Cholesky


La méthode de Cholesky est basée sur une décomposition de la matrice A, lorsque
celle-ci est symétrique définie positive (A⊤ = A et x⊤ Ax > 0 ∀x 6= 0).
Nous savons que lorsque A est symétrique définie positive, il est possible de
la décomposer sous la forme
A = LL⊤
où L est une matrice triangulaire inférieure.

La méthode de Cholesky consiste en les étapes suivantes:


- Calculer les coefficients de L par identification des deux membres de l’égalité:
A = LL⊤ .
- Résoudre les deux systèmes triangulaires, le premier est inférieur et le second
est supérieur:
Ly = b ; L⊤ x = y .
x obtenu est alors la solution du système Ax = b .
En identifiant les termes des deux membres de A = LL⊤ on obtient:
Pi
ai,j = k=1 li,k lj,k pour j = 1, ..., n
3.1. MÉTHODES DIRECTES 61

De ces équations, on tire


2 √
a1,1 = l1,1 , d’où l1,1 = a1,1
a1,j = l1,1 lj,1 , d’où lj,1 = a1,j /l1,1 pour j = 2, ..., n
P Pi−1 2 1
ai,i = i−1 2 2
k=1 li,k + li,i d’où li,i = (ai,i − k=1 li,k )
2 pour i = 2, ..., n
Pi−1
lj,i = (ai,j − k=1 li,k lj,k )/li,i pour j = i + 1, ..., n
L’algorithme correspondant est comme suit.

Algorithme (Méthode de Cholesky)



l1,1 = a1,1
Pour i = 2, ..., n Faire
li,1 = a1,i /l1,1
Fin Faire
Pour i = 2, .., n Faire
P 2 21
li,i = (ai,i − i−1k=1 li,k )
Pour j = i + 1, ..., n Faire
P
lj,i = (ai,j − i−1k=1 li,k lj,k )/li,i
Fin Faire
Fin Faire
Résoudre Ly = b; Résoudre L⊤ x = y.
A cause des racines carrés, la méthode de Cholesky est parfois appelée la
méthode des racines carrés.

La méthode de Cholesky s’applique lorsque la matrice du système est symétrique


définie positive, alors que l’élimination de Gauss s’applique (avec pivotage) à toute
matrice seulement inversible. La méthode de Cholesky a cependant l’avantage
d’être numériquement plus stable que celle de Gauss. Ainsi, si A est symétrique
définie positive, il est préférable d’utiliser la méthode de Cholesky.
Exercice (Décomposition LDL⊤ ): Admettons le résultat suivant ” A est
symétrique définie positive si et seulement si A se décompose sous la forme A =
LDL⊤ , où L est triangulaire inférieure à diagonale unité et D est diagonale à
éléments positifs”.
Soit d1 , ..., dn les éléments diagonaux de D.
1) Vérifier que
P
ai,j = ik=1 li,k dk lj,k pour j = 1, ..., n
2) Vérifier que
i) pour i = 1 on a: a1,j = l1,1 d1 lj,1 ; a1,1 = d1 et lj,1 = a1,j /d1
62 CHAPITRE 3. SYSTÈMES LINÉAIRES
P
ii) ai,i = ik=1 dk li,k
2
. En déduire di .
iii) De l’expression de ai,j , déduire l’expression de lj,i .
3) Vérifier que l’algorithme ci-dessous correspond bien aux étapes effectuées
d1 = a1,1
Pour j = 1, ..., n Faire
lj,1 = a1,j /d1
Fin Faire
Pour i = 2, ..., n Faire
P
di = ai,i − i−1 2
k=1 dk li,k
Pour j = i + 1, ..., n Faire
P
lj,i = (ai,j − i−1k=1 li,k dk lj,k )/di
Fin Faire
Fin Faire
La décomposition LDL⊤ de l’exercice ci-dessus, offre une alternative de la
méthode de Cholesky. L’introduction de la matrice diagonale a fait disparaı̂tre
les racines carrés.
Chapitre 4

Interpolation polynômiale

L’interpolation polynômiale se scinde principalement en deux problèmes. Le pre-


mier consiste à trouver un polynôme Pn qui coı̈ncide avec une certaine grandeur
f (une fonction) en des abscisses x0 , ..., xn données: Pn (xi ) = f (xi ) pour
i = 0, ..., n. C’est l’interpolation polynômiale de Lagrange. Il est cepen-
dant possible à ce qu’en plus des conditions précédentes, on éxige à ce que les
dérivées de P coı̈ncident avec celles de f en ces abscisses. Dans ce dernier cas
l’interpolation est dite interpolation polynômiale de Hermite.
L’interpolation, peut constituer un problème en soi. C’est le cas par exemple,
lorsqu’on cherche à dresser une table numérique d’une certaine fonction. Celle-ci
est généralement connue seulement en certaines abscisses (par exemple la fonction
sinus). l’interpolation est aussi utilisée pour résoudre d’autres problèmes. C’est le
cas par exemple, de la résolution d’équations différentielles, du calcul d’intégrales
et du calcul de dérivées de fonctions.
Notons que dans la pratique, on ne se contente pas d’une simple interpolation,
mais on essaye à ce que le polynôme hérite les propriétés connues de f (symétrie
etc...). Aussi lorsque les abscisses xi ne sont pas imposées, on peut alors choisir
des abscisses conduisant à une erreur minimale.
L’usage diversifié du polynôme d’interpolation a engendré une multitude de
variantes et méthodes de calcul. Citons à titre indicatif les formules de: Newton;
James Stirling (1692-1770), mathématicien anglais; Lagrange; Gauss; Friedrich
Bessel (1784-1846), astronome allemand; Alexander Craig Aitken (1895-1967),
mathématicien New-Zealandais; Neville; Charles Hermite (1822-1901); mathémati-
cien français. Aussi, Brook Taylor (1685-1731), mathématicien anglais dont la
formule (formule de Taylor) donne un polynôme Pn (x) qui coı̈ncide avec f et
ses n premières dérivées en x0 .

63
64 CHAPITRE 4. INTERPOLATION POLYNÔMIALE

4.1 Interpolation polynômiale de Lagrange


Soient y0 , ..., yn les valeurs que prend une certaine fonction f en les abscisses
distinctes x0 , ..., xn .
Théorème 1: Il existe un et un seul polynôme Pn de degré inférieur ou égal
à n tel que

Pn (xi ) = yi pour i = 0, ...n .

Preuve: Soit Pn (x) = a0 + a1 x + ... + an xn . Le système linéaire a0 + a1 xi +


... + an xni = yi pour i = 0, ...n possède une solution et une seule si et seulement
si, son déterminant est non nul. Nous avons un déterminant de Van der Monde
avec les xi distinctes, donc est non nul.
Théorème 2: Soit Pn le polynôme qui interpole f en les abscisses distinctes
x0 , ..., xn . Si f est de classe C n+1 dans un intervalle [a, b] contenant x0 , ..., xn ,
alors
Πn
i=0 (x−xi ) (n+1)
∀x ∈ [a, b], ∃α ∈]a, b[ tel que f (x) − Pn (x) = (n+1)!
f (α)

Preuve: Considérons la fonction

g(t) = f (t) − Pn (t) − Vn (t) f (x)−P n (x)


Vn (x)

où Vn (x) = Πni=0 (x − xi ).


On a g(x) = g(xi ) = 0 pour i = 0, ..., n. D’après le théorème de Rolle, il

existe α0 , ..., αn dans ]a, b[ tel que g (αi ) = 0 pour i = 0, ..., n. Une application
successive du théorème de Rolle donne

∃α ∈]a, b[ tel que g (n+1) (α) = 0

Comme Vn est de degré n + 1 et de coefficient de tête 1, on a Vn(n+1) (α) =


(n + 1)!. De plus Pn(n+1) = 0, on aura donc
0 = f (n+1) (α) − (n + 1)! f (x)−P n (x)
Vn (x)
. D’où l’assertion du théorème.

Remarque: Posons M = maxx∈[a,b] f (n+1) (x) . On a

M Yn
|f (x) − Pn (x)| ≤ max (x − xi ) .
(n + 1)! x∈[a,b] i=0
4.1. INTERPOLATION POLYNÔMIALE DE LAGRANGE 65

Si on veut que l’erreur soit minimale et cela indépendamment de la fonction à


interpoler, il va falloir choisir les abscisses de sorte que

Yn

max (x − xi )
x∈[a,b]
i=0

soit minimal.
On montre que ces abscisses sont définies par:

b−a 2i + 1 b+a
xi = cos( π) + pour i = 0, ..., n.
2 2N + 2 2

Avec ces abscisses on montre que:

M (b − a)n+1
|f (x) − Pn (x)| ≤ .
(n + 1)! 22n+1

4.1.1 Formule de Lagrange


Joseph Louis Lagrange 1738-1813, mathématicien et astronome Français.
Pour calculer Pn (x), on peut l’exprimer sous la forme

Pn (n)
Pn (x) = i=0 Li (x)f (xi )

(n)
où Li est un polynôme de degré inférieur ou égal à n .
(n) (n)
Pour avoir Pn (xj ) = f (xj ) , il suffit que Li (xj ) = 0 si j 6= i et Li (xi ) = 1.

(n) (n) Q
Li (xj ) = 0 pour j 6= i entraı̂ne Li (x) = c j6=i (x − xj ). Q
Compte tenu de
(n) (n) (x−xj )
Li (xi ) = 1 , on a c = Q 1 . Donc Li (x) = Q j6=i(xi −xj )
(x −xj )
j6=i i j6=i

D’où le théorème ci-dessous.


Théorème (Formule de Lagrange): Etant données x0 , ..., xn , des abscisses
distinctes,

Pn (n)
Pn (x) = i=0 Li (x)f (xi )
66 CHAPITRE 4. INTERPOLATION POLYNÔMIALE

est le polynôme d’interpolation de f aux abscisses x0 , ..., xn .


Q
(n) (x−xj )
Définitions: 1) Les polynômes Li (x) = Q j6=i , constituent une base de
j6=i
(xi −xj )
Pn et sont appelés les polynômes de Lagrange (basés sur x0 , ..., xn ).
Remarque: La formule de Lagrange nécessite pour chaque valeur de x, le
(n)
calcul des Li (x). Cela demande: 2(n − 1) multiplications, 2n soustractions et 1
division pour chaque valeur de i. Soit (4n − 1)(n + 1) opérations. A cela s’ajoute
n + 1 multiplications et n additions pour calculer la somme. Toutes opérations
confondues, pour chaque x, Pn (x) demande: 4n2 + 5n opérations arithmétique.
D’un autre côté, si au cours du calcul de Pn (x), il paraı̂t nécessaire d’ajouter
de nouvelles abscisses d’interpolation (pour améliorer la précision), il va falloir
reprendre tous les calculs. Au coup élevé en calculs s’ajoute sa sensibilité aux
erreurs numérique. La formule de Lagrange a cependant l’avantage de fournir
l’expression explicite de Pn servant dans divers contextes.

4.1.2 Formule de Newton


La formule de Newton, consiste à exprimer le polynôme d’interpolation sous la
forme

Pn (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + ... + an (x − x0 )(x − x1 )...(x − xn−1 )

On a alors

Pn (x0 ) = f (x0 ) = y0 ⇒ a0 = y0
Pn (x1 ) = f (x1 ) = y1 ⇒ a1 = xy11 −y
−x0
0

y1 −y0 y −y
x1 −x0
− x2 −x1
Pn (x2 ) = f (x2 ) = y2 ⇒ a2 = 2
x0 −x2
1

Cela suggère la définition suivante.


Définition: On appelle différences divisées d’une fonction f aux abscisses
x0 , ..., xn , les quantités
[xi ]f = f (xi ) pour i = 0, ..., n

[x0 ,...,xj ]f −[x1 ,...,xj+1 ]f


[x0 , ..., xj+1 ]f = x0 −xj+1
pour j = 0, ..., n − 1

Propriété:
4.1. INTERPOLATION POLYNÔMIALE DE LAGRANGE 67
Pk f (xi )
[x0 , ..., xk ]f = i=0 V ′ (xi )
k

où Vk (x) = Πki=0 (x − xi ).


Qi
Preuve: Posons Vi (x) = j=0 (x − xj ). On a

f (x0 )
[x0 ] = ′ .
V0 (x − x0 )
Hypothèse de récurrence:
i
X f (xj )
[x0 , ..., xi ]f = ′ .
j=0 Vi (xj )

[x0 , ..., xi ] − [x1 , ..., xi+1 ]


[x0 , ..., xi , xi+1 ] =
x0 − xi+1
Qi+1
Posons W (x) = j=1 (x − xj ). On a

Vi+1 (x) = (x − x0 )W (x) = (x − xi+1 )Vi (x)


donc
′ ′ ′
Vi+1 (x) = (x − x0 )W (x) + W (x) = (x − xi+1 )Vi (x) + Vi (x).
En particulier
′ ′
Vi+1 (xj ) = (xj − x0 )W (xj ) pourj = 1, ..., i + 1

et
′ ′
Vi+1 (xj ) = (xj − xi+1 )Vi (xj ) pourj = 0, ..., i.
Cela donne ′
′ Vi+1 (xj )
Vi (xj ) = pourj = 0, ..., i
(xj − xi+1 )
et ′
′ V (xj )
W (xj ) = i+1 pourj = 1, ..., i + 1
(xj − x0 )
D’aprés l’hypothèse de récurrence, on a
i
X i+1
X
f (xj ) f (xj )
[x0 , ..., xi ]f = ′ et [x1 , ..., xi+1 ]f = ′
j=0 Vi (xj ) j=1 W (xj )
68 CHAPITRE 4. INTERPOLATION POLYNÔMIALE

En reportant dans l’expression ci-dessus de [x0 , ..., xi , xi+1 ] =, on obtient le résultat.


La propriété montre en particulier que la différence divisée d’ordre k, [x0 , ..., xk ]
est invariante par permutation des abscisses.
Proposition: Soit Pn le polynôme d’interpolation de f en x0 , ..., xn . Alors:

f (x) − Pn (x) = Vn (x) [x, x0 , ..., xn ] .

Preuve: On a
Q
(n) (x − xj ) Vn (x)
Li (x) = Q j6=i = Q
j6=i (xi − xj ) (x − xi ) j6=i (xi − xj )

Vn (x)
= .
(x − xi )Vn′ (xi )
Donc
n
X f (xi )
Pn (x) = Vn (x) ′
i=1 (x − xi )Vn (xi )

On a donc
n
X f (xi )
f (x) − Pn (x) = f (x) − ′
i=1 (x − xi )Vn (xi )
" n
#
f (xi ) X f (xi )
= Vn (x) − ′
V( x) i=1 (x − xi )Vn (xi )

Posons W (t) = (t − x)Vn (t) = Vn+1 (t) où xn+1 = x. Ils’en suit que
′ ′ ′
Vn+1 (x) = Vn (x) et Vn+1 (xi ) = −(x − xi )Vn (xi )

D’où
n+1
X f (xi )
f (x) − Pn (x) = Vn (x) ′
i=0 Vn+1 (xi )

= Vn (x) [x, x0 , ..., xn ] .


Théorème (Formule de Newton): Le polynôme d’interpolation de f aux
abscisses distinctes x0 , ..., xn s’écrit

Pn (x) = [x0 ]f + (x − x0 ) [x0 , x1 ]f + ... + (x − x0 )...(x − xn−1 ) [x0 , ..., xn ]f .


4.1. INTERPOLATION POLYNÔMIALE DE LAGRANGE 69

Preuve:Soit Pi le polynôme qui interpole f aux abscisses x0 , ..., xi .

Pn (x) = P0 (x) + (P1 (x) − P0 (x)) + ... + (Pn (x) − Pn−1 (x))

Comme le degré de Pk (x) − Pk−1 (x) vaut au plus k − 1 et (Pk − Pk−1 )(xi ) = 0
pour i = 0, ...k − 1, on a

Pk (x) − Pk−1 (x) = ck Vk−1 (x)

D’un autre coté

Pk (x) = f (xk ) = Pk−1 (x) + Vk−1 (xk ) [xk , x0 , ..., xk−1 ]

D’où
ck = [x0 , ..., xk ]
D’où l’expression de Pk (x).
Les différences divisées peuvent être disposées comme dans le tableau ci-
dessous
[x0 ]f
i [x0 , x1 ]f
[x1 ]f i [x0 , x1 , x2 ]f
i [x1 , x2 ]f i [x0 , x1 , x2 , x3 ]f
[x2 ]f i [x0 , x1 , x2 ]f
i [x2 , x3 ]f
[x3 ]f

Une fois les différences divisées sont calculées, on peut calculer la valeur du
polynôme en une ou plusieurs valeurs de x.
Nous donnons un algorithme pour calculer les différences divisée et la valeur du
polynôme en utilisant le schéma de Horner.
William George Horner (1786-1837), mathématicien anglais.
Algorithme: Formule de Newton.
/* Calcul des différences divisées.*/
Pour i = 0, ..., n Faire
ai = f (xi )
Fin Faire
Pour i = 1, ..., n Faire
70 CHAPITRE 4. INTERPOLATION POLYNÔMIALE

Pour j = n, ..., i Faire


aj = axjj−a j−1
−xj−i
Fin Faire
Fin Faire
/* Calcul de P (x) par le schéma de Horner */
p = an
Pour i = n − 1, ..., 0 Faire
p = ai + (x − xi ) ∗ p
Fin Faire Le calcul des différences divisées demande 3n(n+1)
2
opérations arithmétique.
La valeur Pn (x) demande par le schéma de Horner 3n opérations arithmétique.
Ainsi si le nombre d’abscisses est fixé est si l’on doit calculer Pn (x) en 100 valeurs
de x, le coût sera 3n(n+1)
2
+ 300n opérations arithmétique contre 100(4n2 + 5n)
pour la formule de Lagrange.

4.2 Interpolation de Hermite


Charles Hermite (1822-1901, mathématicien français).
L’énoncé le plus répondu de l’interpolation de Hermite est comme suit:

Connaissant f et f en les abscisses distinctes x0 , .., xn trouver un polynôme
P tel que
′ ′
P (xi ) = f (xi ) et P (xi ) = f (xi ) pour i = 0, ..., n.

Théorème1: Le polynôme défini par


Pn (n) Pn (n) ′
P2n+1 (x) = i=0 Hi (x)f (xi ) + i=0 Vi (x)f (xi )
(n) (n)′ (n)2 (n) (n)2
avec Hi (x) = [1 − 2(x − xi )Li (xi )]Li (x) et Vi (x) = (x − xi )Li (x).
est solution du problème d’interpolation de Hermite et il est unique dans
P2n+1 .
Preuve: Lni (xj ) = δij où δij = 0si i 6= j et δii = 1. Une simple vérification
montre que P2n+1 est solution du problème de Hermite.
Unicité: Soit Q2n+1 ∈ P2n+1 un polynôme qui réalise l’interpolation de Her-
mite.
R2n+1 = P2n+1 − Q2n+1 ∈ P2n+1 et les n + 1 abscisses xi , i = 0, ..., n sont des
racines doubles de R2n+1 . Donc R2n+1 ≡ 0.
4.2. INTERPOLATION DE HERMITE 71
 
Théorème2: Soit x ∈ R et Ix = min (xi , x), max (xi , x) .
i=0,...,n i=0,...,n
Si f est de classe C 2n+1 sur Ix alors
Vn2 (x) (2n+2)
∃γx ∈ Ix tel que f (x) − P2n+1 (x) = (2n+2)!
f (γx ).

Preuve: la démonstration est analogue à celle vue dans le cas de la formule


de Lagrange; Il suffit ici de considérer la fonction:

f (x) − P2n+1 (x)


φ(t) = f (t) − P2n+1 (t) − αVn2 (t) avec α = .
Vn2 (x)
L’expression donnée du polynôme d’interpolation de Hermite n’est pas très
bonne sur le plan numérique. Nous montrons à travers ce qui suit que le polynôme
d’interpolation de Hermite peut être programmé de la même façon que la formule
de Newton.
Le polynôme d’interpolation exprimé selon la formule de Newton aux abscisses
x0 , x1 est

Q(x) = f (x0 ) + (x − x0 )[x0 , x1 ]f


= f (x0 ) + (x − x0 ) f (xx11)−f
−x0
(x0 )

En faisant tendre x1 vers x0 on obtient le polynôme



P (x) = f (x0 ) + (x − x0 )f (x0 )

Le polynôme P vérifie les conditions d’interpolation de Hermite en x0 :


′ ′
P (x0 ) = f (x0 ) et P (x0 ) = f (x0 )

D’une façon générale, le polynôme d’interpolation de Hermite aux abscisses xi


i = 0, ..., n s’obtient par la formule de Newton aux abscisses x0 , x0 , x1 , x1 , ..., xn , xn
en prenant dans le tableau des différences divisées

[xi , xi ]f = f (xi ) pour i = 0, ..., n.

Dans l’algorithme ci-dessous, les abscisses sont numérotées de 0 à 2n + 1, avec


x2i = x2i+1 pour i = 0, ..., n.
72 CHAPITRE 4. INTERPOLATION POLYNÔMIALE

Algorithme: Polynôme d’Hermite (Différences divisées).


/* Différences divisées */

a0 = f (x0 ); a1 = f (x0 )
Pour i = 1, ..., n Faire
a2i = f (xx2i2i)−f (x2i−1 ) ′
−x2i−1
; a2i+1 = f (x2i )
Fin Faire
Pour i = 2, ..., 2n + 1 Faire
Pour j = 2n + 1, ..., i Faire
aj = axjj−a j−1
−xj−i
Fin Faire
Fin Faire
/* Calcul de P (x) par le schéma de Horner */
p = a2n+1
Pour i = 2n, ..., 0 Faire
p = ai + (x − xi ) ∗ p
Fin Faire
Exercice 1: On considère la fonction f (x) = cos(πx) − x.
Soient x0 = 0, x1 = 1/3 et x2 = 0.5.
1) Déterminer les polynômes de Lagrange L0 (x), L1 (x) et L2 (x).
2) Déduire l’expression du polynôme d’interpolation P de f (x).
3) Calculer les différences divisées [x0 , x1 ] , [x0 , x1 , x2 ] .
4) Déduire l’expression du polynôme d’interpolation Q de f (x).
5) Majorer l’erreur d’interpolation.
Exercice 2: Soit f (x) = x3 +x2 −1. On considère les abscisses x0 = 0, x1 = 0.5
et x2 = 1.
1) Déterminer le polynôme d’interpolation P en utilisant la formule de La-
grange.
2) Déterminer le polynôme Q de degré inférieur ou égale à 2 tel que: Q(0) =
′ ′
f (0), Q(1) = f (1) et Q (1) = f (1).
3) Représenter graphiquement f, P et Q sur l’intervalle [0, 2] .
Exercice 3: (Dérivation) Soit f une fonction de classe C 3 . On interpole f
aux abscisses x0 , x1 = x0 + h et x2 = x1 + h.
1) Monter que f (x) − P (x) = (x−x0 )(x−x 6
1 )((x−x2 ) (3)
f (ξ) où ξ dépend des xi et
de x.
′ ′ ′
2) Calculer L0 (x), L0 (x), L1 (x) et L2 (x).

3) Montrer que f (xi ) s’écrit
′ Q
f (xi ) = 2i−3
2h
f (x0 ) − 2i−2
h
f (x0 + h) − 2i−1
2h
f (x0 + 2h) + 16 h2 k6=i (i − k)f (3) (ξi ).
4.2. INTERPOLATION DE HERMITE 73

4) Déduire les expressions suivantes:


2
a) f (x0 ) = f (x0 +h)−f (x0 −h)

2h
− h6 f (3) (ξ1 ) où ξ1 ∈ [x0 − h, x0 + h] .
2
b) f (x0 ) = −3f (x0 )+4f (x2h
0 +h)−f (x0 +2h)

+ h3 f (3) (ξ0 ) où ξ0 ∈ [x0 , x0 + 2h] .
Exercice 4: Soit f une fonction continue possédant une racine α simple et
séparée dans [a, b]. 1) Montrer que f est une bijection de [a, b] dans f ([a, b]).
On considère x0 = a < x1 < ... < xn = b une subdivision de [a, b] et on calcule
yi = f (xi ) pour i = 0, 1, 2.
2) On a f (α) = 0 ⇔ α = f −1 (0). Exploiter cette équivalence pour fournir par
interpolation, une approximation de α.
3) On prend f (x) = x4 − 3, x0 = 1 et x1 = 1.5.
1
i) Appliquer ce qui précède pour trouver une approximation de 3 4 .
ii) Evaluer l’erreur.
Exercice 5:(Interpolation par morceaux de polynômes) Soit f une fonction

de classe C 1 , connue en x0 , x1 et x2 . On suppose en plus que f (x0 ) est connue.
Comme approximation de la fonction f (x), on se propose de chercher une
fonction S(x) vérifiant:
i) S(x) = a0 + b0 (x − x0 ) + c0 (x − x0 )2 pour x ∈ [x0 , x1 ].
ii) S(x) = a1 + b1 (x − x1 ) + c1 (x − x1 )2 pour x ∈ [x1 , x2 ].
′ ′
iii) S(xi ) = f (xi ) pour i = 0, 1, 2 et S (x0 ) = f (x0 ).
iv) S est de classe C 1 sur [x0 , x1 ].
1) Que valent a0 , a1 et b0 ?
2) Trouver l’expression de S.
′ ′
3) On remplace la condition S (x0 ) = f (x0 ) par ”S est de classe C 2 ”.
Montrer que S devient tout simplement le polynôme d’interpolation de f aux
abscisses x0 , x1 , x2 .
Exercice 6: L’opérateur aux différences progréssives ∆est définie par ∆fi =
fi+1 − fi où (fn ) est une suite réelle donée.
∆fi est dite différence progréssive d’ordre 1. Les différences progréssives
d’ordre supérieurs sont liées par:

∆0 fi = fi

∆fi = fi+1 − fi
∆k fi = ∆(∆k−1 fi ) k = 1, 2, ...
Soit xi = x0 + ih i = 0, ..., n, une subdivision de l’intervalle [a, b] . Soit f une
fontion de [a, b] dans R.
Posons fi = f (xi ).
74 CHAPITRE 4. INTERPOLATION POLYNÔMIALE
Chapitre 5

Approximation discrète aux


moindres carrés

Gauss est à l’origine de l’approximation aux moindres carrés. La planète Cérès ve-
nait d’être découverte, quelque mesures ont été prises avant qu’elle ne disparaisse
derrière le soleil. Il fallait prévoir l’endroit où elle réapparaı̂tra. Plusieurs savons
se sont penchés sur la question. Les calculs de Gauss ont été les plus précis.
L’approximation discrète aux moindres carrés (on dit aussi, meilleur approxi-
mation discrète au sens des moindres carrés), a les mêmes objectifs que l’interpolation.
Il s’agit dans les deux cas de trouver une fonction relativement simple (polynôme
ou autre), qui donnerait des valeurs suffisamment proches de celles d’une certaine
grandeur f .
L’approximation discrète aux moindres carrés est en général utilisée lorsque
le nombre d’abscisses est grand. Les raisons de son utilisation sont multiples.
L’interpolation avec un grand nombres d’abscisses, ne conduit pas forcément
à une grande précision. Aussi, plus le nombre d’abscisses d’interpolation est
grand, plus les instabilités numériques sont importantes. A cause de cela, le
degré du polynôme d’interpolation ne dépasse pas en général 7. Dans divers
problèmes, les points (xi , yi ) dont on dispose, forment un nuage dont il est im-
possible de faire passer par ces points, une courbe suffisamment lisse et traduisant
le phénomène. La courbe recherchée est plutôt une courbe intermédiaire qui ne
passe pas forcément par tous les points. L’approximation (au sens d’une cer-
taine norme) s’impose alors. Aussi, dans certaines situations, nous disposons
d’informations sur la forme de la courbe de f . Celle-ci est par exemple une droite,
mais les points (xi , yi ) disponibles, ne sont pas alignés. Là aussi l’approximation
aux moindres carrés est le moyen adéquat.

75
76CHAPITRE 5. APPROXIMATION DISCRÈTE AUX MOINDRES CARRÉS

5.1 Cadre général


Soient données N points (xi , yi ), i = 1, ..., N où les abscisses sont supposées dis-
tinctes et les yi sont les valeurs en les xi d’une certaine fonction f . L’approximation
discrète aux moindres carrés consiste à se donner n ≤ N fonctions ϕ1 , ..., ϕn ,
linéairement indépendantes et à chercher la fonction f ∗ de sorte que
Pn PN
f∗ = j=1 aj ϕj et i=1 (f

(xi ) − yi )2 soit minimale

Les inconnues à déterminer sont les aj .


Soit Φn , l’espace vectoriel engendré par ϕ1 , ..., ϕn . Il est question de trouver
la fonction f ∗ ∈ Φn qui vérifie:
PN ∗ PN
i=1 (f (xi ) − yi )2 = ming∈Φn i=1 (g(xi ) − yi )2

Il s’agit donc de minimiser la somme des carrés des erreurs. D’où l’appellation
”Approximation discrète aux moindres carrés”.
Etudions ce problème:
Soit Ψ : Rn → R , définie par
PN Pn
Ψ(a1 , ..., an ) = i=1 ( j=1 aj ϕj (xi ) − yi )2

Pour déterminer f ∗ , il est nécessaire et suffisant de déterminer les coefficients


aj (ce sont ses composantes dans l’espace vectoriel Φn ). Le problème posé consiste
donc à trouver a1 , ..., an qui minimisent Ψ.
Une condition nécessaire pour que a1 , ..., an minimisent Ψ est que

∂Ψ(a1 , ..., an )
= 0 pourk = 1, ..., n.
∂ak
∂Ψ(a1 ,...,an ) PN Pn
∂ak
=0⇔ i=1 2ϕk (xi )( j=1 aj ϕj (xi ) − yi ) = 0
Pn PN PN
⇔ j=1 i=1 aj ϕj (xi )ϕk (xi ) − i=1 ϕk (xi )yi = 0
Pn PN PN
⇔ j=1 aj [ i=1 ϕj (xi )ϕk (xi )] = i=1 ϕk (xi )yi

Les coefficients recherchés doivent donc constituer une solution du système


linéaire
5.1. CADRE GÉNÉRAL 77
Pn PN PN
j=1 aj [ i=1 ϕj (xi )ϕk (xi )] = i=1 ϕk (xi )yi pour k = 1, ..., n

Nous avons obtenu une condition nécessaire. Nous devons voir sous quelle
condition elle est suffisante. soient ϕek , k = 1, ..., n et fe les vecteurs de RN
définis par
   
ϕk (x1 ) y1
 .  e  . 

ϕek =  ..  , f =  .. 
  
ϕk (xN ) yN

Avec ces notations le système linéaire s’écrit:


Pn D E
j=1 aj hϕ ek , fe
ej i = ϕ
ek , ϕ pour k = 1, ..., n
PN
où hy, zi = i=1 zi yi , le produit scalaire euclidien.
Euclide d’Alexandrie (vers 285 avant J.C.), mathématicien Grec.
Supposons pour l’instant que ce système possède une solution et une seule.
P
Montrons alors que f ∗ = nj=1 aj ϕj réalise bien le minimum au sens des moindres
carrés discrets.
On a les équivalences suivantes:
Pn D E DP E
j=1 aj hϕ
ek , ϕ ek , fe
ej i = ϕ pour k = 1, ..., n ⇔ n
j=1 aj ϕej − fe, ϕek = 0 pour
k = 1, ..., n
DP E D E
⇔ n
j=1
e ⇔ ff∗ − fe, g
aj ϕej − fe, ge = 0 ∀ge ∈ Φ n e = 0 ∀g e
e∈Φ n

e .
Soit ge ∈ Φ n

2 2

ge − fe = (ge − ff∗ ) + (ff∗ − fe)
2 2 D E
= ge − ff∗ + ff∗ − fe − 2 ge − ff∗ , ff∗ − fe

2 2
= ge − ff∗ + ff∗ − fe

Il en découle
2 2

ge − fe ≥ ff∗ − fe ∀ge ∈ Φ
e
n
78CHAPITRE 5. APPROXIMATION DISCRÈTE AUX MOINDRES CARRÉS

Cela montre qu’on a bien le minimum.


Voyons à présent sous quelle condition le système obtenu possède t-il une solution
et une seule.
La matrice du système est:
 
hϕe1 , ϕe1 i · · · hϕe1 , ϕen i
 
 hϕe2 , ϕe1 i · · · hϕe2 , ϕen i 
 .. .. 
 
 . . 
hϕen , ϕe1 i · · · hϕen , ϕen i

Il est connu qu’une matrice carrée est singulière (non inversible) si et seulement
si l’une de ses colonnes est combinaison linéaire des autres colonnes. Sans nuire
à la généralité, nous supposons que la première colonne est combinaison linéaire
des autres. Cela donne
   
hϕe1 , ϕe1 i hϕe1 , ϕei i
 .  Pn
 .. 

 .. =


i=1 λi  . 

hϕn , ϕ1 i
e e hϕn , ϕi i
e e

Les vecteurs de part et d’autre de l’égalité ont les mêmes composantes. Cela
se traduit par
Pn
hϕej , ϕe1 i = i=1 λi hϕej , ϕei i pour j = 1, ..., n.

La linéarité du produit scalaire donne


Pn
hϕej , ϕe1 − i=1 λi ϕei i = 0 pour j = 1, ..., n

e le sous-éspace vectoriel de RN , engendré par ϕ


Soit Φ e1 , ..., ϕ
en .
n
On a
n
X
ϕe1 − λi ϕ e
fi ∈ Φ n
i=1

Donc
P P
hϕej , ϕe1 − ni=1 λi ϕei i = 0 pour j = 1, ..., n ⇔ ϕe1 − ni=1 λi ϕei = 0
P
⇔ ϕ1 (xk ) − ni=1 λi ϕi (xk ) = 0 pour k = 1, ..., N
5.1. CADRE GÉNÉRAL 79
Pn
Cela signifie que la fonction ϕ = ϕ1 − i=1 λi ϕi possède au moins N racines
distinctes.
Pour que le problème ait pour toute valeur de N ≥ n une et une seule solution,
il suffit donc que toute fonction de Φn ait moins (au sens strict) de n racines.
Définition: Un sous éspace-vectoriel F de C([a, b]) de dimension n vérifie la
condition de Haar, si tout élément non nul de F possède moins (au sens strict)
de n racines.
Une base {ϕ1 , ..., ϕn } de F , est dite alors système de Tchébycheff.
Alfred Haar (1885-1933), mathématicien hangrois.
Pafnouty Lvovitch Tchébycheff (1821-1894), mathématicien russe.
Exemple: L’espace Pn des polynômes de degré inférieur ou égal à n, vérifie
la condition de Haar.
{1, x, ..., xn } est un système de Tchébycheff.
Théorème: Soit Φn un sous-éspace vectoriel de C([a, b]), engendré par une
base {ϕ1 , ..., ϕn }.
On suppose que Φn vérifie la condition de Haar.
Soient x1 , ..., xN des abscisses distinctes dans [a, b] et y1 , ..., yN des réels donnés,
avec N ≥ n.
Il existe alors une et une seule fonction f ∗ ∈ Φn telle que

PN ∗ PN
i=1 (f (xi ) − yi )2 = ming∈Φn i=1 (g(xi ) − yi )2

De plus, le système linéaire

Pn PN PN
j=1 aj [ i=1 ϕj (xi )ϕk (xi )] = i=1 ϕk (xi )yi pour k = 1, ..., n

possède une et une seule solution a1 , ..., an et on a

Pn
f∗ = j=1 aj ϕj

Remarque: En prenant N = n, le problème d’approximation aux moindres


carrés discrets devient un problème d’interpolation. On aura f ∗ (xi ) = yi . Pour
ne pas confondre les deux contextes, on prend toujours N > n.
80CHAPITRE 5. APPROXIMATION DISCRÈTE AUX MOINDRES CARRÉS

5.2 Approximation polynômiale aux moindres


carrés
Nous avons vu que l’espace Pn des polynômes de degré inférieur ou égal à n,
vérifie la condition de Haar. Le problème d’approximation aux moindres carrés,
possède donc une et une seule solution.
Soit donc x1 , ..., xN , N abscisses distinctes avec N > n et soit y1 , ..., yN des
réels donnés.
Prenons {1, x, ..., xn } comme base de Pn .
Le polynôme
n
X
Pn (x) = aj xj
j=1

réalise l’approximation au sens des moindres carrés si et seulement si les aj sont


solution du système linéaire
Pn PN PN
j=1 aj [ i=1 xj+k−2
i ]= i=1 xik−1 yi pour k = 1, ..., n.

Exercice1: Nous savons qu’une certaine loi est de la forme

y = beax

Pour différentes abscisses x1 , ...xN , on a obtenu les valeurs respectives y1 , ..., yN .


Le problème est d’estimer a et b. Pour cela, on cherche a et b rendant minimum
la quantité
PN axi
Ψ(a, b) = i=1 (be − yi )2

1) Caractériser le minimum de Ψ.
Vous constateriez que a et b, ne peuvent pas être explicités.
2) Au lieu de y = beax , prenons l’équation équivalente, Log(y) = Log(b) + ax.
C’est une expression polynômiale.
i) Formuler l’approximation discrète aux moindres carrés.
ii) Donner l’expression de a et log(b).
Exercice2: Les valeurs connues d’une certaine fonction f sont:
1 1 1 1
f (−1) = −1, f (− ) = − , f (0) = 0, f ( ) = , f (1) = 1
2 4 2 4
5.2. APPROXIMATION POLYNÔMIALE AUX MOINDRES CARRÉS 81

1) Déterminer le polynôme P2 de degré 2 qui réalise la meilleurs approximation


discrète au sens des moindres carrés de f.
2) Déterminer le polynôme Q2 qui interpole f aux abscisses −1, 0 et 1.
3) On considère que la fonction f est définie par f (x) = x |x| .
Représenter les courbes de f , P2 et Q2 .
82CHAPITRE 5. APPROXIMATION DISCRÈTE AUX MOINDRES CARRÉS
Chapitre 6

Intégration numérique

Les méthodes directes de calcul d’une intégrale

Z b
I= f (x)dx
a

sont nombreuses.
Chaque méthode, concerne une classe particulière de fonctions à intégrer. Cela
nécessite l’écriture d’un programme complexe et volumineux.
Aussi, ces méthodes ne permettent au fait d’intégrer qu’un nombre restreint
de fonctions. Un exemple où aucune méthode de calcul direct ne donne la solution
est l’intégrale
Z 1q
1 + (cos x)2 dx.
0

D’un autre côté, il est souvent question d’intégrer une fonction ne pouvant être
connue qu’en un nombre limité d’abscisses. Les méthodes numériques ont l’avantage
d’être générales, faciles à utiliser sur ordinateur et peuvent fournir la solution avec
une grande précision.
L’expression intégration numérique est utilisée en général pour désigner
l’intégration approchée des intégrales simples et multiples. Dans le cas d’intégrale
simple on utilise l’expression quadrature numérique alors que dans le cas de
plusieurs variables, on dit Cubature numérique.
Il est question
Ra
ici d’intégration d’une fonction à une seule variable (quadrature
numérique): b f (x)dx.

83
84 CHAPITRE 6. INTÉGRATION NUMÉRIQUE

6.1 Cadre général


Les méthodes de quadrature numériques se présentent en général sous la forme:
n
X
In = ai f (xi )
i=0

Elles sont basées sur l’interpolation polynômiale.


L’idée centrale consiste en effet à remplacer la fonction f par son polynôme
d’interpolation en des abscisses x0 , ..., xn prises dans l’intervalle [a, b].
Ainsi, si Pn est le polynôme d’interpolation exprimé dans la base de Lagrange,
on aura n Z
X b
In = ( Lni (x)dx)f (xi )
i=0 a

avec une erreur de quadrature


Z b
1
In − I = − Πn (x − xi )f (n+1) (α)dx.
(n + 1)! a i=0

Les méthodes (on dit aussi formules) obtenues de cette façon sont dites de type
interpolation: Elles sont exactes sur Pn (In = I ∀f ∈ Pn ).
Un choix simple des abscisses d’interpolation, consiste à les prendre équidistantes:
b−a
xi = a + ih pour i = 0, ..., N avec h = .
N
Dans ce cas, In est dite formule de Newton-Cotes.
Roger Cotes (1682-1716) mathématicien anglais.
On montre cependant que si les abscisses d’interpolation sont quelconques ou
équidistantes, la méthode devient numériquement instable lorsque le degré n du
polynôme augmente et l’erreur de quadrature peut ne pas diminuer (la méthode
ne converge pas).
Pour obtenir des méthodes numériquement stables et convergentes, on dispose
principalement de deux moyens.
Le premier moyen consiste à décomposer l’intervalle [a, b] en deux ou plusieurs
sous-intervalles et interpoler séparément sur chacun des sous-intervalles par des
polynômes d’un bas degré. Ces méthodes sont dites méthodes composites.
Dans les méthodes composites f est donc approchée sur l’intervalle [a, b] par des
morceaux de polynômes et non pas par un seul et même polynôme. Parmi ces
6.2. MÉTHODE DES TRAPÈZES 85

méthodes on trouve la méthode des rectangles, la méthode des trapèzes et la


méthode de Simpson.
Un deuxième moyen consiste à choisir les abscisses d’interpolation d’une façon
optimale (les abscisses sont déterminées de sorte que In coı̈ncide avec I pour tout
polynôme de degré inférieur ou égal à 2n+1 et non seulement sur Pn ). On montre
que de telles abscisses sont les racines de polynômes orthogonaux. Les méthodes
de quadrature correspondantes sont appelées méthodes de quadrature de
Gauss.
Nous nous limitons ici à deux méthodes simples et d’usage fréquent.

6.2 Méthode des trapèzes


La méthode des trapèzes est dûe à Newton et son élève Cotes.
b−a
Soit xi = a + ih, i = 0, ..., n avec h = n
et n un entier donné. On a
Rb Pn−1 R xi+1
I= a f (x)dx = i=0 xi f (x)dx

Dans chaque intervalle [xi , xi+1 ], on remplace f par le polynôme Pi qui


l’interpole en xi et xi+1 .
On a
xi+1 −x x−xi
Pi (x) = h
f (xi ) + h
f (xi+1 )

la formule de base consiste à remplacer


Z xi+1 Z xi+1
f (x)dx par Pi (x)dx.
xi xi

Sur chaque segment [xi , xi+1 ] l’intégrale de f est ainsi assimilée à la surface
du trapèze ayant pour sommets: (xi , 0), (xi , f (xi ), (xi+1 , 0), (xi+1 , f (xi+1 )
On prend ainsi
Pn−1 R xi+1
In = i=0 xi Pi (x)dx

En développant, on obtient
h
In = [f (x0 ) + 2f (x1 ) + ... + 2f (xn−1 ) + f (xn )]
2
dite méthode des trapèzes ou méthode composite du trapèze.
86 CHAPITRE 6. INTÉGRATION NUMÉRIQUE

Evaluons l’erreur commise lorsqu’on prend In à la place de I.


Rb
Théorème: Soit I = a f (x)dx et

h
In = [f (x0 ) + 2f (x1 ) + ... + 2f (xn−1 ) + f (xn )] .
2
Si f est de classe C 2 dans [a, b],alors
b−a 2 ′′
∃β ∈ [a, b] tel que In − I = 12
h f (β).

Preuve: Supposons f de classe C 2 . Du chapitre sur l’interpolation, nous


savons que
′′
f (x) − Pi (x) = 21 (x − xi )(x − xi+1 )f (αi )

où αi appartient au plus petit intervalle contenant x, xi et xi+1 .


L’erreur de quadrature est donc
Pn−1 R xi+1
In − I = i=0 xi (Pi (x) − f (x))dx
Pn−1 R xi+1 ′′
= i=0 xi (− 12 (x − xi )(x − xi+1 )f (αi ))dx

Chacune des intégrales de la somme est


R xi+1 1 ′′
Ji = xi ( (x − x
2 i )(x − xi+1 )f (αi ))dx

Posons x = xi + th.
R1 1 ′′
Ji = h3 0( t(t − 1)f (c
2 i ))dt

t(t−1) ne change pas de signe dans l’intervalle [0, 1]. La formule de la moyenne
donne
′′ R1 1
Ji = h3 f (ci ) 0 2 t(t − 1)dt
1 3 ′′
= − 12 h f (ci )

L’erreur totale est donc


1 3 Pn−1 ′′
In − I = 12
h i=0 f (ci )
6.2. MÉTHODE DES TRAPÈZES 87

′′
f étant continue, soit
′′ ′′
M = max f (x) et m = min f (x)
x∈[a,b] x∈[a,b]

On a
Pn−1 ′′
f (ci )
m≤ i=0
n
≤M

D’après le théorème de la valeur intermédiaire on a


Pn−1 ′′
f (ci ) ′′
∃β ∈ [a, b] tel que i=0
n
= f (β)

Donc
n 3 ′′
In − I = 12
h f (β)
b−a 2 ′′
= 12
h f (β).

Le théorème dit que l’erreur de quadrature est proportionnelle à h2 . On dit


que la méthode est d’ordre deux.
Aussi, nous voyons que
′′
In = I ⇔ f (β) = 0.

La méthode est donc exacte sur l’espace des polynômes de degré inférieur ou égal
à 1.

6.2.1 Stabilité numérique


Dès le premier chapitre, nous avons mis en évidence l’effet négatif des instabilités
numériques. Nous avons par la même occasion mentionné que, toute définition
mathématique de la stabilité (lorsque la formulation de celle-ci est possible) ne
peut être qu’approximative.
Pour les méthodes de quadrature numérique de la forme
Pn
In = i=0 ai f (xi )

on considère que la source principale des erreurs réside dans le calcul des f (xi ).
Supposons qu’au lieu de la valeur exacte de f (xi ), la quantité qui intervient
réellement dans le calcul de In est f (xi ) + εi . Ainsi, au lieu d’avoir exactement
In, on aura plutôt
88 CHAPITRE 6. INTÉGRATION NUMÉRIQUE
Pn
In = i=0 ai (f (xi ) + εi )
Pn Pn
= i=0 ai f (xi ) + i=0 ai ε i
Pn
= In + i=0 ai εi
P
Malgré la petitesse des erreurs εi , la somme ni=0 ai εi peut devenir très
grande lorsque n devient grand (ou d’une façon équivalente, lorsque h devient
petit puisque h = b−a
n
).
Définition: Une formule de quadrature
n
X
In = ai f (xi ),
i=0

est dite stable si



Xn

∃M tel que ∀n, ∀εi i = 0, ...n, ai ǫi ≤ M max |ǫi |.
i=0,...,n
i=0

Théorème: La méthode des trapèzes est stable.


Preuve: La méthode est définie par
h
In = [f (x0 ) + 2f (x1 ) + ... + 2f (xn−1 ) + f (xn )] .
2
Donc
h
a0 = an = et ai = h pour i = 1, ..., n − 1.
2
Il s’en suit que
n
X n
X n
X



ai ǫi

≤ |ai ǫi | ≤ |ai | max |ǫi | = (b − a) max |ǫi | .
i=0,...,n i=0,...,n
i=0 i=0 i=0

6.2.2 Convergence
Il s’agit de voir sous quelles conditions on a
lim In = I.
n→+∞

Théorème: Si f est de classe C 2 sur [a, b] alors


lim In = I.
n→+∞

Preuve: Nous savons que l’erreur est


6.3. MÉTHODE DE SIMPSON 89

b−a 2 ′′
In − I = 12
h f (β) où β ∈ [a, b]

Comme f est de classe C 2 sur [a, b] , il existe M ∈ [a, b] tel que



′′
max f (x) ≤ M.
x∈[a,b]

b−a
D’un autre côté h = n
, donc

(b−a)3
|In − I| ≤ 12n2
M.

D’où la convergence.
On montre qu’au fait, la méthode des trapèzes converge pour f seulement
continue sur [a, b] .

6.3 Méthode de Simpson


Thomas Simpson (1710-1761), mathématicien anglais.
Tout comme la méthode des trapèzes, la méthode de Simpson est également
une méthode composite. La formule de base consiste à interpoler f sur les 3
abscisses équidistantes x2i , x2i+1 , x2i+2 et approcher
Z x2i+2 Z x2i+2
f (x)dx par Pi (x)dx
x2i x2i

où Pi est le polynôme de degré inférieur ou égal à 2 interpolant f en ces abscisses.


On obtient
Z x2i+2
h
Pi (x)dx = [f (x2i ) + 4f (x2i+1 ) + f (x2i+2 )]
x2i 3
Soit donc xi = a + ih i = 0, ..., n avec n pair, une subdivision de l’intervalle [a, b] .
n n
X Z x2i+2
−1 −1
2
h 2X
Pi (x)dx = [f (x2i ) + 4f (x2i+1 ) + f (x2i+2 )]
i=0 x2i 3 i=0

D’où la formule de Simpson:


h
In = [f (x0 ) + 4f (x1 ) + 2f (x2 ) + ... + 2f (xn−2 ) + 4f (xn−1 ) + f (xn )]
3
90 CHAPITRE 6. INTÉGRATION NUMÉRIQUE

Les principales propriétés sont données dans le théorème qui suit.


Théorème: 1) Pour toute fonction continue, la méthode est stable et conver-
gente.
2) Si f est de classe C 4 alors:

b − a (4)
In − I = h4 f (α) où α ∈ [a, b] .
180

Nous voyons que la formule est exacte pour tout polynôme de degré inférieur
ou égal à 3.
R √
Exercice1: Soit à calculer l’integrale I = 12 xdx, par la méthode des
trapèzes. Pour cela on décompose l’intervalle [a, b] en dix parties égales.
1) Estimer l’erreur qui en résultera. √ √
√ 2) Calculer I
√10 en utilisant√les valeurs suivantes:
√ 1.1 = 1.049,
√ 1.2 =√1.095,
1.3 =√1.140, 1.4√ = 1.183, 1.5 = 1.225, 1.6 = 1.265, 1.7 = 1.304 1.8 =
1.342, 1.9 = 1.378 2 = 1.414.
3) Estimer l’erreur qui résulterait de la méthode de Simpson.
R
Exercice2: Soit l’intégrale I = 01 3x2 dx.
1) Evaluer I par la méthode des trapèzes en prenant h = 0.1.
2) Quel est le nombre de chiffres exacts?
R
Exercice3: Comme valeur approchée de l’intégrale I = ab f (x)dx, on prend
h i
b−a
J= 6
f (a) + 4f ( a+b
2
) + f (b)

1) Donner l’expression du polynôme d’interpolation de f aux abscisses a, a+b 2


et b.
2) Déduire que J = I sur l’ensemble des polynômes de degré inférieur ou égale
à 2.
R
3) Soit I = 00,4 4x3 dx. On prend h = 0.2.
i) Que donne la méthode des trapèzes?
ii) Que donne la formule J?
iii) Comparer les erreurs relatives.
R
Exercice4: Trouver les nombres c et α tels que: ab f (x)dx = cf (α) pour tout
polynôme de degré inférieur ou égale à 1.
Exercice5: On déforme une plaque d’aluminium lui donnant des ondulations
suivant la fonction sinus. La plaque ainsi ondulée doit s’étendre sur 4m.
1) Que doit être la longueur de la plaque?
6.3. MÉTHODE DE SIMPSON 91

2) Encadrer l’intégrale obtenue.


3) Que doit être le pas h pour que la méthode des trapèzes fournisse une
approximation au centimètre prés?
3) Reprendre la question 3) en optant pour la formule de Simpson.
92 CHAPITRE 6. INTÉGRATION NUMÉRIQUE
Chapitre 7

Equations différentielles

Les méthodes connues pour résoudre explicitement les équations différentielles,


s’utilisent d’une façon effective pour des équations d’un type particulier et dont
l’expression est relativement simple. Plusieurs équations apparaissant dans les
applications ne peuvent pas être résolues par ces méthodes. Un exemple simple
est l’équation d’un pendule
g
θ′′ + sin θ = 0,
l
ou pour ne considérer que les équations du premier ordre
2g
(θ′ )2 − cos θ = λ.
l
Cette dernière équation traduit l’énergie totale du pendule et ne peut être résolue
explicitement que pour λ = 2gl .

7.1 Cadre général


Nous considérons dans ce qui suit les équations différentielles de la forme

y ′ = f (x, y), x ∈ [a, b]


y(a) = y0 donné

C’est le problème de Cauchy.


Pour assurer l’existence et l’unicité de la solution, nous supposons pour toute
la suite que
f : [a, b] × R → R

93
94 CHAPITRE 7. EQUATIONS DIFFÉRENTIELLES

est continue et k-lipschitzienne en sa deuxième variable:


∃k ≥ 0tel que∀x ∈ [a, b] ∀y, z ∈ R, |f (x, y) − f (x, z)| ≤ k |y − z| .
La résolution numérique consiste à se donner des abscisses
x0 = a, x1 , ..., xN −1 , xN = b dans [a, b] et de trouver y1 , ..., yN des valeurs ap-
prochées respectivement de y(x1 ), ..., y(xN ).
L’écart hn = xn+1 − xn , qu’on appelle le pas, est souvent variable. Mais par
souci de simplicité, nous prenons les xi équidistantes: xi = a + ih avec h = b−a N
(pas constant).
Une classe importante de méthodes numériques se présente sous la forme
yn+1 = yn + hΦ(h, xn , yn )
y0 donné
où la fonction Φ est continue de ces trois variables et lipschitzienne par
rapport à y .
Parmi ces méthodes figure la méthode d’Euler.

7.2 Méthode d’Euler


Léonhard Euler (1707-1783), mathématicien suisse.
Il est question de trouver des nombres y1 , ...yN en tant que valeurs approchées
respectives de y(x1 ), ..., y(xN ).
La tangente à la courbe de y au point (xn , y(xn )) est

z = y(xn ) + (x − xn )y (xn )
= y(xn ) + (x − xn )f (xn , y(xn ))
Pour x = xn+1 on obtient
z(xn+1 ) = y(xn ) + hf (xn , y(xn ))
Comme y(xn ) est inconnue, remplaçons celle-ci dans z(xn+1 ) par son approx-
imation yn . La valeur obtenue est prise comme approximation de y(xn+1 ) et on
la note yn+1 .
Méthode d’Euler
y0 donné
yn+1 = yn + hf (xn , yn ) pour n = 0, ..., N.
Une méthode est considérée intéressante, s’elle satisfait certaines conditions.
Nous en examinons quelques unes.
7.2. MÉTHODE D’EULER 95

7.2.1 Consistance
Définition1: Une méthode yn+1 = yn + hΦ(h, xn , yn ) est dite consistante avec le
problème de Cauchy si pour toute solution y de l’équation

y ′ (x) = f (x, y),

N
X −1
lim |y(xn+1 ) − y(xn ) − hΦ(h, xn , y(xn ))| = 0
h→0
i=0

Définition: La quantité

ǫn = y(xn+1 ) − y(xn ) − hΦ(h, xn , y(xn ))

est appelé l’erreur de consistance à l’instant xn .


Remarque: L’erreur de consistance est dite aussi l’erreur par pas. Cela
vient du fait que l’erreur de consistance traduit la différence entre y(xn+1 ) et
yn+1 lorsque dans cette dernière yn coı̈ncide avec y(xn ).
Théorème1: Si f est de classe C 1 , l’erreur de consistance de la méthode
d’Euler est:
h2 [′]
ǫn = f (xn ) + ◦(h2 ).
2
[′] ′ ′
où f = fx + fy f.
Preuve: f étant de classe C 1 , y est donc de classe C 2 . La formule de Taylor
donne
h2
y(xn+1 ) − y(xn ) = hy ′ (xn ) + y ′′ (xn ) + ◦(h2 ).
2
Or
y ′ (xn ) = f (xn , y(xn ))
et

y ′′ (xn ) = fx (xn , y(xn )) + fy′ (xn , y(xn ))f (xn , y(xn )).
D’où le résultat.
Théorème2: La méthode d’Euler est consistante.
Preuve: On a

y(xn+1 − y(xn ) = hf (xn + tn h, y(xn + tn h) où tn ∈ [0, 1] .


96 CHAPITRE 7. EQUATIONS DIFFÉRENTIELLES

Soit K = {(x, z) : x ∈ [a, b] , z = y(x)}. K est un compact et comme f est con-


tinue, elle y est uniformément continue.
Soit donc ǫ > 0.

∃η1 , ∃η2 : (x, t), (s, z) ∈ [a, b] et |x − s| ≤ η1 ,


ǫ
|y − t| ≤ η2 ⇒ |f (x, t) − f (s, y)| ≤
b−a
La continuité uniforme de y sur [a, b] entraı̂ne:

∃τ ≤ η1 : |x − s| ≤ τ ⇒ |y(x) − y(s)| ≤ η2 .

Donc
ǫ
∀h ≤ τ |f (xn + tn h, y(xn + tn h) − f (xn , y(xn ))| ≤
b−a
Donc
N
X −1
|y(xn+1 ) − y(xn ) − hf (xn , y(xn ))| =
i=0
N
X −1
ǫ
h |f (xn + tn h, y(xn + tn h)) − f (xn , y(xn ))| ≤ hN = ǫ.
i=0 b−a
D’où la consistance.

7.2.2 Convergence
Définition: Une méthode yn+1 = yn + hΦ(h, xn , yn ) est convergente si

lim ( max |y(xn ) − yn |) = 0


h→0 0≤n≤N

Proposition: La méthode d’Euler est convergente.


Preuve: Le fait que f est continue, y de classe C 1 et les xn sont dans le
compact [a, b], on peut assurer que

∀ε > 0 ∃H > 0: h ≤ H ⇒ ∃εn ≤ ε : y(xn+1h)−y(xn ) = f (xn , y(xn )) + εn pour


n = 0, ..., N − 1

Donc
7.2. MÉTHODE D’EULER 97

y(xn+1 ) − yn+1 = y(xn ) − yn + h[f (xn , y(xn )) − f (xn , yn )] + hεn

f est en plus k-contractante, on obtient

|y(xn+1 ) − yn+1 | ≤ (1 + hk) |y(xn ) − yn | + hε

Récursivement, on obtient
(1+hk)n −1
|y(xn+1 ) − yn+1 | ≤ (1 + hk)n |y(x0 ) − y0 | + k
ε
k(b−a)
≤ e k −1 ε

D’où la convergence.

7.2.3 Ordre
Définition: Une méthode yn+1 = yn + hΦ(h, xn , yn ) est dite d’ordre p si

y(x
n+1 ) − y(xn )
max

∃M indépendant de h tel que − Φ(h, xn , y(xn ) ≤ M hp
0≤n≤N h

Proposition1: Si f est de classe C 1 , la méthode d’Euler est d’ordre un.


Preuve:
y(xn+1 )−y(xn )
h h
= f (xn , y(xn )) + h2 y ′′ (tn ) i
= f (xn , y(xn )) + h2 ∂x f (tn , y(tn )) + f (tn , y(tn )) ∂y

f (tn , y(tn ))

où tn ∈ [a, b] .
f étant de classe C 1 , y ′′ est alors bornée sur [a, b]:



∃M tel que maxt∈[a,b] ∂x f (tn , y(tn )) + f (tn , y(tn )) ∂y f (tn , y(tn )) ≤ M

Comme Φ(h, xn , y(xn ) = f (xn , y(xn )) on a



max0≤n≤N y(xn+1h)−y(xn ) − Φ(h, xn , y(xn ) ≤ M h.

Proposition2: Si f est de classe C 1 alors

∃M indépendant de h tel que max |yn − y(xn )| ≤ M h.


0≤n≤N

Preuve: La méthode d’Euler est d’ordre un, donc


98 CHAPITRE 7. EQUATIONS DIFFÉRENTIELLES

y(xn+1 ) = y(xn ) + hf (xn , y(xn )) = αn h2

avec |αn | ≤ M .
d’un autre côté

yn+1 = yn + hf (xn , yn )

Donc

y(xn+1 ) − yn+1 = y(xn ) − yn + h[f (xn , y(xn )) − f (xn , yn )] + h2 αn


|y(xn+1 ) − yn+1 | ≤ (1 + hk) |y(xn ) − yn | + h2 M

En continuant la récursion, on obtient

(1+hk)n+1
|y(xn+1 ) − yn+1 | ≤ (1 + hk)n+1 |y(x0 ) − y0 | + k
Mh
k(b−a)
≤ e k −1 )M h

7.2.4 Stabilité numérique


Définition: Une méthode yn+1 = yn + hΦ(h, xn , yn ) est dite numériquement
stable, si la méthode appliquée à l’équation différentielle

y ′ = −y, x ∈ [0, +∞[


y(0) = y0 quelconque

donne une suite


(yn ) telle que lim yn = 0, ∀y0 .
n→+∞

En général, une méthode est numériquement stable pour un pas h limité.


Définition: 1-L’ensemble des valeurs de h pour lesquelles la méthode est
numériquement stable est appelé le domaine de stabilité.
2- On appelle rayon de stabilité, le plus grand réel R tel que la méthode est
numériquement stable pour tout h ∈]0, R[.
Proposition: Le rayon de stabilité de la méthode d’Euler est R = 2.
Preuve: La méthode d’Euler appliquée à l’équation différentielle y ′ = −y
donne
7.2. MÉTHODE D’EULER 99

yn+1 = yn − hyn
= (1 − h)n+1 y0

Donc, limn→+∞ limyn = 0, ∀y0 si et seulement si h ∈]0, 2[.

Exercice1: On considère l’équation différentielle

y ′ = 3y + 1, x ∈ [0, T ] ; y(0) donné.


1)Donner la solution explicite de l’équation.
2) Que vaut l’erreur si y(0) est remplacée par y0 = y(0) + ǫ ?
Soit xi = ih pour i = 0, ..., N ; une subdivision de [0, T ]
3) Montrer que la suite générée par la méthode d’Euler est:
(1 + 3h)n − 1
yn = (1 + 3h)n y(0) + .
3
4) On remplace y(0) par une valeur approchée y0 . Soit (zn ) la suite obtenue .
i) Que vaut yN − zN ?
ii) Supposons que T = 1. De quelle ordre doit être ǫ pour que l’erreur yN − zN
soit inférieure ou égale à 10−4 ?
iii) Inversons le problème. Supposons cette fois-ci que ǫ = 10−6 . Que doit
être la longueur maximale de l’intervalle [0, T ] pour que yn − zn ≤ 10−4 pour
n = 1, ..., N ?

Exercice2: Le fond d’un réservoir de capacité 300 l est recouvert de sucre


granulé. On remplit le réservoir d’eau.
Soit ct la concentration de la solution après t minutes. On suppose que:
- La concentration de la solution saturée est cs = 13 kgl .
- La quantité d’eau présente permet de dissoudre 31 kg de sucre par minute.
- La vitesse de dissolution est proportionnelle à cs − ct .
1) Trouver la quantité de sucre dissoute après une heure.
2) On considère l’équation différentielle
x
y ′ = 1.002( 13 − 300 ), x ∈ [0, T ] ; y(0) = 0. i) Ecrire la méthode d’Euler.
2i) Exprimer yn en fonction de y0 et le pas h.
3i) La méthode est-elle trop sensible à des erreurs sur les valeurs 13 et 1.002?
4i) Que peut-on prendre comme pas maximal pour arriver à t = 60?
Indications:
1 x 299
y ′ = k( − ), exp(60 log( )) = 0.8184....y(60) = 18, 1...kg.
3 300 300
100 CHAPITRE 7. EQUATIONS DIFFÉRENTIELLES

Exercice3: La vitesse de désintégration du radium est proportionnelle à sa quan-


tité initiale. On sait qu’après 1600 ans sa quantité est réduite de moitié.
1) Trouver le pourcentage de la quantité désintégrée au bout de 100 ans.
2) Soit (yn ) la suite obtenue par la méthode d’Euler, avec un pas constant
h = 100 ans.
Estimer le pourcentage de radium désintégré en 100 ans et comparer avec la
question1.
Indications:
1 t 1 1
y ′ = ky, y = y(0)( ) 1600 , ( ) 16 = 0.9576...
2 2
Exercice4: Soit à résoudre l’équation différentielle
y ′ = f (x, y), x ∈ [0, T ] ; y(0) donné.
On suppose que l’équation possède une et une seule solution et que f est suff-
isamment différentiable. On considère la méthode définie par
h h
yn+1 = yn + hf (xn + , yn + f (xn , yn )) n = 0, ...N ; y0 donné.
2 2
1) Déterminer le rayon de stabilité.
2) Ecrire le développement de Taylor à l’ordre 2 d’une fonction g(x, z) au
voisinage d’un point (x0 , z0 ).
3) y étant la solution de l’équation différentielle donnée plus haut, faire un
développement de Taylor à l’ordre 2 de
h h
f (xn + , yn + f (xn , yn ))
2 2
au voisinage de (xn , yn ).
4) Déduire que l’erreur de consistance est un O(h2 ).
5) On prend f (x, y) = −y + 1.
i) Montrer que
h2 n
yn = 1 + (y0 − 1)(1 − h + ) n = 0, ...N.
2
ii) Résoudre explicitement l’équation différentielle.
iii) Montrer que yn peut être obtenue en approchant la solution exacte à partir
d’un développement de Taylor.
iv) Soit (zn ) la suite obtenue par la méthode d’Euler. Reprendre les questions
analogues à i) et iii) pour (zn ).
! "
# $

% & '
(& )
)

% & & $
'
!
*

!! " #
$ %

+ ' , "
- & ./
+ 01 2
!
& ! ! ' ( )
3 .
3 * 4
& ! * +%

" # $ $

+)
,!! " ! ' ( " %

% &
)
) !-.
5 ) "
""
) / !

' ( ))
+
+ 0
$
$
( $
5 ) $"
* & 2
103 BIBLIOGRAPHIE

B ibliogr aphie

1 Cl aude B r ezinsk i, Introduction à la pratique du calcul numérique, Dunod,1988.

2 A ndr é Ross, Mathématiques Appliquées à l’informatique, Le Gri on d’argile,


Canada, 2001.
3 Jean Pier r e D emal l y , Analyse numérique et équations di érentielles,
Press Université de Grenoble, 1996.
4 Richar d L . B ur den, J. Dougl as Fair es, Numerical analysis, PWS-
KENT Publishing Company, Boston, 1989.
5 Nor ber t K öck l er , Numerical methods and scienti•c computing. Using
software libraries for problem solving, Oxford Science publications, 1994.
6 V . V o¨•évodine, Principes numériques de l’algèbre linéaire, Edition MIR.
Moscou, 1980.
7 G.B ar anenk ov ,R.Chost ak ,B .D émidov t ch,V .Ef imemk o,S.Fr ol ov ,
S.K ogan,G.L ount z,E.Por chn éva,E.Sy t ch éva,A .Yanpol sk y , Recueuil
d’exercices et de problèmes d’analyse mathématique, Editions Mir. Moscou, 1984.
8 Jacques B ar anger et A l ., Analyse numérique, Hermann, 1991.
9 M ichael M et cal f and John Reid, FORTRAN 90/ 95 explained, Oxford
university press, 2000.

N .B .: Les ouvrages sus-mentionnés sont donnés à titre seulement indicatif.

Vous aimerez peut-être aussi