Vous êtes sur la page 1sur 95

Chapitre 5Résolution numériquedes systèmes linéaires

Chapitre 5

Résolution numérique
des systèmes linéaires

M. Lahlou

Département de Mathématiques
Faculté des Sciences Semlalia
Université Cadi Ayyad
Marrakech

18/04/2022

1/95
Chapitre 5Résolution numériquedes systèmes linéaires

Plan
1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence
2/95
Chapitre 5Résolution numériquedes systèmes linéaires
Introduction

1. Introduction

2. Méthodes directes

3. Rappels d’analyse matricielle

4. Analyse des erreurs et conditionnement

5. Méthodes indirectes ou itératives

3/95
Chapitre 5Résolution numériquedes systèmes linéaires
Introduction

But : Chercher la solution x du problème

Ax = b

où A ∈ Mn (IR) (espace des matrices carrées réelles d’ordre n)


inversible et b ∈ IRn un vecteur de taille n donnés.
La solution x est un vecteur de taille n.

4/95
Chapitre 5Résolution numériquedes systèmes linéaires
Introduction

Méthode de Cramer trop coûteuse en nombre opérations. On


peut montrer que :
Nombre opérations ≥ (n + 1)!
Par ex. pour n = 50, il faut au moins 51! ∼ 1066 opérations.
Soit une machine M qui effectue 1 milliard op./seconde (109 op/s)
Faisons un petit calcul :
Par an :
109 × 3600(secondes/heure) × 24(heures/jour) × 365(jours/an)
≈ 1016 op/an
Donc cet ordinateur M mettra
1066
= 1040 années
1016
Age univers :

≈ 15 ∗ 109 années ⇒ 1040 /(15 ∗ 109 ) ∼ 6 ∗ 1030

fois age univers pour résoudre ce système. Ce qui est tout


simplement Impensable ! !
5/95
Chapitre 5Résolution numériquedes systèmes linéaires
Introduction

Donc nous avons besoin de :


 Méthodes numériques alternatives.
Méthodes directes :
obtenir exactement x après un nombre fini d’opérations connu à
l’avance.
Méthodes indirectes ou itératives :
approcher x après un certain nombre d’itérations.

6/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes

1. Introduction

2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU

3. Rappels d’analyse matricielle

4. Analyse des erreurs et conditionnement

5. Méthodes indirectes ou itératives

7/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Objectif

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

8/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Objectif

On commence par la définition :


Définition 1
Une méthode de résolution d’un système linéaire Ax = b, A inversible
est dite directe si la solution x est obtenue après un nombre fini
d’opérations élémentaires (+,-,*,/) calculable en fonction de la taille
n du système.

Système triangulaire :
Soit le système :
    
2 1 2 x1 10
0 1 −6 x2  = −4
0 0 −1 x3 −1
La méthode suivante est dite de remontée
−1
x3 = −1 = 1
−4−(−6)x3
x2 = 1 =2
10−x2 −2x3
x1 = 2 =3
9/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Objectif

Système non triangulaire :


Principe : écrire le système initial

Transformer
Ax = b ⇐⇒ Ux = c où U triangulaire supérieure :

 
∗ ···
0 ∗ 
U =
 
.. .. 
0 . . 
0 ∗

U x = c est appelé système echelonné


Les transformations se font sur la matrice augmentée de dimension
n × (n + 1)
 
A | b

10/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

11/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

Soit à résoudre le système :

2x1 + x2 + 2x3 = 10
6x1 + 4x2 = 26 (1)
8x1 + 5x2 + x3 = 35
On note respectivement la matrice du système et le second membre
par A(0) = A = (ai,j )i,j=1,2,3 , b(0) = b = (bi )i=1,2,3 .
On note aussi li la ligne i (avec le second membre)
On a a1,1 = 2 6= 0 appelé pivot,
On ne touche pas la ligne l1 appelée ligne de pivot,
On transforme A(0) , b(0) de manière à faire apparaître des 0 en
dessous du pivot dans la colonne 1 :
 
2 1 2 | 10 l1
[A(0) |b(0) ] =  6 4 0 | 26 l2 → l2 −(6/2)l1
8 5 1 | 35 l3 → l3 −(8/2)l1

12/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

étape 1 :
ai,1
A(0) ⇒ A(1) , i > 1, li → li − l1
a1,1

⇒ ai,1 = 0, i = 2, 3 dans A(1) colonne 1

 
2 1 2 | 10 l1
[A(1) |b(1) ] = 0 1 −6 | −4 l2
0 1 −7 | −5 l3 → l3 − l2

13/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

étape 2 : on passe de A(1) , b(1) à A(2) , b(2) avec l1 et l2 inchangées et


où le pivot est a2,2 = 1 6= 0 :
ai,2
A(1) ⇒ A(2) : i > 2, li → li − l2
a2,2

⇒ a3,2 = 0, dans A(2) ( colonne 2)

Le système transformé est triangulaire supérieur :


 
2 1 2 | 10
[A(2) |b(2) ] = 0 1 −6 | −4 (2)
0 0 −1 | −1

⇓ Méthode de Remontée

Solution : x = (3, 2, 1)T

14/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

Généralisation :

Soit un système (n, n), Ax = b, où A inversible. On construit une


suite de matrices

[A(1) |b(1) ], [A(2) |b(2) ], · · · [A(k) |b(k) ], · · · , [A(n−1) |b(n−1) ]

telle que le système


A(n−1) x = b(n−1)
est triangulaire supérieur équivalent au système initial Ax = b.

Supposons qu’on a effectué k − 1 étapes. La kème étape est le passage


de [A(k−1) |b(k−1) ] à [A(k) |b(k) ] se fait de la manière suivante :

15/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

étape k : On suppose qu’on a ak,k 6= 0 pivot dans la colonne k.


Annuler dans colonne k en dessous de la diagonale :

colonne k
 ↓ 
× ··· × | ×
0
 × ··· × | × 
. .. .. .. .. 
 .. 0 . . . | .
 
h i  .. 
A (k−1) (k−1)
|b = 
 . × 

 .. 

 . 0 ak,k ··· × | ×  ← lk
 .. .. ..
 
 ..
. . × . ···  .
.. .. .. 
 

 . . × | .
0 0 ··· ×
0 ··· |
ai,k
i ≥ k + 1, li −→ li − lk
ak,k
⇒ ai,k = 0, i ≥ k + 1 dans A(k)
16/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

