Vous êtes sur la page 1sur 81

OUTILS MATHÉMATIQUES POUR L’INGÉNIEUR

MTH3210 : CALCUL MATRICIEL

EHTP - Casablanca
Université Hassan II – Casablanca

Mai 2015 | 1
Introduction

INTRODUCTION

 Les systèmes linéaires jouent un rôle très important en ingénierie.

 La majorité des calculs en génie, reposent sur des approximation des EDP ou
des EDO

 Ces approximations requièrent des méthodes sophistiquées comme les


méthodes des éléments finis et les méthodes des différences finies.

 Ces calculs complexes aboutissent généralement à des systèmes d’équations


(linéaire ou non) de très grandes tailles, qu’on doit résoudre à l’aide de
méthodes efficaces qui minimisent le temps de calcul et l’espace mémoire
requis

| 2
Introduction

INTRODUCTION

 Les systèmes linéaires jouent un rôle très important en ingénierie.

 La majorité des calculs en génie, reposent sur des approximation des EDP ou
des EDO

 Ces approximations requièrent des méthodes sophistiquées comme les


méthodes des éléments finis et les méthodes des différences finies.

 Ces calculs complexes aboutissent généralement à des systèmes d’équations


(linéaire ou non) de très grandes tailles, qu’on doit résoudre à l’aide de
méthodes efficaces qui minimisent le temps de calcul et l’espace mémoire
requis

Exemple

La discrétisation du Laplacien avec un schéma à 5 points avec une grille de 64 X64


nœuds conduit à une matrice d’ordre 4096 × 4096 avec 20224 éléments non nuls.

| 3
Introduction

INTRODUCTION

Objectifs

• Résoudre numériquement le système linéaire:


𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2

𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 + ⋯ + 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛

• Trois grandes classes de méthodes:


 Méthodes directes : déterminent explicitement la solution après
un nombre fini d’opérations arithmétiques
 Méthodes itératives : consistent à générer une suite qui converge
vers la solution du système.
 Méthodes projectives : transforment la résolutions d’un système
linéaire en une minimisation d’une forme quadratique.

| 4
Introduction

INTRODUCTION

Hypothèses et notations
• Soit le système linéaire:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2

𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 + ⋯ + 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛

• En notation matricielle, ce système s’écrit sous la forme


𝑎11 ⋯ 𝑎1𝑛 𝑥1 𝑏1
(𝐒) 𝑨𝒙 = 𝒃 où 𝐴 = ⋮ ⋱ ⋮ , 𝑥= ⋮ et 𝑏= ⋮
𝑎𝑛1 ⋯ 𝑎𝑛𝑛 𝑥𝑛 𝑏𝑛

• On rappelle que le système admet une solution unique si et seulement si


det(𝐴) ≠ 0.

• Si on note 𝑟 = 𝑟𝑎𝑛𝑔(𝐴) et 𝑟 ′ = 𝑟𝑎𝑛𝑔(𝐴𝑏), alors solution de


est possible si 𝑟 = 𝑟 ′
𝐴𝑥 = 𝑏 ൞ est unique si 𝑟 = 𝑟 ′ = 𝑛
comporte une infinité de solutions si 𝑟 = 𝑟 ′ < 𝑛

| 5
Introduction

INTRODUCTION

Hypothèses et notations
• La solution du système linéaire se note 𝑥 = 𝐴−1 𝑏

• En général on n’a quasiment jamais besoin de l’inverse dans les problème


de résolution numérique des systèmes linéaires.

• Le déterminant joue un rôle important dans les considérations théoriques


mais n’est d’aucune utilité pour la résolution numérique (sauf rares
exceptions).

| 6
Introduction

INTRODUCTION

Hypothèses et notations

• Le choix d’une méthode particulière pour la résolution d’un système


linéaire dépend du type et de la structure de la matrice A:

Structure Type
‐ Creuse (maximum de zéro) ‐ Symétrique
‐ Diagonale ‐ Définies positives (𝑥 ′ 𝐴𝑥 > 0,
‐ Bande : concentration des ∀𝑥 ≠ 0)
éléments non-nuls autour de la ‐ Semi définies positives (𝑥 ′ 𝐴𝑥 ≥
diagonale (𝑎𝑖𝑗 = 0 si 𝑖 − 𝑗 > 𝑏, 0, ∀𝑥 ≠ 0)
b est appelée la largeur de la
bande)
‐ Tridiagonale ( cas particulier
d’une matrice bande avec b=1)
‐ matrices par blocks
‐ Triangulaire,

