Vous êtes sur la page 1sur 6

Chapitre 6

Méthode de résolution directe des systèmes


d’équations linéaires
Résoudre l’ensemble d’équations linéaires Ax = b

1. Définition Définition : système linéaire


Soit n, p,≥ 1 des entiers. Un SYSTÈME LINÉAIRE n ×p est un ensemble de n équations linéaires à p inconnues de la forme

a x + . . . + a 1p x p = b 1 ,

 11 1

.. .. ..
(S) . . .


a n1 x 1 + . . . + a np x p = b n .

? Les COEFFICIENTS a i j et les SECONDES MEMBRES b i sont des éléments donnés de R. Les INCONNUES x 1 , x 2 , . . . , x p sont
à chercher dans R.
? Le SYSTÈME HOMOGÈNE associé à (S) est le système obtenu en remplaçant les b i par 0.
? Une SOLUTION de (S) est un p-uplet (x 1 , x 2 , . . . , x p ) qui vérifie simultanément les n équations de (S). Résoudre (S)
signifie chercher toutes les solutions.
? Un système est IMPOSSIBLE, ou incompatible, s’il n’admet pas de solution. Un système est POSSIBLE, ou compatible,
s’il admet une ou plusieurs solutions.
? Deux systèmes sont ÉQUIVALENTS s’ils admettent les mêmes solutions.

Écriture matricielle
Si on note

x1 b1 a 11 ... a 1p
     
 .   .   . .. 
x =  ..  b =  ..  A =  .. . 
xp bn a n1 ... a np

le système (S) est équivalent à l’écriture matricielle Ax = b.


Dans ce chapitre, nous ne traiterons que des systèmes linéaires carrés d’ordre n à coefficients réels, autrement dit A =
(a i , j ) ∈ Rn×n et b = (b i ) ∈ Rn . Dans ce cas, on est assuré de l’existence et de l’unicité de la solution si une des conditions
équivalentes suivantes est remplie :
1. A est inversible (i.e. det(A) 6= 0) ;
2. le système homogène Ax = 0 admet seulement la solution nulle.

La solution du système peut alors être calculée par la formule de C RAMER. Cependant cette formule est d’une utilité pra-
tique limitée à cause du calcul des déterminants qui est très couteux. Pour cette raison, des méthodes numériques alter-
natives aux formules de C RAMER ont été développées. Elles sont dites directes si elles fournissent la solution du système
en un nombre fini d’étapes, itératives si elles nécessitent (théoriquement) un nombre infini d’étapes. Notons dès à présent
que le choix entre une méthode directe et une méthode itérative pour la résolution d’un système dépend non seulement
de l’efficacité théorique des algorithmes, mais aussi du type de matrice, des capacités de stockage en mémoire et enfin de
l’architecture de l’ordinateur.

1
5.

2. Méthode (directe) d’élimination de GAUSS et factorisation LU


Définition Matrices et systèmes triangulaires
On dit qu’une matrice carrée A = (a i j )1≤i , j ≤n est TRIANGULAIRE SUPÉRIEURE (respectivement triangulaire INFÉRIEURE)
si i > j =⇒ a i j = 0 (resp. si i < j =⇒ a i j = 0).
Si la matrice est triangulaire supérieure (resp. triangulaire inférieure), on dira que le système linéaire est un système
triangulaire supérieur (resp. triangulaire inférieur).
Pour résoudre le système triangulaire Ax = b,
b
? si A est une matrice triangulaire inférieure, on a x 1 = a 1 et on déduit les inconnues x 2 , x 3 , . . . x n grâce à la relation
à ! 11
iP
−1
1
xi = a bi − ai j x j ;
ii
j =1
bn
? si A est une matrice triangulaire supérieure on a x n = a nn et on déduit les inconnues x n−1 , x n−2 , . . . x 1 grâce à la relation
à !
n
1 P
xi = a bi − ai j x j .
ii
j =i +1

Propriété
Le déterminant d’une matrice triangulaire est égal au produit des éléments diagonaux.

