Vous êtes sur la page 1sur 49

Cours I : Introduction à l’Analyse Numérique

License Sciences des Données 2

Loubna Salhi

Année académique 2020-2021


Plan du cours

I. Motivations

II. Représentation des réels sur ordinateur

- Représentation binaire

- Calculs aux virgules flottantes

III. Mesure de l’erreur dans le calcul numérique

- Erreur relative, Erreur d’arrondi

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 2 / 25


I. Motivations

L’analyse numérique est la discipline qui permet de simuler


des phénomènes complexes et représentatifs de la réalité.

L’objectif est de reproduire sur un ordinateur cette réalité


avec un niveau de précision poussé afin de créer un modèle
dont l’exploitation pourrait fournir une solution approximatif
mais pragmatique.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 3 / 25


I. Motivations

L’analyse numérique est la discipline qui permet de simuler


des phénomènes complexes et représentatifs de la réalité.

L’objectif est de reproduire sur un ordinateur cette réalité


avec un niveau de précision poussé afin de créer un modèle
dont l’exploitation pourrait fournir une solution approximatif
mais pragmatique.

Exemples d’application de l’analyse numérique :

- L’environnement: prévision des risques naturels.


- L’hydrogéologie: prévision de contamination des eaux.
- La météorologie: simulation du climat.
- Les installation industrielles: Contrôle de paramètres.
- En Biologie et médecine : évolution des épidémies.
- ···

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 3 / 25


I. Motivations

Pourquoi a t-on besoin de l’analyse numérique ?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 4 / 25


I. Motivations

Pourquoi a t-on besoin de l’analyse numérique ?

Exemple 1: Oscillation d’un pendule linéaire