| 7
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 8
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 9
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 10
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 11
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 12
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 13
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 14
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 15
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 16
Rappel

GENERALITE SUR LES MATRICES

Mai 2015 | 17
Conditionnement d’une matrice

CONDITIONNEMENT D’UNE MATRICE : Exemple

Mai 2015 | 18
Conditionnement d’une matrice

CONDITIONNEMENT D’UNE MATRICE : Exemple

Mai 2015 | 19
Conditionnement d’une matrice

CONDITIONNEMENT D’UNE MATRICE

 Pour évaluer la sensibilité d’un problème à une perturbation des données, on


définit le conditionnement d’une matrice 𝐴
𝑐𝑜𝑛𝑑 𝐴 = 𝐴 𝐴−1 .

 Le conditionnement dépend de la norme matricielle utilisée. On utilise le plus


souvent la norme infinie 𝐴 ∞.

 En utilisant une autre norme matricielle, on obtiendrait un conditionnement


différent. Toutefois, on pourrait montrer que le conditionnement, s’il est grand
pour une norme, il sera grand pour toutes les normes.

Exemple
10 7 8 7
On reprend la matrice de l’exemple précédent: 𝐴 = 7 5 6 5
8 6 10 9
7 5 9 10
En utilisant la commande Matlab « cond(A,p) », on obtient:
 cond(A,inf)= 4.4880e+03
 cond(A,1) = 4.4880e+03
 cond(A,2) = 2.9841e+03
Mai 2015 | 20
Conditionnement d’une matrice

CONDITIONNEMENT D’UNE MATRICE

Soit le système linéaire


𝐴𝑥 = 𝑏
On définit le résidu du vecteur 𝑥 par
𝑟 = 𝑏 − 𝐴𝑥
• Si le résidu est nul (𝑟 = 0) alors le vecteur 𝑥 est la solution exacte du
système linéaire.
• Si le résidu est non nul (𝑟 ≠ 0) cela signifie que 𝑥 est une solution
approchée du système linéaire.

Exemple
10 7 8 7
On reprend la matrice de l’exemple précédent: 𝐴 = 7 5 6 5
8 6 10 9
7 5 9 10
𝑡
Le résidu du vecteur 𝑥 = (9.2; −12.6; 4.5; −1.1) est le vecteur:
10 7 8 7 9.2 32 0.1
𝑟 = 𝐴𝑥 − 𝑏 = 7 5 6 5 −12.6 − 23 = −0.1
8 6 10 9 4.5 33 0.1
7 5 9 10 −1.1 31 −0.1
Mai 2015 | 21
Conditionnement d’une matrice

CONDITIONNEMENT D’UNE MATRICE

❶ On considère maintenant l’effet de la perturbation sur le second membre 𝒃


Soit le système perturbé
𝐴𝑥ො = 𝑏෠
On pose
 𝑒 = 𝑥 − 𝑥,
ො l’écart entre la solution exacte et la solution approchée (perturbée)
 𝑟 = 𝑏 − 𝑏෠ = 𝑏 − 𝐴𝑥,ො le résidu

𝑟 𝑒
L’objectif est de trouver une relation entre les erreurs relatives et .
𝑏 𝑥

On obtient les résultats suivants:


1) 1 ≤ 𝑐𝑜𝑛𝑑 𝐴 < ∞
2) Les bornes du conditionnement:
1 𝑟 𝑒 𝑟
≤ ≤ 𝑐𝑜𝑛𝑑(𝐴)
𝑐𝑜𝑛𝑑(𝐴) 𝑏 𝑥 𝑏
On alors::
 Si 𝒄𝒐𝒏𝒅(𝑨) est près de 1, la matrice A est bien conditionnée
 Si 𝒄𝒐𝒏𝒅 𝑨 est grand, la matrice A est mal conditionnée

Mai 2015 | 22
Conditionnement d’une matrice

CONDITIONNEMENT D’UNE MATRICE

❷ On considère maintenant l’effet de la perturbation sur matrice A


Soit le système perturbé
𝐴መ 𝑥ො = 𝑏
On pose
 𝐸 = 𝐴 − 𝐴, መ représente une perturbation du système initial, due par exemple
aux erreurs de représentation sur ordinateur des coefficients de A.
 𝑥,
ො la solution du système perturbé.

On a

𝑥 = 𝐴−1 𝑏 = 𝐴−1 𝐴 + 𝐸 𝑥ො = 𝐼 + 𝐴−1𝐸 𝑥ො = 𝑥ො + 𝐴−1 𝐸𝑥ො


On conclut
𝑥 − 𝑥ො = 𝐴−1𝐸𝑥ො