La méthode du pivot de G AUSS transforme le système Ax = b en un système équivalent (c’est-à-dire ayant la même
solution) de la forme Ux = y, où U est une matrice triangulaire supérieure et y est un second membre convenablement
modifié. Enfin on résout le système triangulaire Ux = y.
Définition Méthode du pivot de GAUSS
Soit A = (a i j ) 1≤i ≤n la matrice des coefficients du système Ax = b.
1≤ j ≤p
Étape k : en permutant éventuellement deux lignes du système, on peut supposer a kk 6= 0 (appelé pivot de l’étape k). On
transforme toutes les lignes L i avec i > k comme suit :
ik
`
=

ai k
Li ← Li − Lk .
a kk

En réitérant le procédé pour k de 1 à n, on aboutit à un système triangulaire supérieur.

Exemple
Soit le système linéaire
x +2x 2 +3x 3 +4x 4 = 1,

 1

2x 1 +3x 2 +4x 3 +x 4 = 2,

3x +4x 2 +x 3 +2x 4 = 3,
 1


4x 1 +x 2 +2x 3 +3x 4 = 4.
1. Résolution par la méthode du pivot de G AUSS :

x 1 +2x 2 +3x 3 +4x 4 = 1 LL 2 ←L 2 −2L 1


x 1 +2x 2 +3x 3 +4x 4 = 1
 
3 ←L 3 −3L 1 


2x 1 +3x 2 +4x 3 +x 4 = 2 L 4 ←L 4 −4L 1 −x 2 −2x 3 −7x 4 = 0
 
−−−−−−−−−→

 3x 1 +4x 2 +x 3 +2x 4 = 3 
 −2x 2 −8x 3 −10x 4 = 0
 
4x 1 +x 2 +2x 3 +3x 4 = 4 −7x 2 −10x 3 −13x 4 = 0
x +2x 2 +3x 3 +4x 4 = 1 x 1 +2x 2 +3x 3 +4x 4 = 1
 
 1
L 3 ←L 3 −2L 2  

L 4 ←L 4 −7L 2 −x 2 −2x 3 −7x 4 = 0 L 4 ←L 4 +L 3 −x 2 −2x 3 −7x 4 = 0
 
−−−−−−−−−→ −−−−−−−−→

 −4x 3 +4x 4 = 0 
 −4x 3 +4x 4 = 0
 
4x 3 +36x 4 = 0 40x 4 = 0

donc x 4 = 0, x 3 = 0, x 2 = 0 et x 1 = 1.
2. Résolution par la méthode du pivot de G AUSS en écriture matricielle :

 L 2 ←L 2 −2L 1 
1 2 3 4 1 1 2 3 4 1
 
L 3 ←L 3 −3L 1
 2 3 4 1 2  0 −1 −2 −7 0 
 −L−4−←L 4 −4L 1

[A|b] = 
 −−−−−−→  
3 4 1 2 3   0 −2 −8 −10 0 
4 1 2 3 4 0 −7 −10 −13 0

2
1 2 3 4 1 1 2 3 4 1
   
L 3 ←L 3 −2L 2
 0
L 4 ←L 4 −7L 2  −1 −2 −7 0  L 4 ←L 4 +L 3  0 −1 −2 −7 0 

−−−−−−−−−→  −−−−−−−−→  
0 0 −4 4 0   0 0 −4 4 0 
0 0 4 36 0 0 0 0 40 0

donc x 4 = 0, x 3 = 0, x 2 = 0 et x 1 = 1.
Si on a plusieurs systèmes dont seul le second membre change, il peut être utile de factoriser une fois pour toute la
matrice A et résoudre ensuite des systèmes triangulaires.
Algorithme de factorisation LU sans pivot
Soit le système linéaire Ax = b.
Factorisation On commence par factoriser la matrice A ∈ Rn×n sous la forme d’un produit de deux matrices A = LU.
Les termes non nuls de U et les termes non nuls en-dessous de la diagonale principale de L sont mémorisés encore
dans la matrice A et sont ainsi calculées :
for k = 1 to n − 1 do
for i = k + 1 to n do
ai k
ai k ← {Il s’agit de `i k mémorisé dans a i k }
a kk
for j = k + 1 to n do
ai j ← ai j − ai k ak j {Il s’agit de u i j mémorisé dans a i j }
end for
end for
end for
Résolution Résoudre le système linéaire revient maintenant à résoudre successivement
1. le système triangulaire inférieur Ly = b : les éléments non nuls de la matrice triangulaire inférieure L sont
donné par `i j = a i j pour i = 1, . . . , n et j = 1, . . . , i − 1 et `i i = 1 pour tout i = 1, . . . , n, donc l’algorithme
s’écrit
y 1 ← b1
for i = 2 to n do
si ← 0
for j = 1 to i − 1 do
si ← si + ai j y j
end for
y i ← bi − si
end for
2. le système triangulaire supérieure Ux = y : les éléments non nuls de la matrice triangulaire supérieure U sont
donné par u i j = a i j pour i = 1, . . . , n et j = i , . . . , n, donc l’algorithme s’écrit
yn
xn ←
a nn
for i = n − 1 to 1 by −1 do
si ← 0
for j = 1 to i − 1 do
si ← si + ai j y j
end for
y i − si
xi ←
ai i
end for
Attention
Pour une matrice quelconque A ∈ Rn×n , la factorisation LU existe et est unique si et seulement si les sous-matrices
principales Ai de A d’ordre i = 1, . . . , n − 1 (celles que l’on obtient en restreignant A à ses i premières lignes et colonnes)
ne sont pas singulières (autrement dit si les mineurs principaux, i.e. les déterminants des sous-matrices principales, sont
non nuls).

