Vous êtes sur la page 1sur 4

ENSET Mohammedia – Département mathématiques et informatique

Cours d’analyse numérique

Chapitre I

Arithmétique des ordinateurs et analyse d’erreurs

I- Introduction

Nous nous sommes habitués à résoudre de façon analytique un certain nombre de problèmes
mathématiques comme, par exemple, la résolution d’une équation du second degré. Pour des
problèmes plus compliqués, l’analyse numérique fournit plusieurs techniques de résolution
utilisant des algorithmes.
Un ordinateur ne peut fournir que des solutions approximatives. Ces approximations
dépendent des contraintes physiques (espace mémoire,…) et du choix des méthodes retenues
par le programmeur.
Le but de ce chapitre est de prendre connaissance des contraintes liées à la machine et des
choix méthodologiques.

II- Erreurs
1. Erreurs de modélisation
Pour un problème donné, l’étape la plus importante est la modélisation. Elle traduit en
équation ou inéquation le problème observé.
Pour la résolution, il est parfois nécessaire de simplifier le modèle obtenu ce qui entraine une
erreur de modélisation.

2. Erreurs liées à la représentation.


Dans la mémoire d’un ordinateur, les nombres réels sont représentés en notation flottante.
En base 10, les nombres réels sont représentés sous la forme : ±0. 𝑑1 𝑑2 ⋯ 𝑑𝑛 ×
10𝑞 𝑜𝑢 ±. 𝑑1 𝑑2 ⋯ 𝑑𝑛 × 10𝑞

• 𝑛 ∈ ℕ , 𝑞 ∈ ℤ , 𝑒𝑡 𝑑𝑖 ∈ ℕ , ∀𝑖 ∈ {1,2, ⋯ , 𝑛} ;
• 0 ≤ 𝑑𝑖 ≤ 9 , ∀𝑖 ∈ {1,2, ⋯ , 𝑛} ;
• 𝑑1 ≠ 0 sauf si le nombre est nul ;
• −𝑁 < 𝑞 < 𝑁 , 𝑁 ∈ ℕ.

1/4
Pr Ahmed. Tadlaoui
ENSET Mohammedia – Département mathématiques et informatique
Cours d’analyse numérique

C’est la notation en virgule flottante. Les valeurs des entiers 𝑛 et 𝑁 dépendent de la puissance
de la machine.

Définition : Soit 𝑥 = ±0. 𝑑1 𝑑2 ⋯ 𝑑𝑛 × 10𝑞 . le nombre 0. 𝑑1 𝑑2 ⋯ 𝑑𝑛 est appelé « la mantisse


de 𝑥 », 𝑑𝑖 son iième digit et 𝑞 l’exposant de 𝑥.

1
Exemple : 𝑦 = 15 = 0.066666 ⋯

Ce nombre sera converti en un nombre réel qu’on appelle flottant de 𝑦 noté 𝑓𝑙(𝑦).
Dans le cas d’une représentation tronquée nous aurons, pour 𝑛 = 5, 𝑓𝑙(𝑦) = 0.66666 × 10−1
𝑋−𝑓𝑙(𝑋)
Dans ce cas l’erreur absolue |𝑋 − 𝑓𝑙(𝑋)| est de 6 × 10−7 . L’erreur relative | | est de
𝑋

l’ordre de 10−5.
Dans le cas d’une représentation tronquée à 𝑛 chiffres, l’erreur relative maximale est de
l’ordre de 10−𝑛 .
Dans une représentation arrondie, lorsque la première décimale négligée est supérieure à 5, on
ajoute 1 à la dernière décimale conservée..

1
Exemple : 𝑥 = 15 = 0.066666 ⋯

𝑓𝑙(𝑥) = +0.66667 × 10−1


L’erreur absolue : 3.333 × 10−7
L’erreur relative : 5 × 10−6
En général, l’erreur relative dans une représentation arrondie à n chiffres est 5 × 10−(𝑛+1) soit
la moitié de celle d’une représentation tronquée.

3. Effets des erreurs d’arrondi

1
Exemple : Calcul des termes de la suite 𝐼𝑛 = ∫0 𝑥 𝑛 𝑒 −𝑥 𝑑𝑥

• Première méthode : on fait une intégration par parties et on obtient la relation de


récurrence
1
𝐼𝑛 = − + 𝑛𝐼𝑛−1
𝑒

1
En partant de 𝐼0 = 1 − 𝑒 , on calcule successivement 𝐼1 , 𝐼2 , ⋯ , 𝐼𝑛 . Il est donc naturel de

commencer par utiliser la même méthode pour un calcul numérique.

2/4
Pr Ahmed. Tadlaoui
ENSET Mohammedia – Département mathématiques et informatique
Cours d’analyse numérique

