Vous êtes sur la page 1sur 29

Eléments d’Analyse Numérique

Pr. H. DOUZI & Pr. A. ARCHID

Département de Mathématiques
Filière SMP4

Faculté des Sciences Ibn Zohr, Agadir.

21 février 2015

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 1 / 29
Plan

1 Introuduction

2 Implémentation de méthodes numériques :


Compléxité-Précision-Stabilité

3 Représentation des nombres


Représentation binaire
Représentation à virgule flottante

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 2 / 29
Introuduction

Introuduction

Définition de l’analyse numérique


☞ L’analyse numérique est une discipline de mathématiques
appliquées, comprend deux mots, l’analyse qui fait référence aux
mathématiques et le mot numérique qui fait référence au traitement
informatique.

L’objectif de l’analyse numérique


☞ Elle s’intéresse à l’élaboration et l’étude de méthodes de calcul,
“ Agorithmes” permettant de résoudre des problèmes issus de
domaines variés (physique, chimie, biologie, économie...etc), et dont
on cherche à calculer la solution ou son approximation à l’aide d’un
ordinateur.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 3 / 29
Introuduction

Exemple : La prévision Météorologique

Les données collectées par les satellites et les stations


d’observations donne un aperçu sur l’état actuel du temps.
La simulation numérique permet à partir de cette état initiale de
prévoir le temps qui fera les jours suivants.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 4 / 29
Introuduction

Cette simulation est la mise en oeuvre sur ordinateur de méthodes


de résolutions numériques des équations mathématiques de la
mécanique de fluide (Equations de Navier-Stokes).

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 5 / 29
Introuduction

Utilité de l’Analyse Numérique


Résoudre des problèmes numériquement (c.-à-d., sur ordinateur) :
que l’on ne sait pas résoudre analytiquement :
Equation Algébrique : x5 + 4x2 + 6 = 0

Equations différentielles : sin(x)y ” + by + cy + d = 0.
Lorsque la solution analytique existe, mais elle est difficile à
obtenir (complexe) :
Exemple : Résolution d’un système linéaires Ax = b par le calcul
de l’inverse de A.
☞ Le nombre d’opérations augmente avec l’augmentation de
la taille du système. Il faudra donc utiliser une méthode de
résolution plus rapide comme la méthode de Gauss.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 6 / 29
Introuduction

lorsqu’on ne peut pas atteindre les solutions exactes de


certains problèmes.
☞ On cherche donc à calculer des solutions approchées, en
simplifiant ces problèmes pour obtenir des méthodes rapides. Par
exemple les méthodes itératives comme la méthode de Newton.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 7 / 29
Introuduction

Plan du cours
1 Résolution Numérique des systèmes linéaires par des méthodes
directes et itératives : Gauss, LU, Choleski, QR, Jacobi,
Gauss-Seidel...
2 Résolution Numérique d’équations non linéaires : Newton,
Lagrange...
3 Interpolation polynômiale : de Lagrange, Newton
et intégration numérique : Rectangle, Trapèze, Simpson...
4 Résolution Numérique des équations différentielles : Euler,
Runge-Kutta

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 8 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

Compléxité-Précision et Stabilité des algorithmes

1-Notion d’Algorithme
☞ Le mot Algorithme vient du nom du mathématicien Al
Khuwarizmi(780 − 850).
☞ Un algorithme est une suite finie d’opérations ou d’instructions,
où chacune d’elle peut être facilement intérprété par l’ordinateur.

Exemple : Résoudre l’équation : ax2 + bx + c = 0


Algorithme :
1- Calculer le discriminent : ∆ = b2 − 4ac
2- Si ∆ < 0 il n’y a pas de solution.
−b
3- Si ∆ = 0 la solution est donnée par x = .
2a √ √
−b + ∆ −b − ∆
4- Si ∆ > 0 la solution est donnée par x = ou x = .
2a 2a

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 9 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

☞ L’analyse numérique s’intéresse à l’élaboration des algorithmes


