Académique Documents
Professionnel Documents
Culture Documents
Analyse numérique I
H. Douzi Page 2
Analyse Numérique
H. Douzi Page 3
Analyse Numérique
Figure 1 : Avec les outils de l’Analyse Numérique on peut prévenir contre les dégâts des catastrophes
naturelles comme par exemple les Ouragans.
Parmi les formes d’équations mathématiques les plus courantes dans les
traitements par l’Analyse Numérique on peut citer :
Les équations linéaires : Ax = b
Les équations non linéaires : f(x)=0
Les équations différentielles : f(x,y,y’)=0 …etc
Complexité algorithmique :
L’exécution d’un programme a un coût:
Le temps d’exécution
L’espace mémoire requis
Aujourd’hui, le point sensible est le temps de calcul.
La théorie de la complexité algorithmique s'intéresse à l'estimation de l'efficacité des
algorithmes. : Entre différents algorithmes réalisant une même tâche, quel est le plus
rapide et dans quelles conditions ?
Exemple: problème du calcul de xn
données : x : réel , n: entier
Méthode 1 : Méthode itérative : x0 = 1; xi = x * xi-1 i >0
Nombre d’opérations=n
Méthode 2 : Méthode récursive :
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) = O(log(n))
H. Douzi Page 5
Analyse Numérique
Un ordinateur est composé d’une unité centrale et des périphériques qui sont
essentiellement des périphériques d’entrées des données (comme le clavier et la
souris …etc.) et des périphériques de sortie des résultats (comme l’écran,
l’imprimante …etc.) ; quand à l’unité centrale elle est composée essentiellement des
mémoires pour stocker les données (comme disque dur, DVD, etc.) et un processeur
pour les traiter.
Par exemple sur les disques mémoires l’information est stockée, sur les disques durs
sur des pistes concentriques qui constituent une bande de cases mémoire. Chaque
case mémoire contient une information binaire (0 ou 1). Pour les Cdrom l’information
est codée sous forme de bosses et des trous détecté lors de la lecture par des
rayons laser).
H. Douzi Page 6
Analyse Numérique
Les nombres à virgule flottante possèdent un signe s (dans {-1, 1}), une mantisse m
et un exposant e (généralement 2 sur ordinateur, mais aussi 16 sur certaines
anciennes machines, 10 sur de nombreuses calculatrices, ou éventuellement toute
autre valeur). En faisant varier e, on fait « flotter » la virgule décimale. Généralement,
m est d'une taille fixée.
Ceci s'oppose à la représentation dite en virgule fixe, où l'exposant e est fixé.
x 2 n * 0, C1C2 Cm
0,C1 C2.... Cm : est appelé la mantisse.
-M1<n<M1 est appelé l’exposant la largeur de l’intervalle de n dépend de la
puissance le l’ordinateur.
m est le nombre de chiffre de la représentation et sa valeur dépend de la
puissance de l’ordinateur.
Exemple
Représentation en simple précision : Sur 32 bits (4 octets), on a la mantisse
comprend m= 23 chiffres binaires et l’exposant contient q = 8 (1bit pour le signe)
chiffres binaire, ce qui permet de représenter des nombres compris, en valeur
absolue, entre 2−128 ≈ 10−38 et 2128 ≈ 1038 car 128 = 2q = 28. La précision machine
est de 7 chiffres décimaux significatifs car 223 = 107.
Représentation en double précision : sur 64 bits (8 octets), on a p = 52, q = 11 et
les réels en valeur absolue appartiennent [2−1024, 21024] ≈ [10−308, 10308] avec 15
chiffres décimaux significatifs (car 252 ≈ 1015).
H. Douzi Page 7
Analyse Numérique
sur le calcul des produits Pi vérifient : Pi Pi 1.ui ( Pi 1.ui ) L’erreur globale
sur P = Pn vérifie donc : P Pn .(n 1) On voit donc que contrairement au cas
de l’addition, la majoration de l’erreur ne dépend pas de l’ordre des facteurs.
Phénomènes de compensation : Les phénomènes de compensation sont ceux
qui se produisent lorsque l’on tente de soustraire des nombres très proches.
Exemple : On considère l’expression E x 1 x avec x > 0. Sous Matlab,
en calculant E pour x = 109, on va obtenir 1,5811.10-5 mais pour x =1016, on va
1
obtenir 0 ! Si l’on remarque que E alors, en utilisant cette
x 1 x
nouvelle formule, on trouvera E = 1; 5811.10-5 pour x = 109 et E = 5,000.10-9 pour
x = 1016.
Phénomènes d’instabilité numérique : Les phénomènes d’instabilité numérique
sont des phénomènes d’amplification d’erreur d’arrondi. Ils se produisent en
général pour des calculs récurrents ou itératifs.
Exemple : le calcul de l’exponentielle avec la série :
x 2 x3 xn
e 1 x ( x n )
x
2! 3! n!
x Exp(x) Somme, n=14
-10 4.54 10-5 4.54 10-5
-15 3.06 10-7 3.05 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
H. Douzi Page 8
Analyse Numérique
Matrices particulières:
• Matrices diagonales et triangulaires
•
*
Matrice adjointe et transposée : A a ji
A a ji
t
2. Normes matricielles
Définition :
Une norme vectorielle sur Rn est une application de l’ensemble Rn vers R qui vérifie
un certain nombre de propriétés :
o ||v||=0 v=0
o ||v||=|| ||v||
o ||v+w|| ≤ ||v|| + ||w||
Exemples
Quelques normes vectorielles très utilisées : Soit v (vi )1in alors on a :
H. Douzi Page 9
Analyse Numérique
n
o v 1 vi
i 1
o A max vi
1i n
Définition
Une norme matricielle est une application de l’ensemble des matrices carré d’ordre n
vers R qui vérifie un certain nombre de propriétés :
o ||A||=0 A=0
o ||A||=|| ||A||
o ||A+B|| ≤ ||A|| + ||B||
o ||AB|| ≤ ||A|| ||B||
Exemples
Quelques normes matricielles très utilisées : Soit A (aij )1i , j n alors on a :
n
A 1 max aij
1 j n i 1
n
A max aij ■
1i n j 1
H. Douzi Page 10
Analyse Numérique
H. Douzi Page 11
Analyse Numérique
4. Matrices diagonalisables
On a donc
Remarques :
• Une matrice est diagonalisable si elle est semblable à une matrice diagonale
• Pour toute matrice carrée et symétrique A il existe une matrice orthogonale O
telle que O-1AO soit diagonale
Définition :
Soit A une matrice carrée inversible d'ordre n, alors le conditionnement de A est
donné par:
Cond(A) =
Où représente une norme matricielle choisie.
H. Douzi Page 12
Analyse Numérique
x b
Si A(x+x) = (b+b) alors on a : Cond( A)
x b
(ii) Cas d'une perturbation de la matrice:
x A
Si (A+A)(x+x) = b alors on a : Cond( A)
x x A
Exemple :
On considère le système linéaire Ax=b avec :
10 7 8 7 32
7 5 6 5 23
A b
8 6 10 9 33
7 5 9 10 31
1
1
La solution de ce système est donnée par x
1
1
32.1
22.9
Considérons une perturbation du second membre : b b
33.1
30.9
9.2
12.6
La solution du système : A( x x) (b b) est donnée par x x
4.5
1.1
H. Douzi Page 13
Analyse Numérique
b 0.1 x 13.6
Dans ce cas on a: 0,003 et 13.6 Ainsi
b 33 x 1
x b
4488 donc le conditionnement de ce système est supérieur à 4488 et le
x b
système est, bien sur, mal conditionné.
Considérons maintenant une perturbation de la matrice A donné par :
10 7 8.1 7.2
7.08 5.08 6 5
A
8 5.98 9.89 9
6.99 4.99 9 9.89
81
137
La solution du système : ( A A)(x x) b est donnée par x x
34
22
H. Douzi Page 14
Analyse Numérique
avec :
; et
La première méthode qui vient à l’esprit pour résoudre ce système est l’utilisation des
formules de Cramer :
H. Douzi Page 15
Analyse Numérique
Les méthodes numériques de résolutions d’un système linéaire sont de deux types :
xn ann 1
bn
x a 1 (b a x )
n1 n 1n1 n 1 n 1n n
1
x2 a22 (b2 a2n1 xn1 a2n xn )
x1 a111 (bn a12 x2 a1n1 xn1 a1n xn )
Exemple :
H. Douzi Page 16
Analyse Numérique
H. Douzi Page 17
Analyse Numérique
De manière générale, étant donné un vecteur x avec xk 0, on peut annuler tout les
éléments xi, i > k, en multipliant le vecteur x par la matrice Mk suivante :
H. Douzi Page 18
Analyse Numérique
où : τ (k)i = xi/xk, i = k + 1, . . . , n.
Le diviseur xk est appelé le pivot , la matrice Mk est appelée la matrice de
transformation de Gauss et les τ (k)i constituent les multiplicateurs de Gauss.
En appliquant (n − 1) fois dans l’ordre M1, . . . ,Mn−1 la transformation de Gauss à
une matrice A d’ordre n :
On obtient une matrice U qui est triangulaire supérieure. Ce procédé est appelé
élimination de Gauss.
H. Douzi Page 19
Analyse Numérique
Exemple
Pour n=100 cela donne 6,6 . 105 opération à virgule flottante à comparer avec 9,4 .
10161 opération avec Cramer. Avec un ordinateur fonctionnant à 100 megaflops cela
prendra 7 millièmes de secondes avec gauss et 3.10146 années.
4. Décomposition LU
Enfin le produit des deux matrices MkMk+1 est aussi très facile à calculer avec des
1 sur la diagonale plus les colonnes k de Mk et (k+1) de Mk+1 :
H. Douzi Page 20
Analyse Numérique
Algorithme :
Existence de la factorisation LU
Il apparaît qu’à chaque étape de l’élimination de Gauss il faut avoir un pivot non nul
pour pouvoir déduire à la fin la décomposition LU. Donc la factorisation LU n’existe
pas toujours. Le théorème qui suit, donne une condition nécessaire pour assurer
l’existence de la décomposition :
H. Douzi Page 21
Analyse Numérique
Théorème :
Soit A une matrice d’ordre n. les sous matrices diagonales k de A sont définies par :
a11 a1n a11 a1k
A , k k 1n
a a a a
n1 nn k1 kk
Si la matrice A et ses sous matrices diagonales sont inversibles alors A admet une
factorisation LU unique telle que A=LU■
H. Douzi Page 22
Analyse Numérique
5. Factorisation de Choleski
Théorème (Factorisation de Choleski d'une matrice) :
Si A est une matrice symétrique définie positive, il existe au moins une matrice réelle
triangulaire inférieure L telle que : A=LLT
On peut également imposer que les éléments diagonaux de la matrice L soient tous
positifs, et la factorisation correspondante est alors unique■
Algorithme
On cherche la matrice :
On détermine la jème colonne de L, après avoir calculé les (j-1) premières colonnes :
(i=j) d'où
(i=j+1) d'où
...
(i=n) d'où
Il résulte du théorème précédent qu'il est possible de choisir tous les éléments lii>0
en assurant que toutes les quantités
H. Douzi Page 23
Analyse Numérique
sont positives.
H. Douzi Page 24
Analyse Numérique
Fonction L = Choleski(A)
6. Décomposition QR
Définition (Matrice orthogonales)
On appelle matrice orthogonale une matrice dont les colonnes sont orthonormées.
C’est à dire les matrices O telles que : tOO = I
Remarques :
o Si O est orthogonale, det(O) = ±1.
o Elles ne changent pas la norme associée au produit scalaire :
o Le produit de deux matrices orthogonales est une matrice orthogonale :
t(OO′)OO′ = tO′tOOO′ = I
Exemples :
Matrice de rotation,
Matrice de permutation,
H. Douzi Page 25
Analyse Numérique
Remarques :
Une matrice orthogonale est facile à inverser (tQ = Q−1).
Cela peut être utilisé pour la résolution d’équations linéaires : au lieu de résoudre
Ax = b, on résout Rx = tQb
Cela fonctionne pour les matrices rectangulaires : résolution d’équations linéaires
surdéterminés (avec plus d’équations que d’inconnues)
Les matrices orthogonales ont de bonnes propriétés :
o le déterminant de A est égale à celui de R;
o multiplier par une matrice orthogonale ne change pas la norme;
o le conditionnement de A est égale à celui de R.
Cette décomposition est aussi utilisée pour le calcul des valeurs
propres d’une matrice (Méthodes des puissances).
H. Douzi Page 26
Analyse Numérique
Méthode de Householder
Soit x un vecteur colonne arbitraire de dimension m et de longueur |α|
Soit e1 le vecteur (1,0,..., 0)T, et || || la norme euclidienne, définissons
.
Q est la matrice de Householder ou matrice orthogonale élémentaire et
.
Nous pouvons utiliser ces propriétés pour transformer une matrice A de dimension
m*n en une matrice triangulaire supérieure. Tout d'abord, on multiplie A par la
matrice de Householder Q1 en ayant pris le soin de choisir pour x la première
colonne de A . Le résultat est une matrice QA avec des zéros dans la première
colonne excepté du premier élément qui vaudra α.
Ceci doit être réitéré pour A' qui va être multiplié par Q’ 2 (Q’2 est plus petite que Q1).
Si toutefois, vous souhaiteriez utiliser Q1A plutôt que A’, vous deviez remplir la
matrice de Householder avec des 1 dans le coin supérieur gauche :
Exemple :
Calculons la décomposition QR de
H. Douzi Page 27
Analyse Numérique
Observons que:
Nous avons maintenant sous la diagonale uniquement des zéros dans la 1re colonne.
Pour réitérer le processus, on prend la sous matrice principale
Finalement, on obtient
H. Douzi Page 28
Analyse Numérique
H. Douzi Page 29
Analyse Numérique
On construit une suite de vecteurs (xk) k = 0, 1, ... qui tend vers x*.
Le point de départ est une approximation x0 de x* obtenue par exemple par une
méthode directe. Pour construire cette suite, on utilise la linéarité pour décomposer la
matrice A en une partie facilement inversible et un reste.
On décompose la matrice A : A = M − N , de telle façon que M soit facilement
inversible.
Alors, Ax = b Mx = Nx + b
On calcule la suite de vecteurs (xi) à partir d’un vecteur x0 choisi arbitrairement et de
la relation : Mxk+1 = Nxk + b xk+1 = M−1Nxk +M−1b
C’est à dire :
2. Convergence
H. Douzi Page 30
Analyse Numérique
Démonstration
Existence de la solution :
D’après les propriétés du rayon spectral on a :
Convergence :
H. Douzi Page 31
Analyse Numérique
3. Méthode de JACOBI
Soit la matrice A, on note :
D la matrice des éléments diagonaux de A
E la matrice des éléments sous-diagonaux
F la matrice des éléments sur-diagonaux
C’est à dire :
H. Douzi Page 32
Analyse Numérique
4. Conditions de convergence
D’après ce qui précède une condition nécessaire et suffisante (CNS) pour la convergence de la
méthode de Jacobi est que :
D soit inversible : les éléments diagonaux de A doivent être non nuls
ρ(J) < 1 (la valeur propre de plus grand module est < à 1)
Remarque :
Cette CNS est difficile à vérifier, mais il y a deux conditions suffisantes.
Pour les matrices à diagonale strictement dominante.
Pour les matrices symétriques.
H. Douzi Page 33
Analyse Numérique
Algorithme
H. Douzi Page 34
Analyse Numérique
H. Douzi Page 35
Analyse Numérique
5. Méthode de GAUSS-SEIDEL
Conditions de convergence
H. Douzi Page 36
Analyse Numérique
H. Douzi Page 37
Analyse Numérique
H. Douzi Page 38
Analyse Numérique
H. Douzi Page 39