On voit tout d’abord que les valeurs de 𝐼𝑛 ainsi calculées sont décroissantes pour les
premières valeurs de , pour ensuite se mettre à croître violemment. On peut voir aussi, si
l’on dispose de plusieurs ordinateurs ou plusieurs calculatrices, que les résultats obtenues
sont très différents d’une machine à l’autre.
Mathématiquement on a la majoration suivante :
1
1
|𝐼𝑛 | ≤ ∫ 𝑥 𝑛 𝑑𝑥 = → 0
0 𝑛 + 1 𝑛→∞
Les valeurs de 𝐼𝑛 obtenues numériquement par notre méthode deviennent très grande, cela
signifie qu’elles sont complètement fausses.
1
En examinant de plus près la relation de récurrence 𝐼𝑛 = − 𝑒 + 𝑛𝐼𝑛−1 on voit qu’au

moment de calculer 𝐼𝑛 , l’erreur commise sur 𝐼𝑛−1 est multipliée par 𝑛. Ainsi quand on
arrive au calcul de 𝐼𝑛 , l’erreur commise sur 𝐼0 a été multipliée par 𝑛!. Cette erreur initiale
a beau être très petite, multipliée par 𝑛!, elle devient vite catastrophique. C’est ce que l’on
observe effectivement.
• Deuxième méthode : on utilise le fait que 𝐼𝑛 → 0. On prend une valeur 𝑁 ≫ 𝑛, 𝑛
𝑛→∞

valeur pour laquelle on veut calculer 𝐼𝑛 . Et l’on part de 𝐼𝑁 = 0, pour utiliser ensuite la
récurrence à l’envers, calculant ainsi successivement 𝐼𝑁−1 , 𝐼𝑁−2 , … , 𝐼𝑁+1 et enfin 𝐼𝑛 .
La relation de récurrence à l’envers s’écrit
1 1
𝐼𝑛−1 = ( + 𝐼𝑛 )
𝑛 𝑒
on voit que l’erreur initiale sur 𝐼𝑁 est divisée successivement par
𝑁(𝑁 − 1)(𝑁 − 2) ⋯ (𝑛 + 1). Tendent bien vers 0 quand 𝑛 tend vers l’infini. On observe
en outre, que d’un ordinateur à l’autre les valeurs obtenues sont bien les mêmes, sauf pour
les dernières décimales éventuellement.
4. Opérations arithmétiques
Pour effectuer une opération sur deux nombres réels, on effectue l’opération sur leurs
représentations flottantes et on prend ensuite la représentation flottante du résultat.
• Addition flottante : 𝑥 ⊕ 𝑦 = 𝑓𝑙(𝑓𝑙(𝑥) + 𝑓𝑙(𝑦))
• Soustraction flottante : 𝑥 ⊖ 𝑦 = 𝑓𝑙(𝑓𝑙(𝑥) − 𝑓𝑙(𝑦))
• Multiplication flottante : 𝑥 ⊗ 𝑦 = 𝑓𝑙(𝑓𝑙(𝑥) × 𝑓𝑙(𝑦))
• Division flottante : 𝑥 ÷ 𝑦 = 𝑓𝑙(𝑓𝑙(𝑥)/𝑓𝑙(𝑦))

3/4
Pr Ahmed. Tadlaoui
ENSET Mohammedia – Département mathématiques et informatique
Cours d’analyse numérique

Pour l’addition et la soustraction, l’ordinateur modifie l’exposant du plus petit terme en valeur
absolue de telle sorte à avoir le même que celui du plus grand terme. Ensuite, il fait
l’opération.
Exemples :
1) 𝑥 = 0.547023 × 10−1 𝑦 = 0.310275 × 10−3

|𝑦| < |𝑥| , on écrit alors 𝑦 = 0.003102 × 10−1

La valeur de 𝑥 + 𝑦 est alors : 0.550125 × 10−1

2) 𝑥 = 0.325126 × 10−1 𝑦 = 0.106718 × 10−3

La valeur de 𝑥 × 𝑦 est arrondie à 0.346968 × 10−5

Attention ! l’addition flottante n’est pas associative.

Exemple : Pour 4 chiffres significatifs (𝑛 = 4) on a : (1 + 0.0005) + 0.0005 = 1.000

Car
0.1 × 101 + 0.5 × 10−3 = 0.1 × 101 + 0.00005 × 101 = 0.1 × 101 + 0.0000 × 101
= 0.1 × 101

Et
1 + (0.0005 + 0.0005) = 1.001

On constate aussi que la distributivité de la multiplication par rapport à l’addition n’est pas
respectée en arithmétique flottante.

Exemple : En arithmétique flottante à 3chiffres (𝑛 = 3) et arrondi on obtient :


122 × (333 + 695) = 𝑓𝑙(122) × 𝑓𝑙(1028) = 122 × 103 × 101 = 𝑓𝑙(125660)
= 126 × 103

Et
(122 × 333) + (122 × 695) = 𝑓𝑙(40626) + 𝑓𝑙(84790) = 406 × 102 + 848 × 102
= 𝑓𝑙(406 + 848) × 102 = 𝑓𝑙(1254) × 102 = 125 × 103

4/4
Pr Ahmed. Tadlaoui