plus performants :
Plus rapides :
complexité des algorithmes.
complexité des problèmes.
Plus précis :
Erreur d’Arrondi (liée à la machine).
Erreur d’approximation (liée à l’algorithme).
Plus fiables :
stabilité d’un algorithme.

☞ En pratique, l’analyse numérique se propose d’étudier les


propriétés des algorithmes et leur programmation sur la machine.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 10 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

2-Compléxité

L’ exécution d’un programme sur une machine à un coût :


Le temps d’exécution( nombre d’opérations effectuées par
l’algorithme)
l’espace mémoire nécessaire pour stocker et traiter les données
d’un problème.

Soient : P un problème, M une méthode pour résoudre le problème


P, et A1 son algorithme.
Complexité d’algorithme s’interésse à :

☞ Evaluer l’efficacité de l’algorithme A1 .


☞ Comparer A1 avec d’autres algorithmes réalisant les
mêmes tâches, indépendamment de l’environnement de travail
(machine, système, compilateur...), quel est le plus rapide ?, et dans
quelles conditions ?.
Pr. H. DOUZI & Pr. A. ARCHID (Département de Math
Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 11 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

Exemples
1 Considèrons un algorithme qui lit un tableau et teste chacune de
ses cases, si le tableau a 100 cases, l’algorithme effectuera 100
tests.
☞ Si le tableau a n cases, l’algorithme effectuera n tests. On
dit que sa complexité est en O(n), se lit ≪grand O de n≫.

2 Prenons un algorithme qui parcourt un tableau à n éléments, mais


à chaque case du tableau, il reparcourt tout le tableau depuis le
début pour savoir s’il n’y aurait pas une autre case ayant la même
valeur.
☞ Pour chaque case, il doit faire n tests et comme il y a n
cases, il devra faire en tout n × n = n2 tests. Donc cet algorithme
a une complexité en O(n2 )

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 12 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

Exemple : Calculer xn
Données : x : réel , n : entier

Méthode 1 :
x0 = 1 ;
xi = x1 ∗ xi−1 i > 0
Nombre d’opérations = n

Méthode 2 : x0 = 1 ;
xi = xi/2 ∗ xi/2 , si i est pair ;
xi = x ∗ xi/2 ∗ xi/2 si i est impair
Nombre d’opérations ≈ log(n)

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 13 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

3-Précision
Les deux sources d’erreur qui interviennent dans le calcul numérique
sont :
1 Les erreurs d’arrondi : qui proviennent du fait qu’il n’est pas
possible de représenter tous les réels ni même tous les rationnels
dans un ordinateur.
2 Les erreurs de troncature : se produisent lorsqu’on remplace
une formule mathématique exacte par une autre plus simple à
manipuler comme par exemple :
le remplacement d’une dérivée par une différence finie :
f (x + h) − f (x)
f ′ (x) ≈
h
le développement limité en série de Taylor.
x2
ex ≈ 1 + x +
2
Pr. H. DOUZI & Pr. A. ARCHID (Département de Math
Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 14 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

4-Stabilité
Définition
On dit qu’une méthode numérique est stable si elle donne de bonnes
résultats quelques soit la nature de ses données.
c-à-d, si on a un problème P qui admet une solution S, lorsqu’on
perturbe légèrement un de ses données, la solution du problème
perturbé est toujours voisine de S.

Méthode mal conditionnée


Une méthode est mal conditionnée si de petites variations sur les
données peut produire de grandes perturbations sur les résultats
obtenus.

Exemple : Calcul de l’exponentielle avec la série de développement


x2 x3 xn
limité : ex = 1 + x + + + ... + + o(xn )
2! 3! n!
Pr. H. DOUZI & Pr. A. ARCHID (Département de Math
Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 15 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

x ex Somme ; n = 14
-10 4,54.10−5 4,54.10−5
-15 3,06.10−7 3,06.10−7
-20 2,06.10−9 -1,55.10−7
-25 1,39.10−11 1,87.10−5
-30 9,36.10−14 6,25.10−4

Si x ≤ −20, les résultats obtenus sont très éloignés des valeurs


exactes à cause de l’accumulation des erreurs d’arrondis dans les
additions et les multiplications des termes successifs de la série.

☞ Donc ce n’est pas une bonne méthode numérique pour calculer


la fonction exponentielle. On dit que le problème est instable.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 16 / 29
Implémentation de méthodes numériques : Compléxité-Précision-Stabilité

Bilan :
En Analyse Numérique, le problème qui se pose souvent n’est pas
de trouver une méthode numérique mais la difficulté réside dans la
démonstration que le problème est bien conditionné et la méthode
utilisée est stable.
☞ Le but consiste donc à élaborer un algorithme stable, rapide
pour résoudre un problème mathématique bien posé.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 17 / 29
Représentation des nombres

Représentation d’un nombre dans un ordinateur

☞ Pour réaliser des calculs mathématiques sur l’ordinateur, on


besoin de stocker des nombres entiers ou réels sur les cases
mémoires (‘BIT’,de l’anglais Binary-digIT).

☞ Chaque case mémoire contient une information binaire (0 ou 1),


c-à-d ne peut prendre que 2 valeurs. Soit la valeur 0, soit la valeur 1.

☞ Le problème est qu’un nombre mathématique peut être infini,


donc on ne peut représenter qu’un nombre fini de chiffres.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 18 / 29
Représentation des nombres Représentation binaire

Représentation des entiers en base 2


Soit n un entier,
En base 10
n = ap × 10p + ap−1 × 10p−1 ...a1 × 101 + a0 × 100

où 0 ≤ ai ≤ 9 ; pour i = 0, 1, 2..., (p − 1) ; ap 6= 0


Exemple : 23076= 2×104 + 3 × 103 + 0 × 102 + 7 × 101 + 6 × 100

En base 2
n = ap × 2p + ap−1 × 2p−1 ...a1 × 21 + a0 × 20

où ai = 0 ou 1 pour i = 0, 1, 2..., (p − 1) ; ap 6= 0


Exemple :
(42)10 = 32 + 8 + 2 = 1 × 25 + 0 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 0 × 20
=(101010)2

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 19 / 29
Représentation des nombres Représentation binaire

Deuxième méthode : nous effectuons une suite de divisions par 2 et


retenons les divers restes. Ces restes sont repris à l’envers.

Exemple : Convertir 235 en binaire.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 20 / 29
Représentation des nombres Représentation binaire

Conversion d’un nombre décimal en base 2

Un nombre décimal se compose d’une partie entière et d’une partie


fractionnaire, séparées par une virgule.
☞ Pour la partie entière : on utilise la même technique pour
coder les entiers en binaire.
☞ Pour la partie fractionnaire :
On multiplie la partie fractionnaire par 2.
On note la partie entière obtenue
On recommence avec la partie fractionnaire du résultat
On s’arrête lorsque la précision souhaitée est atteinte ou
lorsque la partie fractionnaire vaut 0.

☞ La partie fractionnaire dans la base 2 est la concaténation


des parties entières obtenues dans l’ordre de leur calcul.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 21 / 29
Représentation des nombres Représentation binaire

Exemple : Conversion de 114,2145 en binaire


Conversion de 114 : donne (1110010)2 .
Conversion de 0, 2145 :
0, 2145 × 2 = 0, 429 = 0 + 0, 429
0, 429 × 2 = 0, 858 = 0 + 0, 858
0, 858 × 2 = 1, 716 = 1 + 0, 716
0, 716 × 2 = 1, 432 = 1 + 0, 432
0, 432 × 2 = 0, 864 = 0 + 0, 864
0, 864 × 2 = 1, 728 = 1 + 0, 728
0, 728 × 2 = 1, 456 = 1 + 0, 456
.. .. .. .. .. .. .. .. ..
. . . . . . . . .
Bilan : (114, 2145)10 =(1110010, 0011011 . . .)2 .

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 22 / 29
Représentation des nombres Représentation à virgule flottante

Représentation à virgule flottante

La virgule flottante est une méthode d’écriture de nombres réels


utilisée dans les ordinateurs.
Elle consiste à représenter un nombre x 6= 0 par un signe s = ±1,
une mantisse m et un exposant e, sous la forme suivante :

x = s.m.be

b : est la base utilisée (2 pour ordinateur).


m est représentée par une suite de p chiffres significatifs en base
b.
m = 0, a1 a2 , ...ap où 0 ≤ ai ≤ b − 1

la valeur de p dépend de la puissance de l’ordinateur.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 23 / 29
Représentation des nombres Représentation à virgule flottante

Norme IEEE-754

Cette norme propose deux formats de représentation : simple


précision sur 32 bits et double précision sur 64 bits.
☞ En simple précision : 32 bits
1 bit : Signe 8 bits : Exposant biaisé 23 bits : Mantisse

☞ En double précision : 64 bits


1 bit : Signe 11 bits : Exposant biaisé 52 bits : Mantisse
Comment stocker le signe, l’exposant et la mantisse sur
l’ordinateur ?(Voir TD)

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 24 / 29
Représentation des nombres Représentation à virgule flottante

Caractéristiques de SP et DP

Simple Précision : 32 bits Double Précision : 64 bits


Pramètres
base b 2 2
bit de signe 1 1
nombre de bit pour m 23 52
nombre de bit pour e 8 11
Biais (pour l’exposant) 28−1 − 1 = 127 211−1 − 1 = 1023
emax 127 1023
emin -126 -1022

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 25 / 29
Représentation des nombres Représentation à virgule flottante

Opérations arithmétiques

Soit x un nombre réel qui s’écrit en base décimal sous la forme


x = 0, a1 a2 , ...an an+1 . . . ap 10e , on note f l(x) sa représentation en
notation flottante à n chiffres, définie par f l(x) = 0, a1 a2 , ...an 10e

Remarque
En notation flottante, on recourt à la troncature et l’arrondi pour réduire
la mantisse à n chiffres.
La troncature : consiste à retrancher les chiffres à partir de la
position n + 1.
L’arrondi : consiste à ajouter le nombre 5 au (n + 1)ième chiffre
avant d’éffectuer la troncature.

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 26 / 29
Représentation des nombres Représentation à virgule flottante

Exemples
Soient
1
x= = 0, 11111111111...
9
y = Π ≃ 3.14159265359...
z = 24, 5678
Si l’on choisit n = 4, alors on a :

f l(x) = 0, 1111 × 100


f l(y) = 0, 3142 × 101
f l(z) = 0, 2457 × 102

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 27 / 29
Représentation des nombres Représentation à virgule flottante

Les opérations[+; −; ×; ÷] en arithmétiques flottante seront effectuées


de la manière suivante :
x + y → f l[f l(x) + f l(y)]
x − y → f l[f l(x) − f l(y)]
x × y → f l[f l(x) × f l(y)]
x ÷ y → f l[f l(x) ÷ f l(y)]

Exemple : Soient x = 0, 345632.104 ; y = 0, 127326.102 , effectuons


l’addition en arithmétique flottante à 4 chiffres :
f l[f l(x) + f l(y)] = f l[f l(0, 345632.104 ) + f l(0, 127326.102 )]
= f l[f l(0, 345632.104 ) + f l(0, 00127326.104 )]
= f l[0, 3456.104 + 0, 0013.104 ]
= f l[0, 3489.104 ]
= 0, 3489.104

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 28 / 29
Représentation des nombres Représentation à virgule flottante

Erreur absolue- Erreur relative

Notons f l(x) la représentation en notation flottante d’un nombre réel x


à n chiffres (n fixé).
L’erreur absolue Ea entre x et f l(x) est donnée par :

Ea = |x − f l(x)|

L’erreur relative Er entre x et f l(x) est donnée par :

|x − f l(x)| Ea
Er = =
|x| |x|

Exemples : Voir TD

Pr. H. DOUZI & Pr. A. ARCHID (Département de Math


Eléments
ématiques
d’Analyse
) Numérique 21 février 2015 29 / 29