On obtient donc:
𝒙−ෝ𝒙 𝑬
≤ 𝒄𝒐𝒏𝒅 𝑨 .

𝒙 𝑨

Mai 2015 | 23
Complexité des algorithmes

COMPLEXITÉ DES ALGORITHMES

 Beaucoup de problème sont nature à pouvoir être résolus par une variété
d’algorithmes différents. Il se pose alors le problème du choix du meilleur
algorithmes.
 La notion de complexité d’un algorithme est utilisée pour comparer les
performances des algorithmes.

 On appelle complexité de l’algorithme le nombre d’opération nécessaires pour


résoudre un problème de taille 𝒏. Cette complexité est donc proportionnelle
au temps d’exécution effectif.

 Pour les algorithmes résolvant des problèmes de l’algèbre linéaire numérique,


on utilise le flops ( floating point operations ) comme mesure de
dénombrement des opérations élémentaires. Chacune des quatre opérations
élémentaires ( addition, soustraction, multiplication et division ) compte pour
un flop
opération flops
𝑥+𝑦 𝑛
• Soient 𝑥, 𝑦 ∈ ℝ𝑛 , 𝑧 ∈ ℝ𝑚 et les matrice
𝑥′𝑥 2𝑛
𝐴 ∈ ℳ𝑚,𝑟 ℝ et 𝐴 ∈ ℳ𝑟,𝑛 ℝ
𝑥𝑧 ′ 𝑛𝑚
𝐴𝐵 2𝑚𝑟𝑛
Mai 2015 | 24
Méthodes directes

MÉTHODES DIRECTES

Mai 2015 | 25
Méthodes directes

MÉTHODE DE LA REMONTÉ

Mai 2015 | 26
Méthodes directes

ÉLIMINATION DE GAUSS

La méthode de l’élimination de Gauss consiste à utiliser les opérations


élémentaires afin de réduire le système sous la forme triangulaire
(supérieure).

On distingue deux cas:


 Sans pivotement : On ne permet pas la permutation de deux lignes;
pas toujours possible.
 Avec pivotement: On permet la permutation des lignes ( ou des
colonnes); toujours possible si la matrice est inversible.

Mai 2015 | 27
Méthodes directes

ÉLIMINATION DE GAUSS: Exemple sans pivotement

Mai 2015 | 28
Méthodes directes

ÉLIMINATION DE GAUSS

La méthode de l’élimination de Gauss consiste à utiliser les opérations


élémentaires afin de réduire le système sous la forme triangulaire
(supérieure).

On distingue deux cas:


 Sans pivotement : On ne permet pas la permutation de deux lignes;
pas toujours possible.
 Avec pivotement: On permet la permutation des lignes ( ou des
colonnes); toujours possible si la matrice est inversible.

Au cours de l’exécution de l’élimination de Gauss, si on tombe sur un


pivot nul, alors on permute la ligne en question avec une ligne en
dessous pour ce ramener à un pivot non nul (ceci est toujours possible
car A est supposée inversible)

Mai 2015 | 29
Méthodes directes

ÉLIMINATION DE GAUSS: Exemple

Mai 2015 | 30
Méthodes directes

ÉLIMINATION DE GAUSS: Exemple

Mai 2015 | 31
Méthodes directes

ÉLIMINATION DE GAUSS: Exemple

Mai 2015 | 32
Méthodes directes

ÉLIMINATION DE GAUSS

La méthode de l’élimination de Gauss consiste à utiliser les opérations


élémentaires afin de réduire le système sous la forme triangulaire
(supérieure).

On distingue deux cas:


 Sans pivotement : On ne permet pas la permutation de deux lignes;
pas toujours possible.
 Avec pivotement: On permet la permutation des lignes ( ou des
colonnes); toujours possible si la matrice est inversible.

Au cours de l’exécution de l’élimination de Gauss, si on tombe sur un


pivot nul, alors on permute la ligne en question avec une ligne en
dessous pour ce ramener à un pivot non nul (ceci est toujours possible
car A est supposée inversible)

On distingue deux stratégies de choix du pivot:


 Élimination de Gauss à pivot partiel
 Élimination de Gauss à pivot total
Mai 2015 | 33
Méthodes directes

ÉLIMINATION DE GAUSS: à pivot partiel

Mai 2015 | 34
Méthodes directes

ÉLIMINATION DE GAUSS: à pivot partiel

Mai 2015 | 35
Méthodes directes

ÉLIMINATION DE GAUSS: à pivot total

Mai 2015 | 36
Méthodes directes