Algorithme de Gauss sans permutation (descente) :

Données : A = (ai,j )1≤i,j≤n , b = (bi )1≤i≤n


Résultat : système triangulaire supérieure
pour (k = 1 à n − 1) faire
pour (i = k + 1 à n) faire
ai,k
poser mi,k = ak,k
pour j = k + 1, · · · , n faire
ai,j ← ai,j − mi,k ∗ ak,j
bi ← bi − mi,k ∗ bk
ai,k ← 0

17/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

Algorithme de remontée :

le système final après élimination de gauss est de la forme :

a1,1 x1 + a1,2 x2 + · · · + a1,n xn = b1


a2,2 x2 + · · · + a2,n xn = b2
.. ..
. .
an,n xn = bn

Résolution :

bn
xn =
an,n
Et pour i = n − 1, · · · , 1
n
!
1 X
xi = bi − ai,k xk
ai,i
k=i+1

18/95
En informatique on mesure le coût d’un algorithme appelé
compléxité en fonction de la taille des données, donc ici la taille n
du système. C’est le terme dominant pour n grand qui est le plus
significatif dans le nombre total d’opérations.
Proposition 2
Le coût global d’opérations élémentaires est environ en O(n3 ) pour la
phase de la descente et en O(n2 ) pour la phase de remontée.

Preuve.
Pour passer de A(k−1) à A(k) , 1 ≤ k ≤ n − 1, on effectue :
(n − k)2 soustractions,
(n − k)2 multiplications,
n − k divisions
n n
Soit (n − 1)(2n − 1) soustractions, (n − 1)(2n − 1)
6 6
multiplications et n(n − 1)/2 divisions.
Pour le passage de b(k−1) à b(k) , on effectue
n − k soustractions,
n − k multiplications
soit n(n − 1)/2 soustractions et n(n − 1)/2 multiplications.
Donc le terme dominant pour n grand dans la descente est un O(n3 ).
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss sans permutation

Enfin pour faire la remontée, il faut : n(n − 1)/2 multiplications,


n(n − 1)/2 soustractions ou additions et n divisions, soit environ
O(n2 ) opérations.
Donc la quantité dominante en ordre de grandeur du nombre total
d’opérations pour résoudre un système linéaire est environ en O(n3 ) 

Remarque
Pour n = 50, sur le même ordinateur M à 109 opérations/seconde on
effectue environ 125000 opérations.
Soit, 125000/109 = 0.000125 seconde.

20/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss avec permutation

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

21/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss avec permutation

Que se passe-t-il quand un des pivots ak,k = 0 ?


Soit à faire l’élimination sur
 
1 −1 2 −1 | −8
2 −2 3 −3 | −20
[A(0) |b(0) ] = 

 (3)
1 1 1 0 | −2 
1 −1 4 3 | 4
l2 → l2 − 2l1 , l3 → l3 − l1 , l4 → l4 − l1
 
1 −1 2 −1 | −8
0 0 −1 −1 | −4
[A(1) |b(1) ] = 


0 2 −1 1 | 6
0 0 2 4 | 12

problème : pivot = 0 ! !

22/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss avec permutation

solution : on permute la ligne 2 avec une ligne i > 2 telle que ai,2 6= 0.
Donc ici l2 ←→ l3 :

1 −1 −1 | −8
 
2
0 2 −1 1 | 6
[Ã(1) |b̃(1) ] = 


0 0 −1 −1 | −4
0 0 2 4 | 12

23/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss avec permutation

l4 → l4 + 2l3
 
1 −1 2 −1 | −8
0 2 −1 1 | 6
[A(2) |b(2) ] = 


0 0 −1 −1 | −4
0 0 0 2 | 4

On obtient une matrice triangulaire supérieure A(2) .


La résolution
  du système A(2) x = b(2) , i.e. la remontée nous donne la
−7
3
solution 
 2 .

2
Cette méthode est appelée aussi élimination de gauss avec pivotage
partiel.

24/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss avec permutation

Stratégie des pivots :


Pour des raisons de stabilité, il est fortement recommandé de choisir
le pivot pas trop petit en valeur absolue.
Soit par exemple le système
    
 1 x1 1
=
1 1 x2 2

où  est un petit nombre strictement positif.


Il est clair que si  6= 1, la solution théorique est
1 1 − 2
x1 = , x2 =
1− 1−
Pour  petit, donc voisin de 0, x1 , x2 voisins de 1.
Appliquons Gauss avec le pivot  > 0 :
!  !
 1 x1 1
1 = 1
0 1− x2 2−
 
25/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss avec permutation

Supposons que  = 10−9 et que les flottants sont en 8 chiffres


significatifs, alors 1 − 1/10−9 = 1 − 109 ' −109
et 2 − 1/10−9 ' −109 .
 −9    
10 1 x1 1
=
0 −109 x2 −109
Donc x2 = 1 ⇒ 10−9 x1 = 1 − x2 = 0 ⇒ x1 = 0
ce qui absurde ! !
Solution :
permuter ligne 1 et ligne 2 car 1 >> 
    
1 1 x1 2
=
 1 x2 1
On prend le pivot ici égal à 1. ce qui conduit à
   
1 1 x1 2
0 1− x2 1 − 2

Donc si  = 10−9 pour une machine à 8 chiffres significatifs, 1 −  ' 1


et 1 − 2 ' 1. Donc x1 ' 1 et x2 ' 1. Ce qui est plus raisonnable.
26/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Elimination de Gauss avec permutation

Plus généralement :
la stratégie de pivot consiste à ce que :

Si un pivot |ak,k | <  trop petit,


alors on permute la ligne k avec ligne i0 > k telle que

|ai0 ,k | = max |ai,k |


i≥k+1

Cette méthode est le pivotage partiel par ligne.


En cas où la recherche du pivot échoue (comme par ex.
ai,k = 0, ∀k ≤ i ≤ n), on stope l’lgorithme. Le système est singulier
ou non inversible (d’autres méthodes de pivotage existent,
notamment le pivotage total).

Exercice
Ecrire un algorithme qui résout un système Ax = b en utilisant
l’élimination de Gauss qui tient compte des permutations.
27/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

28/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Décomposition LU sans permutation