On peut identifier des classes de matrices particulières pour lesquelles les hypothèses de cette proposition sont satis-
faites :
Proposition
Si la matrice A ∈ Rn×n est symétrique et définie positive ou si est à diagonale dominante a alors la factorisation LU existe
et est unique.

a. A ∈ Rn×n est
? symétrique si a i j = a j i pour tout i , j = 1, . . . , n,
? définie positive si pour tout vecteurs x ∈ Rn avec x 6= 0, xT Ax > 0,

3
Pn
? à diagonale dominante par lignes si |a i i | ≥ |a |, pour i = 1, . . . , n (à diagonale dominante stricte par lignes si l’inégalité est stricte),
j =1 i j
j 6=i
? à diagonale dominante par colonnes si |a i i | ≥ nj=1 |a j i |, pour i = 1, . . . , n (à diagonale dominante stricte par colonnes si l’inégalité est stricte),
P

j 6=i

Une technique qui permet d’effectuer la factorisation LU pour toute matrice A inversible, même quand les hypothèses de
cette proposition ne sont pas vérifiées, est la méthode du pivot par ligne : il suffit d’effectuer une permutation convenable
des lignes de la matrice originale A à chaque étape k où un terme diagonal a kk s’annule.
Définition Algorithme de GAUSS avec pivot
(k)
Dans la méthode d’élimination de G AUSS les pivot a kk doivent être différents de zéro. Si la matrice est inversible mais un
pivot est zéro (ou numériquement proche de zéro), on peut permuter deux lignes avant de poursuivre la factorisation.
Concrètement, à chaque étape on cherche à avoir le pivot de valeur absolue la plus grande possible. L’algorithme modifié
s’écrit alors
for k = 1 to n − 1 do
for i = k + 1 to n do
Chercher r¯ tel que |a r(k)
¯k
| = maxr =k,...,n |a r(k)
k
| et échanger la ligne k avec la ligne r¯
a i(k)
k
`i k ← (k)
a kk
for j = k + 1 to n do
a i(k+1)
j
← a i(k)
j
− `(k) a (k)
ik k j
end for
end for
end for
Une fois calculées les matrices L et U et la matrice des permutations P (i.e. la matrice telle que PA = LU), résoudre
le système linéaire consiste simplement à résoudre successivement le système triangulaire inférieur Ly = Pb puis le
système triangulaire supérieure Ux = y.

Propriété Déterminant Qn
La factorisation LU permet de calculer le déterminant de A en O(n 3 ) car det(A) = det(L) det(U) = k=1
u kk .

Propriété Inverse d’une matrice


Le calcul explicite de l’inverse d’une matrice peut être effectué en utilisant la factorisation LU comme suit. En notant X
l’inverse d’une matrice régulière A ∈ Rn×n , les vecteurs colonnes de X sont les solutions des systèmes linéaires