- Équation :
( g
θ00 (t) + sin(θ(t)) = 0,
L
θ(0) = θ0 , θ0 (0) = θ1

- Solution exacte ?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 4 / 25


I. Motivations

Pourquoi a t-on besoin de l’analyse numérique ?

Exemple 1: Oscillation d’un pendule linéaire

- Équation :
( g
θ00 (t) + sin(θ(t)) = 0,
L
θ(0) = θ0 , θ0 (0) = θ1

- Solution exacte ?
- Solution approximative pour θ  1 : sin(θ(t)) ≈ θ(t)

00 g
θ (t) + θ(t) = 0,

 L r s r
g L g

 θ(t) = θ0 cos( t) + θ 1 sin( t)
 L g L

- On a recours à une approximation numérique de la solution !

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 4 / 25


I. Motivations

Exemple 2: Intégrale de Gauss


Z 3 2
e−x dx
1
−x2
La fonction x 7→ e est continue sur [1, 3], donc intégrable.

Peut-on calculer cette intégrale d’une manière exacte ?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 5 / 25


I. Motivations

Exemple 2: Intégrale de Gauss


Z 3 2
e−x dx
1
−x2
La fonction x 7→ e est continue sur [1, 3], donc intégrable.

Peut-on calculer cette intégrale d’une manière exacte ?

Exemple 3: Équation non linéaire

(E) : x3 − 2x − 5 = 0

Posons : f (x) = x3 − 2x − 5, f (2) = −1 < 0 , f (3) = 16 > 0.

Théorème des valeurs intermédiaires: ∃x ∈]2, 3[ tel que f (x) = 0.

Peut-on calculer la solution exacte de (E) ?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 5 / 25


I. Motivations

De la modélisation mathématique à la simulation numérique

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 6 / 25


Représentation des réels sur ordinateur Représentation binaire

Un peu d’histoire ...

Depuis des milliers d’années, la plupart des sociétés ont créé des
outils servant à calculer en utilisent la main, d’où le système de
numération utilisant la base 10 ou bien le système décimal.

Le Boulier: un des plus anciens


instruments mécaniques d’aide au
calcul de l’histoire de l’humanité.

La Pascaline: première calculatrice


mécanique inventée par Blaise Pascal en
1642.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 7 / 25


Représentation des réels sur ordinateur Représentation binaire

Système de numérotation décimale

L’écriture des nombres s’effectue toujours en précisant les


symboles utilisés (alphabet) et les règles d’association de ces
symboles.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 8 / 25


Représentation des réels sur ordinateur Représentation binaire

Système de numérotation décimale

L’écriture des nombres s’effectue toujours en précisant les


symboles utilisés (alphabet) et les règles d’association de ces
symboles.

Dans le système de numération décimale, l’alphabet est


constitué de dix symboles :
Les dix chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 8 / 25


Représentation des réels sur ordinateur Représentation binaire

Système de numérotation décimale

L’écriture des nombres s’effectue toujours en précisant les


symboles utilisés (alphabet) et les règles d’association de ces
symboles.

Dans le système de numération décimale, l’alphabet est


constitué de dix symboles :
Les dix chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.
Exemple: Le nombre deux cent cinq s’écrit en base décimal
205 ou (205)10 :

205 = 2 × 102 + 0 × 101 + 5 × 100

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 8 / 25


Représentation des réels sur ordinateur Représentation binaire

Système de numérotation décimale

L’écriture des nombres s’effectue toujours en précisant les


symboles utilisés (alphabet) et les règles d’association de ces
symboles.

Dans le système de numération décimale, l’alphabet est


constitué de dix symboles :
Les dix chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.
Exemple: Le nombre deux cent cinq s’écrit en base décimal
205 ou (205)10 :

205 = 2 × 102 + 0 × 101 + 5 × 100

Le système décimal convient parfaitement aux humains, mais


moins pour les ordinateurs.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 8 / 25


Représentation des réels sur ordinateur Représentation binaire

Pourquoi le décimal ne convient pas aux ordinateurs ?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 9 / 25


Représentation des réels sur ordinateur Représentation binaire

Pourquoi le décimal ne convient pas aux ordinateurs ?

Les ordinateurs sont des machines électroniques dont les


composants de base sont les transistors.

Un transistor est un composant électronique qui permet le


passage ou non d’un courant électrique, et ainsi de distinguer
et représenter deux états.

Par convention on note ces deux états par 1 ou 0 selon que le


courant passe ou pas.

Les ordinateurs mémorisent les nombres sous forme de ces


deux états (0 ou 1).

⇒ Le système binaire convient mieux aux ordinateurs.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 9 / 25


Représentation des réels sur ordinateur Représentation binaire

Dans le système de numération binaire, l’alphabet est


constitué de deux chiffres : 0 et 1.

Exemple: Le nombre décimal 205 s’écrit en base binaire:


11001101 = 1 × 27 + 1 × 26 + 0 × 25 + 0 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20

Les chiffres binaires 0 et 1 sont appelés bits (binary digit).

Un octet est un nombre qui correspond en binaire à 8 bits.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 10 / 25


Représentation des réels sur ordinateur Représentation binaire

Dans le système de numération binaire, l’alphabet est


constitué de deux chiffres : 0 et 1.

Exemple: Le nombre décimal 205 s’écrit en base binaire:


11001101 = 1 × 27 + 1 × 26 + 0 × 25 + 0 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20

Les chiffres binaires 0 et 1 sont appelés bits (binary digit).

Un octet est un nombre qui correspond en binaire à 8 bits.

Dans un ordinateur, les nombres entiers sont codés dans une


séquence de N bits (en général 32 bits).

La première case est reservée pour le signe:



0 si le nombre est positif
1 si e nombre est négatif

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 10 / 25


Représentation des réels sur ordinateur Représentation binaire

Tout nombre entier admet une unique décomposition en somme


de puissances de 2.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 11 / 25


Représentation des réels sur ordinateur Représentation binaire

Tout nombre entier admet une unique décomposition en somme


de puissances de 2.

Le plus grand entier positif codé sur N bits est

= 1.2N−2 + 1.2N−3 + · · · + 1.20


= 2N−1 − 1

Les entiers relatifs codés sur N bits ont pour valeur dans

[−(2N−1 − 1), 2N−1 − 1].

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 11 / 25


Représentation des réels sur ordinateur Représentation binaire

Tout nombre entier admet une unique décomposition en somme


de puissances de 2.

Le plus grand entier positif codé sur N bits est

= 1.2N−2 + 1.2N−3 + · · · + 1.20


= 2N−1 − 1

Les entiers relatifs codés sur N bits ont pour valeur dans

[−(2N−1 − 1), 2N−1 − 1].

Exemple 1: Les entiers codés sur 16 bits ( simple précision) sont


compris entre −(215 − 1) et 215 − 1.

Exemple 2: Les entiers codés sur 32 bits ( double précision) sont


compris entre −(231 − 1) et 231 − 1.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 11 / 25


Représentation des réels sur ordinateur Représentation binaire

Un nombre entier n peut être représenté d’une manière


exacte sur N bits tant que :
−M ≤ n ≤ M avec M = 2N−1 − 1

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 12 / 25


Représentation des réels sur ordinateur Représentation binaire

Un nombre entier n peut être représenté d’une manière


exacte sur N bits tant que :
−M ≤ n ≤ M avec M = 2N−1 − 1

Une opération élémentaire (+, ∗, /) peut avoir un résultat non


représentable:
Si le résultat est trop grand ⇒ "Overflow".

Si le résultat est trop petit ⇒ "Underflow".

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 12 / 25


Représentation des réels sur ordinateur Représentation binaire

Un nombre entier n peut être représenté d’une manière


exacte sur N bits tant que :
−M ≤ n ≤ M avec M = 2N−1 − 1

Une opération élémentaire (+, ∗, /) peut avoir un résultat non


représentable:
Si le résultat est trop grand ⇒ "Overflow".

Si le résultat est trop petit ⇒ "Underflow".

Exemple 1: Addition des entiers 105 et 21 codés sur un octet.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 12 / 25


Représentation des réels sur ordinateur Représentation binaire

Un nombre entier n peut être représenté d’une manière


exacte sur N bits tant que :
−M ≤ n ≤ M avec M = 2N−1 − 1

Une opération élémentaire (+, ∗, /) peut avoir un résultat non


représentable:
Si le résultat est trop grand ⇒ "Overflow".

Si le résultat est trop petit ⇒ "Underflow".

Exemple 1: Addition des entiers 105 et 21 codés sur un octet.

(105)10 = (01101001)2 , (21)10 = (010101)2


La somme donne (1111110)2 ⇒ Aucun débordement.

Exemple 2: Addition des entiers 127 et 2 codés sur un octet.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 12 / 25


Représentation des réels sur ordinateur Représentation binaire

Un nombre entier n peut être représenté d’une manière


exacte sur N bits tant que :
−M ≤ n ≤ M avec M = 2N−1 − 1

Une opération élémentaire (+, ∗, /) peut avoir un résultat non


représentable:
Si le résultat est trop grand ⇒ "Overflow".

Si le résultat est trop petit ⇒ "Underflow".

Exemple 1: Addition des entiers 105 et 21 codés sur un octet.

(105)10 = (01101001)2 , (21)10 = (010101)2


La somme donne (1111110)2 ⇒ Aucun débordement.

Exemple 2: Addition des entiers 127 et 2 codés sur un octet.

(127)10 = (01111111)2 , (2)10 = (010)2


La somme donne (1000011)2 = −1 ⇒ Dépassement de capacité.
Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 12 / 25
Représentation des réels sur ordinateur Représentation binaire

Exercices

1. Combien d’entiers positifs peut-on coder en binaire sur 2 bits,


4 bits et un octet ?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 13 / 25


Représentation des réels sur ordinateur Représentation binaire

Exercices

1. Combien d’entiers positifs peut-on coder en binaire sur 2 bits,


4 bits et un octet ?

2. Convertir en binaire les nombres suivants : 13, −37 et 310.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 13 / 25


Représentation des réels sur ordinateur Représentation binaire

Exercices

1. Combien d’entiers positifs peut-on coder en binaire sur 2 bits,


4 bits et un octet ?

2. Convertir en binaire les nombres suivants : 13, −37 et 310.

3. Combien de chiffres binaires faut-il pour représenter le


nombre décimal 10000?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 13 / 25


Représentation des réels sur ordinateur Représentation binaire

Exercices

1. Combien d’entiers positifs peut-on coder en binaire sur 2 bits,


4 bits et un octet ?

2. Convertir en binaire les nombres suivants : 13, −37 et 310.

3. Combien de chiffres binaires faut-il pour représenter le


nombre décimal 10000?

4. Donner la valeur décimale des entiers relatifs suivants codés


en binaire :

(110101)2 , (01101001)2 , (1101100101110101)2

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 13 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Représentation des réels en base b

Les réels sont représentés sur ordinateurs par des nombres à


virgule flottante appelés aussi flottants.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 14 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Représentation des réels en base b

Les réels sont représentés sur ordinateurs par des nombres à


virgule flottante appelés aussi flottants.

La représentation en virgule flottante d’un réel x, noté x̃, dans une


base b s’écrit sous la forme:
x̃ = ±mb±e , avec b ≥ 2,

où m est la mantisse :
m = 0, d1 d2 · · · dN
avec N le nombre de décimales de la mantisse et


 0 6 di 6 b − 1 pour 1 6 i 6 N



d1 6= 0 ←− pour assurer l’unicité de la représentation


L l’exposant minimal
et e l’exposant (e ∈ Z) ; L 6 e 6 U où
U l’exposant maximal

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 14 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Dans un ordinateur, la mantisse m est normalisée:

m = 0, d1 d2 · · · dN
= d1 b−1 + d2 b−2 + · · · dN b−N
d1 d2 dN
= + 2 + ··· N
b b b

Remarque: Le système de représentation des réels flottants est


caractérisé par 4 entiers :

• La base b.
• Le nombre N de décimales dans la mantisse.
• L’exposant minimal L et maximal U.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 15 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

On note par Fb l’ensemble des réels flottants en base b.

Base décimale (b = 10): Les réels flottants f de l’ensemble F10


s’écrivent sous forme:

f = ±0, d1 d2 · · · dN × 10e (d1 ± 0)


= ±(d1 10−1 + d2 10−2 + · · · + dN 10N )10e
d1 d2 dN
= ±( + 2 + N )10e
10 10 10

Base binaire (b = 2): Les réels flottants f de l’ensemble F2


s’écrivent sous forme:

f = ±0, 1d2 · · · dN × 2e
= ±(2−1 + d2 2−2 + · · · + dN 2N )2e

avec L 6 e 6 U.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 16 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Représentation unique ?

Ordinateur : mémoire finie !

⇒ La mantisse est tronquée au bout de certains chiffres.

Les nombres réels ne peuvent pas être stockés de façon


exacte sur ordinateurs.

Exemple: Les nombres suivants possèdent une infinité de


décimales après la virgule:
1
= 0.3333.... et π = 3.14159265...
3

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 17 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Exercices

1. Donner la représentation en virgule flottante en base b = 10


des nombres réels suivant :
17, 324 , 0, 00052 , −π = −3, 14159 · · ·

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 18 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Exercices

1. Donner la représentation en virgule flottante en base b = 10


des nombres réels suivant :
17, 324 , 0, 00052 , −π = −3, 14159 · · ·

2. Donner la représentation en virgule flottante en base b = 2


des nombres réels suivants :
0, 375 ; 0, 625 ; 8, 625 ; 78, 125

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 18 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Exercices

1. Donner la représentation en virgule flottante en base b = 10


des nombres réels suivant :
17, 324 , 0, 00052 , −π = −3, 14159 · · ·

2. Donner la représentation en virgule flottante en base b = 2


des nombres réels suivants :
0, 375 ; 0, 625 ; 8, 625 ; 78, 125

3. Montrer que l’ensemble des flottants à base 2 possède un


plus grand flottant fmax et un petit flottant fmin tel que :
∀f ∈ F2 ; fmin 6 |f | 6 fmax
avec fmin = 2 L−1
et fmax = 2U (1 − 2−N ) ' 2U .

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 18 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Exercices

1. Donner la représentation en virgule flottante en base b = 10


des nombres réels suivant :
17, 324 , 0, 00052 , −π = −3, 14159 · · ·

2. Donner la représentation en virgule flottante en base b = 2


des nombres réels suivants :
0, 375 ; 0, 625 ; 8, 625 ; 78, 125

3. Montrer que l’ensemble des flottants à base 2 possède un


plus grand flottant fmax et un petit flottant fmin tel que :
∀f ∈ F2 ; fmin 6 |f | 6 fmax
avec fmin = 2 L−1
et fmax = 2U (1 − 2−N ) ' 2U .

4. Construire l’ensemble F2 à base 2 des réels flottants pour


N = 3 et e ∈ [−1, 2].

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 18 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Correction de l’exercice 4:
Les flottants de l’ensemble F2 s’écrivent :

f = ±0, 1d2 d3 × 2e avec −16e62

L’ensemble fini F2 a pour cardinal: 2N (U − L + 1) + 1 = 33.


Soit, 16 flottants positifs + 16 flottants négatifs + le zéro.
Remarque: Les flottants positifs ne sont pas espacés
régulièrement.

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 19 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Notion d’arrondi

Soit x un réel tel que x ∈ [fmin , fmax ].


Le réel x peut être représenté par le flottant f ∈ F2 en effectuant
un arrondi c’est à dire :

fl(x) = plus proche flottant f ∈ F2 de x

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 20 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Notion d’arrondi

Soit x un réel tel que x ∈ [fmin , fmax ].


Le réel x peut être représenté par le flottant f ∈ F2 en effectuant
un arrondi c’est à dire :

fl(x) = plus proche flottant f ∈ F2 de x

Exemple: Considérons l’ensemble des flottants F2 défini dans


l’exercice 4 pour N = 3 et e ∈ [−1, 2], on a :
7
fl(3, 4) = = 3, 5
2

fl(0, 94) = 1

1
fl(0, 2) = = 0, 25
4

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 20 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Précision machine

La précision d’une machine est mesurée par l’epsilon de son


microprocesseur, en abrégé eps.

Par convention, elle est définie par le plus petit nombre machine
eps tel que :
1 + eps > 1

eps est la distance qui sépare le nombre 1 du plus proche flottant


qui lui est supérieur.

Exemple: Dans l’exemple précédant de l’exercice 4 on a :

5 1
eps = dist (1, ) =
4 4

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 21 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Exercice:
1. Montrer que pour une mantisse comportant N bits, la
précision machine est :

eps = 21−N

2. Le logiciel Matlab utilise N = 53 bits pour la mantisse (double


précision). Quelle est la précision machine?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 22 / 25


Représentation des réels sur ordinateur Calculs aux virgules flottantes

Exercice:
1. Montrer que pour une mantisse comportant N bits, la
précision machine est :

eps = 21−N

2. Le logiciel Matlab utilise N = 53 bits pour la mantisse (double


précision). Quelle est la précision machine?

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 22 / 25


Mesure de l’erreur dans le calcul numérique Erreur relative, Erreur d’arrondi

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 23 / 25


Mesure de l’erreur dans le calcul numérique Erreur relative, Erreur d’arrondi

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 24 / 25


Mesure de l’erreur dans le calcul numérique Erreur relative, Erreur d’arrondi

Introduction à l’Analyse Numérique · LSD 2 · 2020-2021 25 / 25

Vous aimerez peut-être aussi