Définition 3
On dit qu’une matrice A admet une décomposition (ou factorisation)
LU si elle s’écrit sous la forme A = LU avec L est triangulaire
inférieure à diagonale unité et U est triangulaire supérieure, c’est à
dire :  
1 0 ··· 0 
×

.. .
. ..  0 × ×
 
1
 
L=  et U =  .

.
 .
. .. ..

 × . . 0
  . . . 
1 0 · · · 0 ×

On sait que le déterminant d’une matrice triangulaire est le produit


de ses éléments diagonaux. Par conséquent, si A = LU , et Qnsachant que
L est à diagonale unité, alors det(A) = det(L) det(U ) = i=1 ui,i où
les ui,i sont les éléments diagonaux de U . Il est clair de constater :
Remarque 4
Si A est inversible et admet une décomposition LU alors U est aussi
inversible avec ui,i 6= 0, ∀i = 1, · · · , n.
29/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Motivations pour LU :
On a vu que résoudre Ax = b par élimination de Gauss coûte
environ O(n3 ) opérations.
Si on on a Ax = b ⇐⇒ LU x = b. En posant y = U x. Résoudre
système initial revient à résoudre 2 systèmes triangulaires :
Ly = b puis U x = y qui coûte chacun O(n2 ) opérations. Donc La
résolution par LU nécessite en gros O(n2 ) au lieu de O(n3 ).
Par exemple pour résoudre un système de taille 100, on utiliserait
10000 opérations au lieu de 1 million.
Si on a plusieurs systèmes Ax = b1 , b2 , · · · , avec la même matrice
A, alors c’est couteux de refaire la même élimination de Gauss
sur A pour chaque second membre bi .
Si on trouve une seule fois L et U , alors
(
i Ly i = bi (∗)
Ax = LU x = b ⇔
Ux = y i (∗∗)
Donc on résout (*), puis (**), deux systèmes triangulaires faciles sans
refaire les calculs de L et U pour chacun des seconds membres.
30/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Technique de décomposition :
On reprend le système (1) de la section 2.2
La modification :
 
 (0) (0)  2 1 2 10 ← l1
A |b = 6 4 0 26  ← l2
8 5 1 35 ← l3

 (1) (1)  2 1 2 10
⇒ A |b =  0 1 −6 −4 ← l2 + (−3)l1
0 1 −7 −5 ← l3 + (−4)l1

revient à(0)multiplier gauche par une matrice M (1) :


  à(1)
(1) (0) (1)
M A  |b = A  |b où
1 0 0
M (1) = −3 1 0
−4 0 1
triangulaire inférieure avec 1 sur la diagonale.

31/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

De même l’étape suivante :

 
h i h i 2 1 2 | 10
A(1) |b(1) ⇒ A(2) |b(2) = 0 1 −6 | −4 = M (2) [A(1) |b(1) ]
0 0 −1 | −1
 
1 0 0
avec M (2) = 0 1 0
0 −1 1
Donc

U = A(2) = M (2) (1)


| {zM }A = M A
M

32/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Il est clair que M (k) est inversible et facile de vérifier que


 
 −1 1 0 0
L(1) = M (1) = 3 1 0
4 0 1

opposées des coefficients de la colonne 1 en dessous de la diagonale et


 
 −1 1 0 0
L(2) = M (2) = 0 1 0
0 1 1

33/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Donc M = M (2) M (1) est inversible (produit de matrices inversibles)


−1 −1
et M −1 = M (1) M (2) Ce qui entraîne
A = M −1 U = L(1) L(2) U = LU , avec L = L(1) L(2) .
De plus :
 
1 0 0
L = L(1) L(2) = 3 1 0 est une triangulaire inféreure à diagonale
4 1 1
unité et
 
2 1 2
U = 0 1 −6 triangulaire supérieure.
0 0 −1
Donc on a :
y1 = 10
Ly = b : 3y1 + y2 = 26 → y2 = −4 → y = (10, −4, −1)
4y1 + y2 + y3 = 35 → y3 = −1

et
2x1 + x2 + 2x3 = 10
Ux = y : x2 − 6x3 = −4 ⇒ x = (3, 2, 1)
−x3 = −1 34/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

1
Plus généralement :
étape k : A(k) = M (k) A(k−1) où M (k) est triangulaire inférieure avec 1
sur la diagonale donc inversible :

colonne k

1 0
 
.. ..
.
 
 . 0 
 
 1 
..
 
 

 0 . 

 a .. 
 i,k
− ak,k . 
 
..
. 0 1

On en déduit que
 −1
A(k−1) = M (k) A(k) = L(k) A(k)

35/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU


colonne k

1 0
 
.. ..
.
 
 . 0 
−1  
1

L(k) = M (k) = 
 
..

 

 0 . 

 ai,k .. 

ak,k
. 
 
..
. 0 1

1. 25/04/2022
36/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

A la dernière étape n − 1, on a :

U = A(n−1) = M (n−1) M (n−2) · · · M (1) A = M A

On peut montrer que M est triangulaire inférieure avec


mi,i = 1, 1 ≤ i ≤ n et que l’inverse L = M −1 est aussi triangulaire
inférieure à diagonale = 1.
Donc

A = M −1 U = LU

Conséquence
Les éléments diagonaux ui,i , i = 1, · · · , n de U sont les pivots du
processus de l’élimination de Gauss.

37/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Le résultat théorique qui suit énonce l’existence de LU sans s’engager


dans les étapes d’élimination :

Théorème 5
Soit A une matrice carrée d’ordre n inversible. La factorisation LU de
A avec li,i = 1 existe et est unique
 si et seulementsi toutes les
a1,1 · · · a1,k
 .. .. ..  , 1 ≤ k ≤ n − 1
sous-matrices principales Ak =  . . . 
ak,1 ··· ak,k
extraites de A sont inversibles.

38/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Remarque 6
Nous n’avons pas l’unicité de L, U si on n’impose pas les li,i = 1.
Par ex. on peut avoir A = LU avec L triangulaire inférieure et U
triangulaire supérieure avec ui,i = 1.
Si A non inversible, il peut exister des décompositions LU , sans
avoir l’unicité.
Par exemple :
       
0 1 1 0 0 1 1 0 0 1
= =
0 4 1 1 0 3 2 1 0 2

39/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Exemple.
 
3 0 1
Soit A = 0 2 1, ici n = 3 et il est facile de voir que
1 0 0
det(A) = −2, donc A inversible.
on a la sous-matrice A1 est le scalaire non 
nul 3. 
Donc inversible.
3 0
La sous-matrice principale d’ordre 2 A2 = est clairement
0 2
inversible aussi.
Donc A admet une décomposition LU .
Attention : Il ne s’agit pas dans ce résultat de déterminer L et U
mais de savoir si A est décomposable en LU .

40/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Applications :
Calculer le determinantet l’inverse  d’une matrice :
3 0 1
Reprenons la matrice A = 0 2 1
1 0 0
On peut vérifier à titre d’exercice que A = LU avec
   
1 0 0 3 0 1
L= 0 1 0 et U = 0 2 1 
1/3 0 1 0 0 −1/3

On a det(A) = det(L) × det(U ).


Mais det(L) = 1 et
det(U ) = produit des pivots = −2 ⇒ det(A) = det(U ) = −2.

41/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Inverse de la matrice : On sait que A−1 ei (ei est le ième vecteur de la


base canonique de IR3 ) est la colonne i de A−1 .
Donc pour trouver A−1 , il suffit de résoudre les systèmes
Ax = ei , i = 1, 2, 3
 
3 0 1 | 1 0 0
0 2 1 | 0 1 0
1 0 0 | 0 0 1

Ly = e1 ; U x = y ⇒ x = (0, −1/2, 1)T


Ly = e2 ; U x = y ⇒ x = (0, 1/2, 0)T
Ly = e3 ; U x = y ⇒ x = (1, 3/2, −3)T
D’où  
0 0 1
A−1 = −1/2 1/2 3/2
1 0 −3
42/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Décomposition LU avec permutation


Reprenons le système (3) :
 
1 −1 2 −1 | −8
h i 2 −2 3 −3 | −20
A(0) |b(0) =  
1 1 1 0 | −2 
1 −1 4 3 | 4
l2 → l2 − 2l1 , l3 → l3 − l1 , l4 → l4 − l1
 
1 −1 2 −1 | −8
0 0 −1 −1 | −4
h i  h i
A(1) |b(1) = 
0 2 −1 1 | 6  = M
 (1)
A(0) |b(0)
0 0 2 4 | 12

 
1 0 0 0
−2 1 0 0
M (1) =
−1

0 1 0
−1 0 0 1

43/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

On permute la ligne 2 avec la ligne 3 :


 
1 −1 2 −1 | −8
h
(1) (1)
i 0 2 −1 1 | 6
à |b̃ = 
0 0 −1 −1 | −4
0 0 2 4 | 12
Le passage

A(1) , b(1) −→ Ã(1) , b̃(1) ⇐⇒ P A(1) = Ã(1) , P b(1) = b̃(1)

où P est la matrice dite de permutation suivante :

 
1 0 0 0
0 0 1 0
P =
0
, Pi,j = 0 sauf P1,1 = P4,4 = P2,3 = P3,2 = 1
1 0 0
0 0 0 1

44/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

l4 → l4 + 2l3
 
1 −1 2 −1 | −8
(2) (2)
0 2 −1 1 | 6 = M (2) [Ã(1) |b̃(1) ]
[A |b ] = 
0 0 −1 −1 | −4
0 0 0 2 | 4
 
1 0 0 0
0 1 0 0
avec M (2) =
0
 On en déduit que A(2) = M A, b(2) = M b
0 1 0
0 0 2 1

où M = M (2) P M (1) . Après calcul :


 
1 0 0 0
−1 0 1 0
M = −2

1 0 0
−5 2 0 1

On pose U = A(2) ⇒ U = M A,
45/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Attention ! : La matrice M n’est pas triangulaire inférieure à


cause de la permutation.
−1
il est facile  M inversible et donc A = M U avec
 de vérifier que
1 0 0 0
2 0 1 0
M −1 =  1 1 0 0 qui n’est pas triangulaire inférieure.

1 0 −2 1
Donc A n’est pas de la forme LU .

46/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes directes
Décomposition LU

Définition 7 (Matrice de permutation)


Dans le cas général d’une matrice A carrée quelconque, permuter une
ligne i avec une ligne j 6= i revient à la multiplier A à gauche par la
matrice de permutation P définie de la manière suivante :
tous les coefficients non diagonaux sont nuls sauf Pi,j = Pj,i = 1,
les coefficients diagonaux Pk,k = 1 pour k 6= i, j et Pi,i = Pj,j = 0.

Astuce : On part de la matrice identité, on permute ligne i et ligne j


Propriété
On peut vérifier que toute matrice de permutation P est inversible et
que P −1 = P , ou encore P 2 = I, où I est la matrice unité.

47/95
Revenons à l’exemple précédent , on a trouvé :

U = M A = M P −1 P A = M P P A
−1
⇒ P A = (M P ) U = P −1 M −1 U = P M −1 U
 
1 0 0 0
2 0 1 0
On a M −1 = 1 1 0 0 et calculons

 1 0 −2 1
1 0 0 0
−1
1 1 0 0
PM =  2 0 1 0 = L cela revient à permuter lignes 2 et 3

1 0 −2 1
dans M −1 .
Alors on a P A = LU avec L triangulaire inférieure à diagonale unité.
Attention
Plus généralement, Lorsqu’ on effectue une permutation au moins
dans l’élimination de Gauss, on n’obtient pas une factorisation LU .
En effet, la matrice M obtenue pendant l’élimination n’est pas
triangulaire inférieure. Donc son inverse non plus.
Néanmoins, on peut écrire la matrice P A = LU .
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle

1. Introduction

2. Méthodes directes

3. Rappels d’analyse matricielle


3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres

4. Analyse des erreurs et conditionnement

5. Méthodes indirectes ou itératives

49/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Normes vectorielles et matricielles

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

50/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Normes vectorielles et matricielles

A) Normes Vectorielles
Soit E un espace vectoriel de dimension finie
Définition 8
On appelle norme vectorielle sur l’espace E, une application linéaire
k.k : E −→ IR+ vérifiant :
∀v ∈ E, kvk = 0 ssi v = 0
kα.vk = |α|.kvk, ∀α ∈ IR, v ∈ E
kv + wk ≤ kvk + kwk, ∀v, w ∈ E