Axi = ei , pour i = 1, . . . , n.

En supposant que PA = LU, où P est la matrice de changement de pivot partiel, on doit résoudre 2n systèmes triangu-
laires de la forme
Lyi = Pei , Uxi = yi , pour i = 1, . . . , n.
c’est-à-dire une suite de systèmes linéaires ayant la même matrice mais des seconds membres différents.

Exemple
Soit les systèmes linéaires
1 2 3 4 x1 1 1 2 3 4 x1 10
         
2 3 4 1 x 2  2 2 3 4 1 x 2  10
   =   et    =  .
3 4 1 2 x 3  3 3 4 1 2 x 3  10
4 1 2 3 x4 4 4 1 2 3 x4 10

1. Résoudre les systèmes linéaires par la méthode du pivot de G AUSS.

2. Factoriser la matrice A (sans utiliser la technique du pivot) et résoudre les systèmes linéaires.

3. Calculer le déterminant de A.

4. Calculer A−1 .

1. Résolution par la méthode du pivot de G AUSS du premier système

 L 2 ←L 2 −2L 1 
1 2 3 4 1 1 2 3 4 1 1 2 3 4 1
   
L 3 ←L 3 −3L 1 L 3 ←L 3 −2L 2
 2 3 4 1 2  0 −1 −2 −7 0   0 −1 −2 −7 0 
 −L−4−←L 4 −4L 1  −L−4−←L 4 −7L 2

[A|b] = 
 −−−−−−→  −−−−−−→  
3 4 1 2 3   0 −2 −8 −10 0   0 0 −4 4 0 
4 1 2 3 4 0 −7 −10 −13 0 0 0 4 36 0

4
1 2 3 4 1
 
L 4 ←L 4 +L 3  0 −1 −2 −7 0 
−−−−−−−−→   0

0 −4 4 0 
0 0 0 40 0

donc
x 4 = 0, x 3 = 0, x 2 = 0, x 1 = 1.

Résolution par la méthode du pivot de G AUSS du second système


 L 2 ←L 2 −2L 1 
1 2 3 4 10 1 2 3 4 10 1 2 3 4 10
   
L 3 ←L 3 −3L 1 L 3 ←L 3 −2L 2
 2 3 4 1 10  0 −1 −2 −7 −10   0 −1 −2 −7 −10 
 −L−4−←L 4 −4L 1  −L−4−←L 4 −7L 2

(A|b) = 
 −−−−−−→  −−−−−−→  
3 4 1 2 10   0 −2 −8 −10 −20   0 0 −4 4 0 
4 1 2 3 10 0 −7 −10 −13 −30 0 0 4 36 40
1 2 3 4 10
 

 0
L 4 ←L 4 +L 3 
−−−−−−−−→ 
−1 −2 −7 −10 
0 0 −4 4 0 
0 0 0 40 40

donc 

 x 1 + 2x 2 + 3x 3 + 4x 4 = 10


−x − 2x − 7x = −10
2 3 4
=⇒ x 4 = 1, x 3 = 1, x 2 = 1, x 1 = 1.
−4x 3 + 4x 4 = 0



40x 4 = 40

2. Factorisation de la matrice A :

1 2 3 4 LL 2 ←L 2 −2L 1 1 2 3 4 1 2 3 4 1 2 3 4
       
3 ←L 3 −3L 1 L 3 ←L 3 −2L 2
2 3 4 1 L 2 −1 −2 −7  2 −1 −2 −7 L 2 −1 −2 −7
←L
 −−4−−−− 4 −4L 1  −L−4−←L 4 −7L 2 ←L
 −−4−−−−
4 +L 3
 

3 −−−→  −−−−−−→  −−→  
4 1 2 3 −2 −8 −10 3 2 −4 4 3 2 −4 4
4 1 2 3 4 −7 −10 −13 4 7 4 36 4 7 −1 40

donc

1 0 0 0 1 2 3 4
   
2 1 0 0 0 −1 −2 −7
L=
3
 U= 
2 1 0 0 0 −4 4
4 7 −1 1 0 0 0 40

