Vous êtes sur la page 1sur 21

Chapitre 1

RÉSOLUTION DES SYSTÈMES


LINÉAIRES

1.1 Introduction

Beaucoup de problèmes mathématiques dont l'existence d'une solution est bien


établie sont impossible à résoudre directement. L'analyse numérique qui est une
discipline des mathématiques permet de résoudre, par des calculs purement numé-
riques, des problèmes d'analyse mathématique.
L'objet de l'analyse numérique est de concevoir et d'étudier des méthodes de
résolution de certains problèmes mathématiques et dont on cherche à calculer une
solution approchée à l'aide des algorithmes numériques.
De telles méthodes passent souvent par la résolution de systèmes linéaires Ax =
b, qui est l'objectif de ce chapitre.

1.2 Notations et Rappels

dénition 1. On notera,
1. Rm×n : l'ensemble des matrices de taille m × n (à m lignes et n colonnes) à
coecients réels.
2. Rn×n : l'ensemble des matrices carrées de taille n × n.
3. Rn : l'ensemble des vecteurs de taille n à coecients réels.
Dénition 2. Soit A une matrice de Rn×n . A est dite inversible ou régulière
si il existe une matrice B telle que AB = BA = In . In désigne la matrice identité

1
de Rn×n :  
1 0 0
 0 1 . 
 
In = 
 . . . .

 . . 0 
0 0 1
La matrice B est alors notée A−1 et appelée inverse de A.

Dénition 3. Soit A une matrice de Rm×n . On appelle respectivement matrice


transposée de A = (ai,j )i=1,...,m;j=1,...,n , notée AT , la matrice de Rn×m dénies par
AT = (aj,i )=j,...,n;i=1,...,m .

Dénition 4. Soit A une matrice de Rn×n . La matrice A est dite :


1. diagonale : si ai,j = 0 pour tout (i, j) tel que i 6= j ,
2. symétrique : si A = AT ,
3. orthogonale : A−1 = AT ,
4. symétrique positive : si A est symétrique et si pour tout vecteur v de Rn , on
a v T Av ≥ 0,
5. symétrique dénie positive : si A est symétrique et si pour tout vecteur v de
Rn \ {0}, on a v T Av > 0,
6. triangulaire inférieure si ai,j = 0 pour tout (i,j) tel que i < j .
7. triangulaire supérieure si ai,j = 0 pour tout (i,j) tel que i > j .

1.3 Normes

1.3.1 Normes vectorielles

La norme est une application dénie par :

k • k : E −→ R+

x −→ kxk
et elle vérie les propriétés suivantes :
1. kxk ≥ 0
2. kxk = 0 ⇐⇒ x = 0
3. kλxk = |λ|kxk
4. kx + yk ≤ kxk + kyk

2
Exemple E = Rn :
n
X
 kxk1 = |xi |,
i=1
s
X n
 kxk2 = x2i ,