Exemples

kvk∞ = max |vi | : norme infinie


1≤i≤n
Xn
kvk1 = |vi | : norme 1
i=0
Xn 1/2
kvk2 = |vi |2 : norme 2 ou euclidienne
i=1

51/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Normes vectorielles et matricielles

Les normes vectorielles en dimension finie sont toutes


équivalentes (voir cours Algèbre). En particuiler :
√ √
kvk∞ ≤ kvk2 ≤ nkvk∞ et kv2 k ≤ kvk1 ≤ nkvk2

Inégalité de Cachy-Schwartz : pour tout vecteur x, y ∈ E,

|(x, y)| = |xT y| ≤ kxk2 kyk2 ,

où (x, y) est le produit scalaire usuel entre x et y :


 
y1 n
 ..  X
(x, y) = (x1 , · · · , xn )  .  = xi yi
| {z }
T yn i=1
x

52/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Normes vectorielles et matricielles

B) Normes Matricielles :
Définition 9
On note Mn (IR) l’espace des matrices réelles carrées d’ordre n.
L’application k.k : Mn (IR) → IR+ est une norme matricielle si :
∀A ∈ Mn (IR), kAk = 0 ssi A = 0
kλAk = |λ|.kAk, ∀λ ∈ IR, A ∈ Mn (IR)
kA + Bk ≤ kAk + kBk, ∀A, B ∈ Mn (IR)
kABk ≤ kAk.kBk