Pour résoudre le premier système linéaire on résout les systèmes triangulaires Ly = b

1 0 0 0 y1 1
    
2 1 0 0  y 2  2 
   =   =⇒ y 1 = 1, y 2 = 0, y 3 = 0, y4 = 0
3 2 1 0   y 3  3 
4 7 −1 1 y4 4

et Ux = y

1 2 3 4 x1 1
    
0 −1 −2 −7 x 2  0
   =   =⇒ x 4 = 0, x 3 = 0, x 2 = 0, x 1 = 1.
0 0 −4 4  x 3  0
0 0 0 40 x4 0

Pour résoudre le second système linéaire on résout les systèmes triangulaires Ly = b

1 0 0 0 y1 10
    

  y 2  = 10
2 1 0 0    
 =⇒ y 1 = 10, y 2 = −10, y 3 = 0, y 4 = 40
3 2 1 0  y 3  10
4 7 −1 1 y4 10

et Ux = y

1 2 3 4 x1 10
    
0 −1 −2 −7 x 2  −10
   
 =  =⇒ x 4 = 1, x 3 = 1, x 2 = 1, x 1 = 1.
0 0 −4 4  x 3   0 
0 0 0 40 x4 40

3. Le déterminant de A est u 11 u 22 u 33 u 44 = 1 × (−1) × (−4) × 40 = 160.

5
4. Pour calculer A−1 on résout les quatre systèmes linéaires

1 2 3 4 x1 1 1 0 0 0 y1 1 1 1 2 3 4 x1 1 /40
                 −9 
2 3 4 1 x 2  0 2 1 0 0  y 2  0  −2 0 −1 −2 −7 x 2  −2  1/40 
    =   i.e.     =   =⇒   puis     =   =⇒  
3 4 1 2 x 3  0 3 2 1 0   y 3  0  1 0 0 −4 4  x 3   1   1/40 
4 1 2 3 x4 0 4 7 −1 1 y4 0 11 0 0 0 40 x 4 11 11
/40
1 2 3 4 x1 0 1 0 0 0 y1 0 0 1 2 3 4 x1 0 /40
                 1 
x 2  1  y 2  1 
 x 2  =  1  =⇒  /40 
2 3 4 1 2 1 0 0 1 0 −1 −2 −7     1 
    =   i.e.     =   =⇒   puis 
3 4 1 2 x 3  0 3 2 1 0   y 3  0  −2 0 0 −4 4   x3  −2   11/40 
4 1 2 3 x4 0 4 7 −1 1 y4 0 −9 0 0 0 40 x 4 −9 −9
/40
1 2 3 4 x1 0 1 0 0 0 y1 0 0 1 2 3 4 x1 0 /40
                 1 
x 2  0  y 2  0 
 x 2  = 0 =⇒  /40 
2 3 4 1 2 1 0 0 0  0 −1 −2 −7      11 
    =   i.e.     =   =⇒   puis 
3 4 1 2 x 3  1 3 2 1 0   y 3  1  1  0 0 −4 4   x3   1   − 9/40
4 1 2 3 x4 0 4 7 −1 1 y4 0 1 0 0 0 40 x 4 1 1
/40
1 2 3 4 x1 0 1 0 0 0 y1 0 0 1 2 3 4 x1 0 /40
                  11 

 x 2  = 0 i.e. 2   y 2  = 0 =⇒ 0 puis 0 −1


2 3 4 1      1 0 0        −2 −7  x 2  0   − 9/40
    =   =⇒  
3 4 1 2 x 3  0 3 2 1 0   y 3  0  0  0 0 −4 4   x 3  0   1/40 
4 1 2 3 x4 1 4 7 −1 1 y4 1 1 0 0 0 40 x 4 1 1
/40

et finalement
/40 /40 /40 /40 1 1 11
−9 1 1 11
−9
  
1
/ 40
1
/40 11
/40 −9
/40 1 1 1 11 −9
A−1 = 

=  .
 1/40 11
/40 −9
/40 1
/40  40  11 11 −9 1
11
/40 −9
/40 1
/40 1
/40 11 −9 1 1

Vous aimerez peut-être aussi