i=1
n
1
|xi |p ) p ,
X
 kxkp = (
i=1
 kxk∞ = sup {|xi |}
i=1,...,n
On a les inégalités importantes suivantes :

Inégalité de Minkowski :

n
1 n
1 n
1
|xi + yi |p ) p ≤ ( |xi |p ) p + ( |yi |p ) p
X X X
(
i=1 i=1 i=1

Inégalité de Holder :

n
X
|xi yi | ≤ kxkp kykq ,
i=1

1 1
où + = 1.
p q
En particulier l'inégalité de Cauchy-Schwarz :

n n 1 n 1
X X X
2 2 2 2
|xi yi | ≤ ( xi ) ( yi )
i=1 i=1 i=1

Produit scalaire usuel :

n
X
< x, y >= xi y i = y T x
i=1

3
1.3.2 Normes matricielles

Dénition. L'application k k de Rn×n −→ R+ est une norme matricielle si et


seulement si :
1. ∀A ∈ Rn×n , kAk = 0 ⇐⇒ A = 0.
2. ∀A ∈ Rn×n , ∀λ ∈ R, kλAk = |λ|kAk.
3. ∀A, B ∈ Rn×n , kA + Bk ≤ kAk + kBk.
4. ∀A, B ∈ Rn×n , kABk ≤ kAkkBk.
La propriété 4 caractérise les normes matricielles. Dans ce cas, on parle d'une
norme multiplicative.
Exemple :
Soit A une matrice n × m, étant donnée une norme vectorielle, on appelle norme
matricielle subordonnée, la norme matricielle dénie par :
kAk = max kAxk
x∈Rn ,kxk=1

Exemples de normes matricielles

1. kAk2 = max kAxk2


x∈Rn ,kxk2 =1
n
X
2. kAk1 = max kAxk1 = max |ai,j |
x∈Rn ,kxk1 =1 1≤j≤m
i=1
Xm
3. kAk∞ = max kAxk∞ = max |ai,j |
x∈Rn ,kxk∞ =1 1≤i≤n
j=1

On a : kAk1 = kAT k∞ . (Exercice)

1.3.3 Rayon spectrale d'une matrice

Dénition : on appelle rayon spectrale d'une matrice carrée A, le nombre réel


ρ(A) tel que :
ρ(A) = max {|λi |}
i=1,...,n

avec λi , i = 1, . . . , n sont les valeurs propres de la matrice A.


Proposition. Soit k k une norme matricielle sur Rn×n (ayant donc la propriété
multiplicative ), alors
ρ(A) ≤ kAk

4
Remarque :
si A est une matrice carrée symétrique n × n, alors

kAk2 = ρ(A)

Corollaire. Soit A ∈ Rn×n . Les quatre conditions suivantes sont équivalentes :


1. lim An = 0
n→∞
2. ∀v ∈ Rn , lim An v = 0
n→∞
3. ρ(A) < 1
4. Il existe au moins une norme matricielle k • k, telle que kAk < 1.
D'après le corollaire ci-dessus, on a le résultat suivant.

Théorème 1 Soit A une matrice de Rn×n . Une condition nécessaire et susante


pour An converge vers 0 (lorsque n tend vers l'inni) est que
ρ(A) < 1.

1.4 Résolution de Systèmes linéaires

Nous nous intéressons dans ce chapitre à des méthodes de résolution d'un


système linéaire Ax = b où A ∈ Rn×n est une matrice donnée, b ∈ Rn un vecteur
donné et x ∈ Rn est l'inconnue du problème. Donc le système linéaire Ax = b peut
s'écrire sous ma forme suivante :
    
a1,1 a1,2 a1,n x1 b1
 a2,1 a2,2 .   x 2   b2 
    

 . . .  .  =  . 
   
 . . an−1,n   .   . 
an,1 an,n−1 an,n xn bn

ce qui est équivalent aussi à :




 a1,1 x1 + a2,1 x2 + ... + a1,n xn = b1 ,
 a2,1 x1 + a2,2 x2 + ... + a2,n xn = b2 ,


. (1.1)
.




an,1 x1 + an,2 x2 + ... + an,n xn = bn ,

Il est important de bien remarquer que l'on ne calcule jamais l'inverse de la


matrice A(même si sur le papier on a x = A−1 b). En eet, calculer A−1 revient à

5
résoudre le problème suivant : trouver une matrice B telle que AB = In , c'est-à-
dire à résoudre un système linéaire de n2 équations à n2 inconnues !, ou à résoudre
n système linéaires chacun d'ordre n. En tout cas c'est très coûteux numériquement.

Dans les paragraphes qui suivent on discutera des techniques numériques qui
consistent à transformer le problème original en un problème ayant une forme par-
ticulière, pour laquelle la solution devient triviale ou très simple.

En général, on distingue entre deux grandes familles de méthodes pour résoudre


le système linéaire Ax = b :
1. Les méthodes directes : On obtient la solution en un nombre ni d'opé-
rations. Si elle est numériquement "mauvaise", on ne peut en général plus
rien faire pour l'améliorer.
2. Les méthodes itératives : On construit une suite qui tend vers la solution.
Si on n'est pas satisfait du résultat, on peut continuer. Cette fois la qualité
de la solution est primordiale.

1.5 Les méthodes directes

On ne change pas la solution d'un système linéaire lorsque :


1. on permute deux lignes,
2. on permute deux colonnes,
3. on multiplie une ligne par un réel non nul,
4. on ajoute une ligne à une autre.
Nous allons donc utiliser ces transformations pour se ramener aux cas simples.

1.5.1 Résolution d'un système triangulaire supérieur

Exemple :

6
D'une manière générale, on peut trouver toutes les valeurs de xi par la méthode
itérative suivante (la remontée) :

bn

 xn =
 ,


 an,n
 n
(1.2)
X
 bi − ai,j xj

j=i+1
, pour i = n − 1, ..., 1,

 xi =


ai,i

1.5.2 Résolution d'un système triangulaire inférieur

Exemple :

7
D'une manière générale, on peut trouver toutes les valeurs de xi par la méthode
itérative suivante (la descente) :

b1


 x1 = ,


 a1,1
i−1

(1.3)
X
 bi − ai,j xj

j=1
, pour i = 2, ..., n,


 xi =

ai,i
Dans de nombreuses méthodes, l'objectif est de transformer A pour la rendre
triangulaire, inférieure ou supérieur, et en suite calculer les solutions en utilisant
une remontée ou une descente.

1.5.3 La méthode de Gauss

La stratégie de la méthode de Gauss : Transformer le système linéaire en un


système équivalent triangulaire supérieur, facile à résoudre.

La description de la méthode de Gauss :


Prenons l'exemple suivant :

8

 x1 + 2x2 + 2x3 = 2 L1 ,
x1 + 3x2 − 2x3 = −1 L2 , (1.4)
3x1 + 5x2 + 8x3 = 8 L3 ,

On conserve la ligne L1 , qui sert de pivot pour éliminer l'inconnue x1 des autres
lignes ; pour cela, on retire L1 à L2 , et 3 fois L1 à L3 . On obtient :

 x1 + 2x2 + 2x3 = 2 L1 ,
x2 − 4x3 = −3 L2 ← L2 − L1 , (1.5)
−x2 + 2x3 = 2 L3 ← L3 − 3L1 ,

On conserve alors la ligne L2 qui sert de pivot pour éliminer x2 de la troisième


ligne ; pour cela, on remplace la ligne L3 par L3 + L2 . On trouve :

 x1 + 2x2 + 2x3 = 2 L1 ,
x2 − 4x3 = −3 L2 , (1.6)
−2x3 = −1 L3 ← L3 + L2 ,

On résoud nalement le système par remontée, ce qui donne


1

 x3 =
 ,
2 (1.7)
x = −3 + 4x3 = −1,
 2

x1 = 2 − 2x2 − 2x3 = 3,
Comment cela se passe avec des matrices ?

9
Description
Décrivons la méthode : on suppose que a1,1 soit non nul ; la ligne L1 est la ligne
pivot qu'on va retrancher (avec un coecient) aux lignes suivantes de façon à faire
aparaître des zéros en première colonne à partir de la ligne 2.

donne

10
(k)
On recommence ainsi de proche en proche : à l'étape k on suppose que ak,k est
non nul (quitte à permuter avec les lignes en dessous). Si on ne peut pas trouver de
coecient diagonal non nul à ce stade c'est que la matrice A n'est pas inversible.
Détaillons l'étape k

11
On eectue les opérations suivantes sur les lignes se trouvant en dessous de Lk :
(k)
ak+i,k
Lk+i ←− Lk+i − (k)
∗ Lk i = 1, ..., n − k
ak,k

de sorte que le système devient :

Après n − 1 étapes on obtient un système triangulaire supérieur.

12
Une fois que le système matrice a été mis sous forme triangulaire supérieur on
n'a plus qu'à résoudre un système triangulaire par la méthode de la remontée.

Algorithme de Gauss
Pour k = 1, . . . , n
Pour i = k + 1, . . . , n
(k)
ai,k (k) (k) (k)
wi,k = (k) ; bi = [bi − wi,k bk ];
ak,k
Pour j = k, . . . , n
(k+1) (k) (k)
ai,j = [ai,j − wi,k ak,j ]
Fin(j) ;
Fin(i) ;
Fin(k) ;
(n)
bn
xn = (n)
an,n
Pour i = n − 1, . . . , 1
X n
bi − ai,j xj
j=i+1
xi = ,
ai,i
Fin(i).

13
1.5.4 La décomposition L U

La méthode de la décomposition LU consiste à factoriser la matrice A en un


produit de deux matrices L et U

A = LU

telles que L une matrice triangulaires inférieure avec des 1 sur la diagonale, et U
une matrice triangulaire supérieure.

Alors résoudre Ax = b peut aussi s'écrire :

Ax = (LU )x = L(U x) = b.

Que l'on peut décomposer en deux étapes, avec une variable intermédiaire :y

Ax = b ⇐⇒ (LU )x = b ⇐⇒ L(U x) = b ⇐⇒ Ly = b avec y = U x

1. Résoudre Ly = b.
2. Résoudre U x = y .
Intérêt de la méthode : Si on connaît L et U, les étapes (1) et (2) se résolvent
simplement :
 en appliquant pour (1) une descente (L est triangulaire inférieur)
 en appliquant pour (2) une remontée (U est triangulaire supérieur)
Théorème 1. Si au cours de l'élimination de Gauss sur la matrice A, les pivots
sont non nuls, alors il existe une matrice triangulaire inférieure L et une matrice
triangulaire supérieure U, telle que : A = L U. Si de plus on impose à L d'avoir
les éléments diagonaux égaux à un alors la factorisation est unique.

Pour Calculer L et U facilement on se sert de la méthode du pivot de Gauss.

Exemple : Soit A une matrice de R3×3


 
1 2 1
A =  4 3 1 .
2 2 3
première étape :

14
Idée : Au lieu de garder les 0 dans la nouvelle matrice , on conserve dans ces
cases le coecient par lequel on a multiplié L1 .

Idée : Au lieu de garder le 0 dans la nouvelle matrice , on conserve dans cette


case le coecient par lequel on a multiplié L2 .
On en déduit L et U

15
 
1 0 0
L= 4 1 0 
 
2
2 1
5
et  
1 2 1
U =  0 −5 −3  .
 
11
0 0
5
Vous pourrez vérier que A = LU .

L'algorithme de la décomposition L U :
L = In (Initialisation de la matrice L)
Pour k = 1, . . . , n
Pour i = k + 1, . . . , n
(k)
ai,k
wi,k = (k) ; li,k = wi,k ;
ak,k
Pour j = k, . . . , n
(k+1) (k) (k)
ai,j = [ai,j − wi,k ak,j ]
Fin(j) ;
Fin(i) ;
Fin(k) ;

16
U=A
On utilise la descente pour résoudre Ly = b
On utilise la remontée pour résoudre U x = y

1.6 Les méthodes itératives

1.6.1 Principe général

Pour des systèmes de grande taille, les méthodes directes, peuvent s'avérer
trop coûteuses en temps de calcul ou en place mémoire. L'idée est alors de ne plus
chercher à résoudre exactement le système linéaire mais d'approcher sa solution
par une suite de vecteurs construite à l'aide d'une formule de récurrence simple.
Soit un système linéaire
Ax = b (S)

A est une matrice carrée inversible, x et b ∈ Rn . Le principe des méthodes itératives
présentées ici est d'écrire A comme la diérence de deux matrices :

A=M −N


1. M est inversible
2. le système linéaire M y = c peut être résolu simplement, avec un coût de
calcul faible : typiquement M sera diagonale.
On va alors approcher la solution de (S) par la suite (x(k) ) dénie par récur-
rence à partir de x(0) qu'on choisit au début comme solution initiale, et de
la formule suivante :
x(k+1) = M −1 (b + N x(k) )
Remarque. On n'a pas besoin de calculer M −1 , mais juste de savoir calculer
la solution du système :
M x(k+1) = (b + N x(k) ) (1.8)
On appelle cette construction méthode itérative basée sur la décomposition régu-
lière (M,N).

Remarque. Si (x(k) )k converge vers x alors (1.8) donne par passage à la limite
M x = N x + b et donc (M − N )x = b c'est à dire Ax = b.
Ainsi, si (x(k) )k converge alors, la suite converge vers la solution du système linéaire

17
Ax = b.

Dénition 5. On dit qu'une méthode itérative converge ssi (x(k) )k converge


quel que soit la donnée initiale x(0) .

Dénition 6. On appelle résidu (resp. erreur) à l'itération k, le vecteur r(k) =


b−Ax(k) (resp. e(k) = x(k) −x), où x désigne la solution exacte du problème Ax = b.

Remarque. On ne connaît pas e(k) mais il est facile de calculer r(k) à chaque
itération. La méthode est convergente ssi lim e(k) = 0 ou lim r(k) = 0.
k→∞ k→∞

On appelle M −1 N la matrice d'itération de la méthode itérative associée à la


décomposition régulière (M,N)).

Théorème 2 La méthode itérative (1.8) converge ssi ρ(M −1 N ) < 1.


Démonstration :
Soit x la solution exacte du problème Ax = b. Puisque A = M − N alors on a
x = M −1 N x + M −1 b. Ainsi :

e(k) = x(k) − x
= (M −1 N x(k−1) + M −1 b) − (M −1 N x + M −1 b)
= M −1 N (x(k−1) − x)
= M −1 N e(k−1)

Il en découle que e(k) = (M −1 N )k e(0) . Alors e(k) converge vers 0 lorsque k tend
vers l'inni ssi (M −1 N )k converge vers 0 lorsque k tend vers l'inni, c.a.d ssi
ρ(M −1 N ) < 1.

1.6.2 La méthode de Jacobi

On considère une matrice A inversible dont la diagonale D est inversible. La


méthode de Jacobi consiste à choisir M = D et N = D − A.

Description de la méthode :

18


 a1,1 x1 + a1,2 x2 + ... + a1,n xn = b1 ,
 a2,1 x1 + a2,2 x2 + ... + a2,n xn = b2 ,


.
.




an,1 x1 + an,2 x2 + ... + an,n xn = bn ,

ce qui est équivalent à :



b1 − a1,2 x2 − ... − a1,n xn
x1 = ,


a1,1





 b2 − a2,1 x1 − a2,3 x3 − ... − a2,n xn
 x2 = ,


a2,2
(1.9)

 .
.



bn − an,1 x1 − an,2 x2 − ... − an,n−1 xn−1



 xn = ,


an,n
Le principe de la méthode de Jacobi est de considérer le système suivant :

(k−1) (k−1)

 (k) b1 − a2,1 x2 − ... − a1,n xn

 x1 = ,


 a1,1
(k−1) (k−1) (k−1)

b2 − a2,1 x1 − a2,3 x3 − ... − a2,n xn

 (k)
 x2 = ,


a2,2 (1.10)

 .



 .
 (k−1) (k−1) (k−1)
bn − an,1 x1 − an,2 x2 − ... − an,n−1 xn−1

 (k)
 xn = ,


an,n

Algorithme de Jacobi :
Tant que kb − Ax(k) k2 > ε

n
X (k−1)
bi − ai,j xj
(k) j=1,j6=i
xi = , i = 1, . . . , n
ai,i
Fin

19
Dénition. une matrice carrée A est dite à diagonale strictement dominante
si et seulement si :
n
|ai,j | pour i = 1, . . . , n
X
|ai,i | >
j=1,j6=i

Exemple :
 
5 3 −1
A =  4 −9 3  .
−3 1 10
Proposition. Si A est à diagonale strictement dominante alors la méthode de
Jacobi converge pour tout choix de x(0) .

1.6.3 La méthode de Gauss-Seidel

On considère une matrice A inversible dont la diagonale D est inversible. On


note A = D − L − U , où −L est la partie triangulaire inférieure strictement de
A, et −U est la partie triangulaire supérieure strictement de A. La méthode de
Gauss-Seidel consiste à choisir M = D − L et N = U .

Description de la méthode :
On considère toujours le système suivant :

b1 − a2,1 x2 − ... − a1,n xn
x1 = ,


a1,1





 b2 − a2,1 x1 − a2,3 x3 − ... − a2,n xn
 x2 = ,


a2,2
(1.11)

 .
.



bn − an,1 x1 − an,2 x2 − ... − an,n−1 xn−1



 xn = ,


an,n
Le principe de la méthode de Gauss-Seidel est de considérer le système équi-
valent suivant :

20
(k−1) (k−1)

 (k) b1 − a2,1 x2 − ... − a1,n xn

 x1 = ,


 a1,1
(k) (k−1) (k−1)

b2 − a2,1 x1 − a2,3 x3 − ... − a2,n xn

 (k)
 x2 = ,


a2,2 (1.12)

 .



 .
 (k) (k) (k)
bn − an,1 x1 − an,2 x2 − ... − an,n−1 xn−1


 x(k) = ,

 n
an,n
Algorithme de Gauss-Seidel :
Tant que kb − Ax(k) k2 > ε

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

Proposition. Si A est à diagonale strictement dominante alors la méthode de


Gauss-Seidel converge pour tout choix de x(0) .

Proposition. Si A est symétrique dénie positive alors la méthode de Gauss-


Seidel converge pour tout choix de x(0) .

21

Vous aimerez peut-être aussi