Norme compatible : soit k.k∗ une norme vectorielle, la norme


matricielle k.k est dite compatible avec la norme vectorielle k.k∗
si kAxk∗ ≤ kAk.kxk∗ ∀x ∈ IRn .
Norme subordonnée (ou induite) : c’est la norme matricielle
kAvk∗
définie par kAk = sup = sup kAvk∗ appelée norme
v6=0 kvk∗ kvk∗ =1
matricielle subordonnée à la norme vectorielle k.k∗ .
Pour simplifier il est d’usage d’utiliser la même notation pour les
normes vectorielles et les normes matricielles induites.
53/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Normes vectorielles et matricielles

Exemples
Norme de Frobenius :
 1/2
X
kAkF =  |ai,j |2 
1≤i,j≤n

Norme infini subordonnée :

kAvk∞
kAk∞ = sup
v6=0 kvk∞

Norme euclidienne subordonnée :


kAvk2
kAk2 = sup
v6=0 kvk2

54/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Normes vectorielles et matricielles

Théorème 10
Si A = (ai,j )1≤i,j≤n est une matrice d’ordre n alors
n
X
kAk∞ = max |ai,j |
1≤i≤n
j=1
Xn
kAk1 = max |ai,j |
1≤j≤n
i=1
q q
kAk2 = ρ(AAT ) = ρ(AT A)

AT est la transposée de A et ρ(M ) est le rayon spectral d’une matrice


M (voir plus loin).

55/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Normes vectorielles et matricielles

On peut aussi montrer les résultats suivants :

max |ai,j | ≤ kAk2 ≤ n max |ai,j |


i,j i,j
1 √
√ kAk∞ ≤ kAk2 ≤ nkAk∞
n
1 √
√ kAk1 ≤ kAk2 ≤ nkAk1
n
p
kAk2 ≤ kAk1 kAk∞

56/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Valeurs propres et vecteurs propres

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

57/95
Chapitre 5Résolution numériquedes systèmes linéaires
Rappels d’analyse matricielle
Valeurs propres et vecteurs propres

Définition 11
Soit A une matrice carrée d’ordre n à coefficients réels ou complexes.
On dit que λ ∈ C I est une valeur propre de A s’il existe un vecteur
x ∈CI n non nul tel que Ax = λx. On appelle x un vecteur propre
associé à la valeur propre λ.
On appelle spectre de A l’ensemble sp(A) des valeurs propres
de A.
On appelle rayon spectral de A le réel positif ρ(A) = max |λ|.
λ∈sp(A)

Théorème 12 (Gelsgorin)

Soit une matrice A = (aij ) ∈ Mn (IR). Alors