ÉLIMINATION DE GAUSS: à pivot total

Mai 2015 | 37
Méthodes directes

ÉLIMINATION DE GAUSS: matrice de permutation

Mai 2015 | 38
Méthodes directes

FACTORISATION LU

Mai 2015 | 39
Méthodes directes

FACTORISATION LU

Mai 2015 | 40
Méthodes directes

FACTORISATION LU

Mai 2015 | 41
Méthodes directes

FACTORISATION LU

Mai 2015 | 42
Méthodes directes

FACTORISATION LU

Mai 2015 | 43
Méthodes directes

FACTORISATION LU: exemple

1) Calculer la factorisation LU de la matrice

9 6 3
6 3 1
1 0 1

2) Résoudre le système 𝐴𝑥 = 𝑏 moyennant la décomposition LU,


1
avec 𝑏 = 2
3

Mai 2015 | 44
Méthodes directes

FACTORISATION DE CHOLESKY

Mai 2015 | 45
Méthodes directes

FACTORISATION DE CHOLESKY

Mai 2015 | 46
Méthodes directes

FACTORISATION DE CHOLESKY

Mai 2015 | 47
Méthodes directes

MÉTHODE DE HOUSEHOLDER

Mai 2015 | 48
Méthodes directes

MÉTHODE DE HOUSEHOLDER

Mai 2015 | 49
Méthodes directes

MÉTHODE DE HOUSEHOLDER : exemple

Mai 2015 | 50
Méthodes directes

MÉTHODE DE HOUSEHOLDER : exemple

Mai 2015 | 51
Méthodes directes

MÉTHODE DE HOUSEHOLDER : exemple

Mai 2015 | 52
Méthodes directes

FACTORISATION QR

Mai 2015 | 53
Méthodes directes

FACTORISATION QR

Mai 2015 | 54
Méthodes itératives

MÉTHODES ITÉRATIVES

Mai 2015 | 55
Méthodes itératives

MÉTHODES ITÉRATIVES

Mai 2015 | 56
Méthodes itératives

MÉTHODES ITÉRATIVES

Mai 2015 | 57
Méthodes itératives

MÉTHODES ITÉRATIVES

Mai 2015 | 58
Méthodes itératives

MÉTHODES ITÉRATIVES

Mai 2015 | 59
Méthodes itératives

MÉTHODES ITÉRATIVES

Mai 2015 | 60
Méthodes itératives

MÉTHODES ITÉRATIVES

Mai 2015 | 61
Méthodes itératives

MÉTHODES ITÉRATIVES

Mai 2015 | 62
Méthodes itératives

MÉTHODES ITÉRATIVES : Cas classiques

Mai 2015 | 63
Méthodes itératives

MÉTHODES ITÉRATIVES : Cas classiques

Mai 2015 | 64
Méthodes itératives

MÉTHODES ITÉRATIVES : Cas classiques

Mai 2015 | 65
Méthodes itératives

MÉTHODES DE JACOBI

Mai 2015 | 66
Méthodes itératives

MÉTHODES DE JACOBI : Exemple

Mai 2015 | 67
Méthodes itératives

MÉTHODES DE JACOBI : Complexité

Mai 2015 | 68
Méthodes itératives

MÉTHODES DE GAUSS-SEIDEL

Mai 2015 | 69
Méthodes itératives

MÉTHODES DE GAUSS-SEIDEL : Exemple

Mai 2015 | 70
Méthodes itératives

MÉTHODES DE GAUSS-SEIDEL : Complexité

Mai 2015 | 71
Méthodes itératives

MÉTHODES DE RELAXATION

Mai 2015 | 72
Méthodes itératives

MÉTHODES DE RELAXATION : Exemple

Mai 2015 | 73
Méthodes itératives

REMARQUES

Mai 2015 | 74
Méthodes itératives

MÉTHODE D’UZAWA

Mai 2015 | 75
Méthodes itératives

MÉTHODE D’UZAWA

Mai 2015 | 76
Méthodes projectives

MÉTHODES PROJECTIVES

Mai 2015 | 77
Méthodes projectives

MÉTHODES DE LA PLUS PROFONDE DESCENTE

Mai 2015 | 78
Méthodes projectives

MÉTHODES DU GRADIENT CONJUGUÉ

Mai 2015 | 79
Méthodes projectives

MÉTHODES DU GRADIENT CONJUGUÉ

Mai 2015 | 80
Méthodes projectives

MÉTHODES DU GRADIENT CONJUGUÉ PRÉCONDITIONNÉ

Mai 2015 | 81

Vous aimerez peut-être aussi