n
[ X
sp(A) ⊂ {z ∈ C
I ; |z − aii | ≤ |aij |}
i=1 j6=i

où sp(A) est le spectre de A : l’ensemble des valeurs propres.


58/95
Théorème 13
Soit A ∈ Mn (IR) et k.k une norme matricielle subordonnée à une
certaine norme vectorielle alors on a ρ(A) ≤ kAk.

Démonstration.
Si λ est une valeur propre de A associée à un vecteur propre x non
nul, alors Ax = λx.
En prenant la norme des deux côtés de cette égalité :

kAxk = |λ|.kxk
kAxk kAxk
⇒ |λ| = ≤ sup = kAk
kxk x6=0 kxk

Ce qui entraîne que |λ| ≤ kAk. Ceci est valable pour toute valeur
propre de A. D’où le résultat
On a un autre résultat :
Proposition 14

Soit A ∈ Mn (IR),
∀ > 0, ∃k.k une norme sur IRn telle que pour la norme matricielle
subordonnée on a kAk ≤ ρ(A) + .
Chapitre 5Résolution numériquedes systèmes linéaires
Analyse des erreurs et conditionnement

1. Introduction

2. Méthodes directes

3. Rappels d’analyse matricielle

4. Analyse des erreurs et conditionnement

5. Méthodes indirectes ou itératives

60/95
Chapitre 5Résolution numériquedes systèmes linéaires
Analyse des erreurs et conditionnement

Soit le système 
2x1 + 6x2 = 8
(S1)
2x1 + 6.01x2 = 8
La solution est x = (x1 , x2 ) = (4, 0).
On perturbe (S1) lègèrement en :

2x1 + 6x2 = 8
(S2)
2x1 + 5.99x2 = 8.01

et on obtient la solution x̂ = (7, −1) très différente de la solution de


(S1).
Système numériquement instable :
Petite perturbation du système =⇒ Fort décalage de la solution
La perturbation d’un système peut provenir de l’arithmétique
flottante et avoir des conséquences néfastes sur la stabilité des
solutions de certains systèmes.
Plus généralement ce phénomène est lié à une grandeur qui
caractérise une matrice appelée conditionnement.
61/95
Chapitre 5Résolution numériquedes systèmes linéaires
Analyse des erreurs et conditionnement

Définition 15
Soit k.k une norme matricielle subordonnée à une norme vectorielle.
On appelle conditionnement d’une matrice inversible A la quantité
cond(A) = kAk × kA−1 k.

Remarque 16
La valeur de cond(A) dépend du choix de la norme et peut être
noté par exemple pour k.k∞ , cond∞ (A).
On a kIk = kA.A−1 k ≤ kAk.kA−1 k = cond(A). Mais kIk = 1.
Donc on a toujours cond(A) ≥ 1

62/95
Chapitre 5Résolution numériquedes systèmes linéaires
Analyse des erreurs et conditionnement

On peut montrer le résultat qui suit :


Théorème 17
Supposons que x est la solution exacte de Ax = b et que x̂ est la
solution du système perturbé. On note r = b − Ax̂ appelé résidu de la
solution perturbée. Alors on a la double inégalité :

1 krk kx − x̂k krk


≤ ≤ cond(A)
cond(A) kbk kxk kbk

Remarque 18
Si cond(A) proche de 1 l’erreur relative est coincée entre deux
valeurs proches l’une de l’autre. Si krk petit la solution approchée
a toutes les chances d’être satisfaisante.
Si cond(A) est grand, l’erreur relative est ≥ un petit nombre et
krk
≤ cond(A) ←− qui risque d’être grand. Donc la solution
kbk
approximative peut être non précise, voir fausse.
63/95
Chapitre 5Résolution numériquedes systèmes linéaires
Analyse des erreurs et conditionnement

Exemple
 
2 6
Pour A = , cond∞ (A) = 4810.005 ≫ 1. C’est une matrice
2 6.01
très mal conditionnée.

Proposition 19
Soit A ∈ Mn (IR) inversible et b ∈ IRn un vecteur non nul. On suppose
que l’on a une perturbation δb du second membre du système Ax = b.
On note x + δx, la solution du système perturbé A(x + δx) = b + δb.
Montrer que x 6= 0 et que

kδxk kδbk
≤ Cond(A)
kxk kbk

où k.k est une norme matricielle subordonnée.

64/95
Chapitre 5Résolution numériquedes systèmes linéaires
Analyse des erreurs et conditionnement

le vecteur b est non nul. Donc la solution x = A−1 b est non nulle.
A(x + δx) = b + δb
Ax + Aδx = b + δb
Aδx = δb
δx = A−1 δb
kδxk ≤ kA−1 k.kδbk (?)

On a aussi

kbk = kAxk ≤ kAk.kxk


1 kAk
≤ (??) (car x, b non nuls)
kxk kbk

On multiplie terme à terme (?) et (??), on obtient

kδxk kδbk
≤ Cond(A)
kxk kbk

65/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives

1. Introduction

2. Méthodes directes

3. Rappels d’analyse matricielle

4. Analyse des erreurs et conditionnement

5. Méthodes indirectes ou itératives


5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
5.3 Résultats de convergence

66/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Généralités

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

67/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Généralités

Pourquoi des méthodes indirectes : 2


Les méthodes directes ne sont pas adaptées aux systèmes de très
grande taille (car on a des problèmes de stockage en mémoire).
Les méthodes indirectes appelées aussi itératives sont efficaces
pour les grandes matrices creuses (beaucoup de 0).
Principe : Soit A ∈ Mn (IR), b ∈ IRn ,
une méthode itérative pour résoudre le système Ax = b est :

construire une suite de vecteurs x(k) telle que lim x(k) = x,


k→∞
c.a.d. lim kx(k) − xk = 0 où k.k est une norme sur IRn .
k→∞

2. 9/05/2022
68/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Généralités

Déscription : écrire la matrice A sous la forme


A=M −N
où M facilement inversible. La méthode itérative est définie par :
(
x(0) vecteur initial donné
(iter)
Mx (k+1)
= N x(k) + b ⇐⇒ x(k+1) = M −1 N x(k) + M −1 b
On pose B = M −1 N et c = M −1 b, B est appelée matrice de
l’itération.
Si lim x(k) = x alors x est solution de x = Bx + c ⇔ M x = N x + b
k→+∞
qui est solution de Ax = b.
Définition 20

1 On appelle erreur à l’itération k, k ∈ IN d’une méthode itérative


le vecteur e(k) = x(k) − x où x = A−1 b
2 On appelle résidu à l’itération k, k ∈ IN d’une méthode itérative
le vecteur r(k) = b − Ax(k) = −Ae(k)
3 Une méthode itérative est convergente si limk→∞ e(k) = 0 pour
tout vecteur initial x(0) ∈ IRn . Ou encore si limk→∞ r(k) = 0
69/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

70/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

Méthode de Jacobi
On suppose que les éléments diagonaux ai,i 6= 0. On écrit

A = D − E − F,

en choisissant
M = D, N = E + F
où  
a1,1 0 ··· 0
 .. .. 
 0 a2,2 . . 
D = diag(ai,i , 1 ≤ i ≤ n) =   .

 .. .. .. 
. . 0 
0 ··· 0 an,n
D estbien inversible car les ai,i  sont non nuls et 
0 0 ··· 0 0 −a1,2 ··· −a1,n
 . .. .
.. 
  .. .. 
 −a2,1
 , F = 0
 . . 
E=  . .

 .. . .. . ..

 .. .. .. 
0 . . −an−1,n 
−an,1 · · · −an,n−1 0 0 ··· 0 0
71/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

La matrice d’itération est

B = D−1 (E + F ) = D−1 (D − A) = In − D−1 A

La suite associée est définie à partir de l’égalité vectorielle :

Dx(k+1) = (E + F )x(k) + b

à la ligne i :
n
(k+1) (k)
X
ai,i xi =− ai,j xj + bi
j=1,j6=i

soit
 
n
(k+1) 1  X (k) 
∀i, 1 ≤ i ≤ n xi = bi − ai,j xj
ai,i
j=1,j6=i

72/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

Exemple
Soit le sysstème :

3x1 + x2 − x3 = 2
x1 + 5x2 + 2x3 = 17
2x1 − x2 − 6x3 = −18

de solution exacte x = (1, 2, 3).

(k+1) 1 (k) (k)



x1 = 2 − x2 + x3
3
(k+1) 1 (k) (k)

x2 = 17 − x1 − 2x3
5
(k+1) 1 (k) (k)

x3 =− −18 − 2x1 + x2
6

73/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

Soit x(0) = (0, 0, 0), le calcul de 10 itérations donne :


(k) (k) (k)
k x1 x2 x3
1 0.666667 3.400000 3.000000
2 0.533333 2.066667 2.655556
.. .. .. ..
. . . .
10 0.995585 2.004067 2.996331

Les x(k) semblent converger vers (1, 2, 3).

74/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

Méthode de Gauss-Seidel
On suppose toujours ai,i 6= 0 et on prend ici
M = D − E, N = F
M est triangulaire inférieure inversible.
La matrice d’itération est B = (D − E)−1 F .
On a
(D − E)x(k+1) = F x(k) + b
à la ligne i :
i n
(k+1) (k)
X X
ai,j xj =− ai,j xj + bi
j=1 j=i+1

soit
 
i−1 n
(k+1) 1  X (k+1)
X (k) 
∀i, 1 ≤ i ≤ n xi = bi − ai,j xj − ai,j xj
ai,i j=1 j=i+1

75/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

Exemple

3x1 + x2 − x3 = 2
x1 + 5x2 + 2x3 = 17
2x1 − x2 − 6x3 = −18

de solution exacte x = (1, 2, 3).

(k+1) 1 (k) (k)



x1 = 2 − x2 + x3
3
(k+1) 1 (k+1) (k)

x2 = 17 − x1 − 2x3
5
(k+1) 1 (k+1) (k+1)

x3 =− −18 − 2x1 + x2
6

76/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

En partant de x(0) = (0, 0, 0), on a :


(k) (k) (k)
k x1 x2 x3
1 0.6666667 3.266667 2.677778
2 0.4703704 2.234815 2.784321
.. .. .. ..
. . . .
10 0.9998335 2.000113 2.999926

77/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

Remarque 21
La méthode de Gauss-Seidel gère mieux la mémoire que Jacobi.
En effet :
Pour Jacobi : le calcul d’une itération x(k+1) oblige à stocker en
(k)
mémoire tous les xi .
Pour Gauss-Seidel :
(k+1) (k+1)
si x1 calculé on peut l’utilise dans x2 ,
" n
#
(k+1) 1 (k+1)
X (k)
x2 = b2 − a2,1 x1 − ai,j xj
a2,2
j=3

(k)
et on n’a pas besoin de conserver x1 mais seulement
(k) (k) (k)
x3 , x 4 , · · · , x n
(k+1)
ainsi de suite ... pour xi on réutilise les
(k+1) (k+1) (k+1)
x1 , x2 , · · · , xi−1 déja calculés.Donc on n’a besoin de
(k) (k)
garder de l’étape k seulement xi+1 , · · · , xn .

78/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

Méthode de Relaxation
Soit un paramètre ω 6= 0 et on suppose ai,i 6= 0. On prend ici
 
1 1
M = D − E, N = −1 D+F
ω ω

M est bien triangulaire inférieure et les éléments diagonaux sont


ai,i
, 1 ≤ i ≤ n et non nuls. Donc M inversible.
ω
1
La matrice d’itération est Bω = ( D − E)−1 F + ω1 − 1 D .
 
ω

79/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.

On a     
1 1
D − E x(k+1) = − 1 D + F x(k) + b
ω ω
à la ligne i :

i−1 n
ai,i (k+1) X (k+1) (1 − ω) (k)
X (k)
xi + ai,j xj = ai,i xi − ai,j xj + bi
ω j=1
ω j=i+1

soit

∀i, 1 ≤ i ≤ n 
(k+1) ω
Pi−1 (k+1) Pn (k) (k)
xi = ai,i bi − j=1 ai,j xj − j=i+1 ai,j xj + (1 − ω)xi

Cette méthode coincide avec Gauss-Seidel pour ω = 1.


Si 0 < ω < 1, on l’appele méthode de sous-relaxation
et de sur-relaxation dans le cas où ω > 1.
80/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

1. Introduction
2. Méthodes directes
2.1 Objectif
2.2 Elimination de Gauss sans permutation
2.3 Elimination de Gauss avec permutation
2.4 Décomposition LU
3. Rappels d’analyse matricielle
3.1 Normes vectorielles et matricielles
3.2 Valeurs propres et vecteurs propres
4. Analyse des erreurs et conditionnement
5. Méthodes indirectes ou itératives
5.1 Généralités
5.2 Méthodes de Jacobi, de Gauss-Seidel, de Relaxation.
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation
5.3 Résultats de convergence

81/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Etude de la convergence

Revenons à l’itération générale de la forme x(k+1) = Bx(k) + c, où


B = M −1 N, c = M −1 b. A quelles conditions la suite x(k) converge
vers x = A−1 b quand x → +∞
on introduit la définition :
Définition 22
Soit A une matrice carée d’ordre n,
On définit pour k entier ≥ 1, Ak = A × A × · · · × A
| {z }
k fois
On dit que lim Ak = 0 (où 0 est la matrice nulle) si
k→+∞
lim kAk k = 0 pour une certaine norme matricielle k.k.
k→+∞

82/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

On a le théorème fondamental de convergence suivant : 3


Théorème 23

(i) Une condition nécessaire et suffisante pour que l’itération x(k)


converge vers la solution x = A−1 b est ρ(B) < 1 .
(ii) Plus ρ(B) est petit, plus la convergence de la méthode est rapide.

Démonstration au Tableau : séance du 16/05/2022

3. 16/05/2022
83/95
Conséquence
Pour une méthode itérative convergente,
Il existe une norme matricielle pour la quelle kBk < 1 et que :

kBkk
ke(k) k ≤ kx(1) − x(0) k
1 − kBk

Pour un nombre  > 0 donné, il suffit d’effectuer



ln ((1 − kBk)) − ln kx(1) − x(0) k
k≥ itérations.
ln(kBk)
En effet, d’après la démonstration précédente, pour une méthode
convergente, ∃ une norme matricielle t.q. kBk < 1 et on a
ke(k) k ≤ kBkk ke(0) k.
On a ke(0) k = kx(0) − xk ≤ kx(0) − x(1) k + ke(1) k ≤
kx(0) − x(1) k
kx(0) − x(1) k + kBkke(0) k. Donc ke(0) k ≤ . D’où
1 − kBk
k
kBk
ke(k) k ≤ 1−kBk kx(1) − x(0) k.
k
kBk
Il est clair si 1−kBk kx(1) − x(0) k ≤  et si on passe au logarithme
dans cette dernière inégalite, on obtient un nombre d’itérations
minimal suffisant énoncé.
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Nous avons des conditions pour la convergence des méthodes


itératives.
On rappelle d’abord les définitions de certaines matrices particulières :
Définition 24
Une matrice A ∈ Mn (IR) est dite symétrique lorsque
AT = A (ai,j = aj,i , 1 ≤ i, j ≤ n).
Une matrice A ∈ Mn (IR) est dite définie positive (non
nécessairement symétrique) si le produit scalaire
xT Ax = (Ax, x) > 0 pour tout vecteur colonne non nul x. En
particulier les éléments diagonaux ai,i > 0, ∀i = 1, · · · , n

Attention !
Ce n’est pas suffisant que les ai,i > 0 pour que A soit définie >0 .
C’est seulement une conséquence immédiate de la défintion : car
ai,i = (Aei , ei ) où ei est le i ème vecteur de la base canonique de IRn .

85/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Exemple
 
2 2
A= est définie positive : Soit x = (x1 , x2 )T un vecteur non
2 5
nul   
2 2 x1
xT Ax = (x1 , x2 )
2 5 x2
2x1 + 2x2
= (x1 , x2 )
2x1 + 5x2
= 2x21 + 4x1 x2 + 5x22
= 2(x1 + x2 )2 + 3x22 > 0

86/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Contre-exemple
 
2 4
A= n’est pas définie positive :
4 5

 
2 4 x1
xT Ax = (x1 , x2 )
4 5 x2
= 2x21 + 8x1 x2 + 5x22
= 2(x21 + 4x1 x2 ) + 5x22 > 0
= 2(x1 + 2x2 )2 − 8x22 + 5x22
= 2(x1 + 2x2 )2 − 3x22

Si on prend par ex. x1 = −2, x2 = 1, xT Ax = −3 < 0

87/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Propriétés
Soit A une matrice symétrique. Alors A est définie positive ssi
une des propriétés suivantes est satisfaite :
1 Les valeurs propres de A sont toutes > 0.
2 Les déterminants des sous-matrices principales Ak 1 ≤ k ≤ n de
A sont tous strictement positifs (critère de Sylvester) :
On note en particulier qu’une matrice symétrique définie positive
est inversible.
Attention : une matrice inversible n’est pas nécessairement
définie positive (voir contre-exemple précédent).

88/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

On a une condition suffisante de convergence de toute méthode


itérative :
Théorème 25
Soit A une matrice symétrique et définie positive, décomposée en
A = M − N . Si M T + N est définie positive alors M est inversible et
ρ(M −1 N ) < 1.

Corollaire 26
Lorsque A est symétrique et définie positive et de plus 2D − A est
définie positive, la méthode de Jacobi converge.

Démonstration.
On a M = D et N = E + F . Par hypothèse, A et M T + N = 2D − A
définies positives. Le théorème précédent s’applique

89/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Résultats de convergence de la méthode de relaxation :


Rappelons que l’itération de relaxation est x(k+1) = Bω x(k) + c où
1
Bω = ( D − E)−1 F + ω1 − 1 D . On a une condition nécessaire de
 
ω
convergence :
Théorème 27
On a ρ(Bω ) ≥ |ω − 1|, ∀ω ∈ IR. Donc pour que la méthode de
relaxation converge il est nécessaire que ω ∈]0, 2[.

90/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Démonstration.
nλi , 1 ≤ i ≤ n désignent les valeurs propre de Bω alors
Si
Y
λi = | det(Bω )|


i=1
Réécrivons
 −1
 
D
In − ωD−1 E F + ω1 − 1 D
 
Bω =
ω
−1
= In − ωD−1 E ωD−1 F + ω1 − 1 D
 
−1
In − ωD−1 E (1 − ω)In + ωD−1 F

=

La matrice In − ωD−1 E est triangulaire inférieure à diagonale unité


⇒ son inverse aussi (voir TD). De même, (1 − ω)In + ωD−1 F est
triangulaire supérieure avec 1 − ω sur la diagonale.
n
Donc | det(Bω )| = |1 − ω| . Par conséquent, au moins une des v.p. λi
est t.q. |λi | ≥ |1 − ω| ⇒ ρ(Bω ) ≥ |1 − ω|. Pour avoir convergence, il
est nécessaire que |1 − ω| < 1, c.a.d. 0 < ω < 2.

91/95
Maintenant condition nécessaire et suffisante de convergence de
relaxation.
Proposition 28
Soit A une matrice symétrique définie positive. La méthode de
relaxation converge si et seulement si ω ∈]0, 2[.

Démonstration.
On a déjà vu que ω ∈]0, 2[ est nécessaire pour la convergence de
relaxation.
Voyons la réciproque dans le cas où A symétrique définie > 0. On
a:
   
D 1−ω
A=M −N = −E − D+F
ω ω
DT 1−ω
⇒ MT + N = − ET + D+F
ω ω
2−ω
Mais DT = D et E T = F . Ce qui implique M T + N = D.
ω
Cette dernière matrice est définie positive si ω ∈]0, 2[ et on utilise
le Th. 25
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Définition 30
Une matrice A = (ai,j )1≤i,j≤n est dite à diagonale strictement
dominante si :
n
X
|ai,i | > |ai,j | ∀i = 1, · · · , n
j=1,j6=i

Théorème 31
Si A est à diagonale strictement dominante, alors les méthodes de
Jacobi et de Gauss-seidel sont convergentes.

Démonstration.
Voir TD pour la démonstration

93/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Les matrices particulières suivantes jouent un rôle important dans la


résolution de certains problèmes différentiels.
Définition 32
Une matrice A ∈ Mn (IR) est tridiagonale si ai,j = 0 pour tout
1 ≤ i, j ≤ n tels que |i − j| > 1, c.a.d. A de la forme
 
? ?
? ? ? 0 
 
 .. .. 
A=  ? . . 

 0 ..
 . 
?
? ?

Théorème 33
Si une matrice A est tridiagonale, alors les méthodes de Jacobi et de
Gauss-Seidel convergent ou divergent simultanément.
De plus, on a ρ(BGS ) = (ρ(BJ ))2 . Dans le cas de la convergence,
Gauss-Seidel converge plus vite.
94/95
Chapitre 5Résolution numériquedes systèmes linéaires
Méthodes indirectes ou itératives
Résultats de convergence

Fin du cours
Bon courage

95/95

Vous aimerez peut-être aussi