Vous êtes sur la page 1sur 13

1.

INTRODUCTION

École supérieure en Sciences et Module: Analyse Numérique


Technologies de l’Informatique et Chargée du cours: Dr. ALKAMA.L
du Numérique Année universitaire: 2023/2024
Niveau: 1ère année Cycle Supérieur

Chapitre I: Résolution de systèmes linéaires par les méthodes directes

1 Introduction
La plupart des problèmes issus de l’ingénierie et des sciences appliquées nécessitent la résolution de systèmes
d’équations algébriques linéaires et le calcul des valeurs propres et des vecteurs propres d’une matrice. Nous
supposons que les lecteurs sont familiarisés avec la théorie des déterminants et des éléments de l’algèbre
matricielle puisque ceux-ci fournissent un moyen pratique de représenter les équations algébriques linéaires.
Par exemple, le système d’équations suivant:

a11 x1 + a12 x2 + a13 x3 = b1

a21 x1 + a22 x2 + a23 x3 = b2

a31 x1 + a32 x2 + a33 x3 = b3

peut être représenté par l’écriture matricielle AX = B, où


     
a11 a12 a13 x1 b1
A =  a21 a22 a23  , X =  x2  et B =  b2  .
a31 a32 a33 x3 b3

Résoudre le système linéaire AX = B à condition que A soit une matrice régulière appelé aussi non singulière
(det A ̸= 0) d’ordre n, consiste à trouver des vecteurs X, vérifiant le système.
Les méthodes classiques comme la méthode de Cramer ou la méthode de la matrice inverse deviennent
lentes en temps d’exécution (de calcul) des que n dépasse 4. Pour cela nous faisons appel à des méthodes
numériques ayant des temps de calcul acceptables pour la résolution du système linéaire AX = B. La solution
d’un système linéaire d’équations peut être accomplie par une méthode numérique classée dans l’une des deux
catégories suivantes: méthodes directes ou itératives. Dans ce chapitre, nous allons nous concentrer sur les
méthodes directes. Parmi les méthodes directes, nous décrirons la méthode d’élimination de Gauss ainsi
que sa modification (méthode de Gauss-Jordan), la méthode de factorisation LU et la méthode de Cholesky.
Concernant les types itératifs, nous les décrirons dans le prochain chapitre.

1.1 Cas particuliers des systèmes linéaires


Cas 1: système linéaire diagonal
Le système est de la forme AX = B avec A une matrice diagonale régulière
 
a11 0 · · · 0
 0 a22 · · · 0 
A= .  , aii ̸= 0, i = 1, n
 
. .. . . ..
 . . . . 
0 0 · · · ann

bi
La solution de ce type de systèmes est donnée par xi = .
aii

Cas 1: système linéaire triangulaire


Le système est de la forme AX = B avec A une matrice triangulaire supérieure (ou inférieure) régulière
 
a11 a12 · · · a1n
 0 a22 · · · a2n 
A= . ..  , ai ̸= 0, i = 1, n
 
. .. . .
 . . . . 
0 0 · · · ann

1
La solution de ce type de systèmes est donnée par
bn


 xn =



 a nn


Xn



 bi − aij xj
j=i+1


xi =
 , i = n − 1, n − 2, n − 3, .., 2, 1
aii

1.2 Matrices inversibles


Définition 1.1: Inverse d’une matrice carrée

Soit A ∈ Mn (K). La matrice A est dite inversible (ou régulière) et son inverse est noté par A−1 si on
a pour det A ̸= 0, AA−1 = In (avec In représente la matrice identité d’ordre n). En d’autre terme:

A inversible ⇐⇒ det A ̸= 0.

Calcul pratique d’un déterminant


On peut calculer un déterminant par rapport à n’importe quelle ligne ou n’importe quelle colonne (car
det A = det t A).

ˆ Cas n = 1 :

Soit A = (a) =⇒ det A = |A| = a.

ˆ Cas n = 2 
: 
a b
Soit A =
c d

+ −
det A = a b = ad − bc
c d

ˆ Cas n = 3 
: 
a b c
Soit A =  d e f 
g h i
✬ Méthode 1: consiste à calculer le déterminant suivant une ligne ou une colonne tout en prenant en
considération les signes + et −.

+ − +
a b c e f d f d e
det A = d e f = +a −b +c
h i g i g h
g h i

✬ Méthode 2: Règle de Sarrus.


La règle de Sarrus (nommée d’après Pierre-Frédéric Sarrus) est un procédé visuel, qui permet
uniquement de calculer les déterminants des matrices carrées d’ordre 3. La règle de Sarrus consiste
à écrire les trois colonnes de la matrice et à répéter, dans l’ordre, les deux premières colonnes après
la 3ème colonne. Il suffit alors d’effectuer les produits des coefficients de chaque diagonale et d’en
faire la somme si la diagonale est descendante (en couleur rouge) ou la différence si la diagonale
est ascendante (en couleur bleu).

2
ˆ Cas général:

✬ Méthode 1:
Soit n ≥ 2, n ∈ N et A ∈ Mn (K).
Pour i, j = 1, n, notons Aij la matrice carrée d’ordre (n − 1) obtenue en supprimant la ligne i et
la colonne j de la matrice A. Avec
 
a11 a12 ··· a1,j−1 a1,j a1,j+1 · · · a1n
 a21
 a22 ··· a2,j−1 a2,j a2,j+1 · · · a2n 
.. .. .. .. .. .. .. ..

 

 . . . . . . . . 

 ai−1,1 ai−1,2 · · · ai−1,j−1 ai−1,j ai−1,j+1 · · · ai,n 
A=  
 ai,1 a i,2 · · · ai,j−1 a i,j a i,j+1 · · · ai,n


 ai+1,1 ai+1,2 · · · ai+1,j−1 ai+1,j ai+1,j+1 · · · ai+1,n 
 
 .. .. .. .. .. .. .. .. 
 . . . . . . . . 
an1 an2 · · · an,j−1 an,j an,j+1 · · · ann

Dans le calcul des déterminants il faut respecter les signes, comme définie ci-dessous
j↓
+ − + ··· (−1)1+n
− + − ··· (−1)2+n
.. .. .. .. ..
. . . . .
i −→ .. .. .. ..
. . (−1)i+j . .
.. .. .. .. ..
. . . . .
(−1)n+1 (−1)n+2 ··· ··· (−1)n+n

Pour la règle de calcul, il suffit d’utiliser les formules suivantes:


- Pour j fixé (selon la j ieme colonne)
n
X
det A = (−1)i+j aij det Aij
i=1

- Pour i fixé (selon la iieme ligne)


n
X
det A = (−1)i+j aij det Aij
j=1

✬ Méthode 2:
Pour calculer le déterminant d’une matrice A d’ordre n très grand, il suffit de faire apparaitre

beaucoup de 0 dans une ligne ou une colonne pour avoir le déterminant de lanouvelle matrice A 
′ ′
d’une manière facile. Où, le déterminant de A est égale au déterminant de A det(A) = det(A ) .
Pour ce faire, on pourra effectuer un:
1. Changement sur les colonnes: selon la formule ci ←− ci + λcj avec i ̸= j et λ ∈ R.
2. Changement sur les lignes: selon la formule ℓi ←− ℓi + λℓj avec i ̸= j et λ ∈ R.

1.3 Matrices triangulaires


Une matrice carrée est dite triangulaire si les éléments au-dessus (ou au-dessous) de la diagonale principale
sont nuls. Par exemple, les matrices
   
a11 a12 a13 b11 0 0
A= 0 a22 a23  et B =  b21 b22 0 
0 0 a33 b31 b32 b33

sont des matrices triangulaires où A est appelée une matrice triangulaire supérieure et B est une matrice
triangulaire inférieure. Il est clair que dans la matrice A, aij = 0 pour i > j, et bij = 0 pour j > i dans B.
Il est également facile de voir qu’une matrice triangulaire n’est pas singulière que lorsque tous ses éléments
diagonaux sont non nuls. Les propriétés suivantes sont valables pour les matrices triangulaires:

3
1. Si A1 et A2 sont deux matrices triangulaires supérieures du même ordre, alors A1 + A2 et A1 A2 sont
aussi des matrices triangulaires supérieures du même ordre. Des résultats similaires sont également
valables pour les matrices triangulaires inférieures.

2. L’inverse d’une matrice triangulaire inférieure non singulière est aussi une matrice triangulaire inférieure.
Un résultat similaire est également valable pour une matrice triangulaire supérieure. Cette propriété
nous permet d’inverser facilement une matrice triangulaire.

2 Méthodes directes
Définition 2.1: Méthode directe
On appelle méthode directe de résolution des systèmes linéaires une méthode qui donne exactement
la solution X de ce système après un nombre fini d’opérations élémentaires (+, −, x, /).

2.1 La méthode d’élimination de Gauss


La méthode consiste à transformer un système à matrice A pleine, en un autre système à matrice triangulaire
supérieure B ′ = A′ .X ′ , de telle façon que les deux systèmes A.X = B et A′ .X ′ = B ′ soient équivalent c-à-d
ils ont la même solution.
Après l’application de l’algorithme de Gauss, on aura
 ′
a11 a′12 a′13 · · · a′1n
  
a11 a12 a13 · · · a1n
 a21 a22 a23 · · · a2n   0 a′ ′ a′2n 
′ 22 a23 · · ·
A= . se transforme en A =
   
. .
. .
. . . .
.  −− −−−−− −−−− −
→  .
. .
. . . .
. .. 
 . . . . .   . . . . . 
an1 an2 an3 · · · ann 0 0 0 · · · ann′

b′1
   
b1
 b2 

 b′2 
B= se transforme en B =
   
..  −−−−−−−−−−−−→  .. 
 .   . 
bn b′n

2.1.1 Condition d’application de la méthode


Tout système s’écrivant sous la forme matricielle AX = B admet une solution avec la méthode d’élimination
de Gauss sauf si le déterminant de la matrice A est nul (det A = 0).

2.1.2 Principe de la méthode


C’est une méthode d’élimination élémentaire et elle réduit le système d’équations (S) à un système triangulaire
supérieur équivalent, qui peut être résolu par rétrosubstitution.
Après l’application de l’algorithme de Gauss, on aura
 ′
a11 a′12 a′13 · · · a′1n
  
a11 a12 a13 · · · a1n
 a21 a22 a23 · · · a2n   0 a′ ′ a′2n 
′ 22 a23 · · ·
A= . −→ A =
   
. .
. .
. . . .
.   .
. .
. . . .
. .. 
 . . . . .   . . . . . 
an1 an2 an3 · · · ann 0 0 0 ··· a′nn

b′1
   
b1
 b2   b′2 
B= −→ B′ = 
   
..  .. 
 .   . 
bn b′n
C’est à dire on cherche à trigonaliser le système (S).

4
Soit le système de n équations linéaires à n inconnues donné par
 (1) (1) (1) (1) (1)


 a11 x1 + a12 x2 + ... + a1n xn = b1 −→ L1
a(1) (1) (1) (1) (1)

 21 x1 + a22 x2 + ... + a2n xn

 = b2 −→ L2
(1) (1) (1) (1) (1)
(S) ⇐⇒ AX = B ⇐⇒ a31 x1 + a32 x2 + ... + a3n xn = b3 −→ L3 (1)

 .. .. .. .. ..



 . . . . .
 (1)
 (1) (1) (1) (1)
an1 x1 + an2 x2 + ... + ann xn = bn −→ Ln

(1)
où Li désigne les lignes du système (S), i = 1, n.
On pose A = A(1) et B = B (1) , puis on construit la matrice augmentée [A|B]
 (1) (1) (1) (1)

a a12 · · · a1n b1
 11
 a(1) (1) (1)
a22 · · · a2n b2
(1) 
21
[A|B] ⇐⇒ [A(1) |B (1) ] = 

 .. .. .. .. .. 
 . . . . .


(1) (1) (1) (1)
an1 an2 ··· ann bn

Puis, on trigonalise le système en le transformant d’une matrice augmentée [A|B] en une autre matrice
augmentée [A′ |B ′ ], où A′ est une matrice triangulaire supérieure.

2.1.3 Étapes de la méthode d’élimination de Gauss


Pour trigonaliser le système (S), on suit les étapes suivantes:
(1)
Étape 1: Si a11 ̸= 0, la ligne 1 ne sera pas changée mais les (n − 1) autres lignes vont être changées selon
la formule
(1)
(2) (1) ai1 (1)
Li ←− Li − (1) L1
a11
On obtient pour i = 2, ..., n et j = 1, ..., n
 (2) (1)
 a1j = a1j

(1)
(2) (1) ai1 (1)
a
 ij
 = aij − a
(1) j
a11
et  (2) (1)
 b1 = b1

(1)
(2) (1) ai1 (1)
 bi = bi −
 b
(1) 1
a11
Le résultat après les opérations sera:
 (1) (1) (1) (1)
  (1) (1) (1) (1)

a11 a12 · · · a1n b1 a11 a12 · · · a1n b1
 (1) (1)
 a21 a22 · · · a(1) (1) (2)
a22 · · ·
(2) (2)
  
(1) (1) 2n b2  (2) (2)
 0 a2n b2 
[A |B ] =  .  ..  −→ [A |B ]= .. .. 
 .. . . .
  
  
(1) (1) (1) (1) (2) (2) (2)
an1 an2 · · · ann bn 0 an2 ··· ann bn

(1) (1)
Si a11 = 0, alors on cherche l’élément non nul se trouvant sur la même colonne ak1 ̸= 0, k = 2, . . . , n.
(1) (1)
Puis on permute les lignes L1 et Lk .
(2)
Étape 2: Si a22 ̸= 0, les lignes 1 et 2 seront maintenues mais les (n − 2) autres lignes vont être changées
selon la formule
(2)
(3) (2) a (2)
Li ←− Li − i1 L
(2) 2
a22

5
On obtient pour i = 3, ..., n et j = 1, ...n
 (3) (2)

 a1j = a1j




 (3) (2)
a2j = a2j
 (2)

 (3) (2) aij (2)


 a
 ij
 = a ij a .
(2) ij
a22
et 
(3) (2) (1)


 b1 = b1 = b1




(3) (2)
b2 = b2
 (2)

 (3) (2) ai2 (1)
b = b − b


 i
 i (2) 1
a22
Le résultat après les opérations sera:
   
(1) (1) (1) (1) (1) (1) (1) (1) (1)
a11 a12 · · · a1n b1 a11 a12 a13 ··· a1n b1
   
   
 (2) (2)
 0 a22 · · · a2n b2  (2)   (2) (2) (2) (2) 
 

 0 a22 a23 ··· a2n b2 

   
   
(2) (2) (2) (3) (3) (3)
[A(2) |B (2) ] =  0 a32 · · · a3n b3  −→ [A(3) |B (3) ] =  0 0 a33 ··· a3n b3
   

   
   
 . ..   .. .. 
 .. .    . . 
  
   
   
(2) (2) (2) (3) (3) (3)
0 an2 · · · ann bn 0 0 a3n ··· ann bn
(2) (2) (2) (2)
Si a22 = 0, alors on cherche ak2 ̸= 0, k = 3, . . . , n. Puis on permute les lignes L2 et Lk .
(k)
Étape k: Si akk ̸= 0, on effectue les affectation suivante:
 (k+1) (k)
Lk
 ← Lk , (la ligne Lk est maintenue).
(k)
(k+1) (k) aik (k)
Li
 ← Li − (k) Lk , pour i = k + 1, . . . , n
akk
Le système final sera de la forme
 
(1) (1) (1) (1) (1)
a11 a12 a13 ··· a1n b1
 
 
 0 a(2) (2) (2) (2)
 
 22 a23 ··· a2n b2 

 
 
(n) (n) (3) (3) (3)
[A |B ] =  0
 0 a33 ··· a3n b3 

 
 
 . .. 
 .. . 
 
 
 
(n) (n)
0 0 0 ··· ann bn
Ainsi la solution du système (S) est
  
n
 1 (1)
X (1)
x1 = (1) b1 −



 a1j xj 



 a11 j=2

 .
.
.



  

 n
1  (i) X (i)
 xi = (i) bi − aij xj 


 aii j=i+1


 .
 .


 .
 (n)
bnn


 xn = (n)


ann

6
On commence tout d’abord par déterminer la valeur de xn puis xn−1 ainsi de suite jusqu’à obtention de x1 .
(1) (2) (n)
Les coefficients a11 , a22 , . . . , ann sont appelés respectivement le 1er pivot, 2ème pivot, . . . nième pivot.
Exemple 2.1

2.1.4 Techniques de pivotage


Nous arrivons maintenant au cas important où le pivot est nul ou bien très proche de zéro. Si le pivot est nul,
tout le processus échoue (on ne peut pas appliquer la méthode d’élimination de Gauss) et s’il est proche de
zéro, des erreurs d’arrondi peuvent se produire. Ces problèmes peuvent être évités en adoptant une procédure
appelée pivotage.
ˆ Si a11 est nul ou très petit par rapport aux autres coefficients de l’équation, alors nous trouvons le
plus grand coefficient disponible dans la colonne sous l’équation pivot, puis intervertissons (permutons)
les deux lignes. De cette façon, nous obtenons une nouvelle équation avec un pivot non nul. Un tel
processus est appelé pivotage partiel, car dans ce cas, nous ne recherchons que l’élément le plus grand
des colonnes en dessous du pivot nul (ou proche de 0).
n o
(k) (k)
ai0 k = max |aik |, i = k, n

ˆ Si, d’autre part, nous recherchons à la fois l’élément le plus grand dans les colonnes et les lignes, la
procédure est appelée pivotage total. Il est évident qu’un pivotage total implique plus de complexité
dans les calculs car l’échange de colonnes signifie un changement d’ordre des inconnues qui nécessite
invariablement plus d’efforts en terme de programmation. En comparaison, le pivotage partiel, c’est-
à-dire les échanges de lignes, est facilement adopté en programmation. Pour cette raison, le pivotage
total est rarement utilisé. n o
(k) (k)
ai0 j0 = max |aij |, i, j = k, n

L’exemple suivant démontre la nécessité de pivoter dans la méthode d’élimination de Gauss.


Exemple 2.1.4

2.1.5 Utilité de la méthode de Gauss


La méthode de Gauss nous permet de calculer le déterminant de la matrice A ∈ Mn (R) tel que :
n
(n)
Y
p
det A = (−1) aii
i=1
(n)
où p est le nombre de permutation des lignes et aii sont les pivots de la matrice échelonnée à la dernière
étape n.
Exemple 2.1.5: Reprenons l’exemple 2.1.

2.2 Méthode de Gauss Jordan


La méthode de Gauss-Jordan ressemble à la méthode d’élimination de Gauss sauf qu’elle aboutit directement
à une matrice diagonale.

2.2.1 Condition d’application de la méthode


La méthode est applicable sur une matrice dont le déterminant n’est pas nul et dont ses pivots ne sont pas
nuls.

2.2.2 Principe de la méthode


C’est une méthode d’élimination qui réduit le système d’équations (S) à un système diagonal (ou diagonal
unitaire) équivalent, dont la solution est donnée directement.
Après l’application de l’algorithme de Gauss-Jordan, on aura
   
a11 a12 a13 · · · a1n a11 0 0 ··· 0
 a21 a22 a23 · · · a2n   0 a22 0 · · · 0 

A= . se transforme en A =
   
. . .. .
..  −−−−−−−−−−−−→ . . .. . .. 
 .. .. ..  .. .. . ..
 
. . 
an1 an2 an3 · · · ann 0 0 0 · · · ann

7
b′1
   
b1
 b2 

 b′2 
B= se transforme en B =
   
..  −−−−−−−−−−−−→  .. 
 .   . 
bn b′n

2.2.3 Les étapes de la méthode


En effet, soit
 (1) (1) (1) (1) (1)


a11 x1 + a12 x2 + ... + a1n xn = b1 −→ L1
 (1) (1) (1) (1) (1)
a21 x1 + a22 x2 + ... + a2n xn


 = b2 −→ L2
(1) (1) (1) (1) (1)
(S ′ ) ⇐⇒ AX = B ⇐⇒ a31 x1 + a32 x2 + ... + a3n xn = b3 −→ L3

 .. .. .. .. ..



 . . . . .
 (1)
 (1) (1) (1) (1)
an1 x1 + an2 x2 + ... + ann xn = bn −→ Ln

Étape 1 : on pose A = A(1) et B = B (1) . La matrice augmentée sera [A(1) |B (1) ]


 (1) (1) (1) (1)

a a12 · · · a1n b1
 11
(1) (1)
 a21 a(1)
(1)
22
(1) (1) 
· · · a2n b2 
[A|B] ⇐⇒ [A |B ] =   .. .. .. .. .. 
 . . . . . 

(1) (1) (1) (1)
an1 an2 ··· ann bn

(1)
Etape 2: Si a11 ̸= 0, calcul de [A(2) |B (2) ] en suivant les opérations suivantes
 (2) (1)
1
L1 ← a(1) L1


11


 (2)
 (1) (1) (2)
Li ← Li − ai1 L1 pour i = 2, . . . , n

(1) (1) (1) (1) (2) (2) (2)


   
a11 a12 · · · a1n b1 1 a12 · · · a1n b1
(1) (1) (1) (1) (2) (2) (2)
a21 a22 · · · 0 a22 · · ·
   
 a2n b2   a2n b2 
on obtient [A(1) |B (1) ] = .. ..  −→ [A(2) |B (2) ] =  .. .. 
. . . .
   
   
(1) (1) (1) (1) (2) (2) (2)
an1 an2 ··· ann bn 0 an2 ··· ann bn
(2)
Etape 2 : Si a22 ̸= 0, calcul de [A(3) |B (3) ] en suivant les opérations suivantes

1 (2)

(3)


 L2 ← (2) L2
 a22


 (3)
 (2) (2) (3)
Li ← Li − ai2 L2 i = 1, . . . , n avec i ̸= 2

Ainsi
(2) (2) (2) (3) (3) (3)
   
1 a12 · · · a1n b1 1 0 a13 · · · a1n b1
(2) (2) (2) (3) (3) (3)
0 a22 · · · 0 1 a23 · · ·
   
(2) (2)
 a2n b2  (3) (3)
 a2n b2 
[A |B ]= .. ..  −→ [A |B ]= .. .. 
. . . .
   
   
(2) (2) (2) (3) (3) (3)
0 an2 ··· ann bn 0 0 an3 ··· ann bn

(k)
Etape k : Si akk ̸= 0, calcul de [A(k+1) |B (k+1) ] en suivant les opérations suivantes

1 (k)

(k+1)


Lk ← (k) Lk
 akk


 (k+1)
 (k) (k) (k+1)
Li ← Li − aik Lk i = 1, . . . , n − 1 avec i ̸= k

8
Donc, le système final sera
 
a11 0 ··· 0

x1  (n)

 0 a22 0 ··· 0 b1
x2

(n)
    
′ .. ..   b2
(n) (n) x3
  
(S ) = [A , B ] ⇐⇒  0 . .  =
 
.. 

 .. .. ..
 ..   .

.
 
 . . . 0  
(n)
xn bn
0 0 ··· 0 ann

(n)
bi
D’où la solution du système (S ′ ) est: xi = , i = 1, . . . , n.
aii

2.2.4 Utilité de la méthode de Gauss-Jordan


Calcul de l’inverse d’une matrice avec la méthode de Gauss-Jordan
On sait que A.A−1 = In . Alors pour obtenir la matrice inverse A−1 , on doit générer la matrice augmentée
[A|In ]. Si la matrice d’entrée A est inversible, on applique l’algorithme de Gauss-Jordan à la matrice aug-
mentée. La matrice finale sera de la forme [In |A−1 ] et contient l’inverse de la matrice initiale dans sa partie
droite.
Pour la transformation de la matrice augmentée, les opérations sont autorisées sauf pour les lignes et ceci
pour que la matrice identité puisse se transformer elle aussi en parallèle. On aura ainsi:
   ′ ′ ′ 
a11 a12 a13 1 0 0 1 0 0 a11 a12 a13
−1 ′ ′ ′
[A|I3 ] =  a21 a22 a23 0 1 0  se −−−transforme → [I3 |A ] =
−−−−−−−−−en
 0 1 0 a
21 a22 a23

′ ′ ′
a31 a32 a33 0 0 1 0 0 1 a31 a32 a33

La liste des opérations autorisées pour les lignes sont:

ˆ Échange de deux lignes;

ˆ Multiplication d’une ligne par un scalaire non nul ℓi ←− λℓj , i ̸= j;

ˆ Ajout du multiple d’une ligne à une autre ligne ℓi ←− ℓi + λℓj .

Remarque:
Une matrice et son inverse doivent avoir nécessairement les mêmes dimensions.
Exemple 2.2.4:

2.3 Factorisation LU (ou décomposition LU)


Soit  
a11 a12 ··· a1n
 a21 a22 ··· a2n 
A=
 ··· ···

··· ··· 
an1 an2 ··· ann
une matrice carrée non singulière. Alors A peut être factorisée sous la forme LU , où L est une matrice
triangulaire inférieure unitaire (de diagonale égale à 1) et U une matrice triangulaire supérieure
   
1 0 0 ··· 0 u11 u12 · · · u1n
 ℓ21 1 0 ··· 0   0 u22 · · · u2n 
L= . ..  et U =  .. ..  ,
   
. .. .. .. .. ..
 . . . . .   . . . . 
ℓn1 ℓn2 · · · ··· 1 0 0 ··· unn

si
a11 a12 a13
a11 a12
a11 ̸= 0, ̸= 0, a21 a22 a23 ̸= 0, et ainsi de suite.
a21 a22
a31 a32 a33

9
Théorème 2.3.1: Condition d’application de la factorisation LU

Soit A ∈ Mn (R). La factorisation LU de A existe et est unique si et seulement si les sous matrices
principales Ai de A d’ordre 1, 2, ..., n sont inversible (det Ai ̸= 0, i = 1, n).

Méthodes de calcul des matrices L et U :

Méthode 1: Soit A ∈ Mn (R)


    
a11 a12 a13 1 0 0 u11 u12 u13
A =  a21 a22 a23  =  ℓ21 1 0   0 u22 u23  (2)
a31 a32 a33 ℓ31 ℓ32 1 0 0 u33

En multipliant les matrices du côté droit de l’équation (2) et en égalant les éléments correspondants
des deux côtés, on obtient

u11 = a11 , u12 = a12 , u13 = a13 ,

ℓ21 u11 = a21 , ℓ21 u12 + u22 = a22 , ℓ21 u13 + u23 = a23 ,

ℓ31 u11 = a31 , ℓ31 u12 + l32 u22 = a32 , ℓ31 u13 + ℓ32 u23 + u33 = a33

A partir des équations ci-dessus, on obtient




 u11 = a11 , u12 = a12 , u13 = a13 ,




a21 a31


l21 = , l31 = ,





 a 11 a11


a21 a21
u22 = a22 − a12 , u23 = a23 − a13



 a11 a11




 a31
a32 − a12


a11


l32 =

.
u22
à partir de desquelles u33 peut être calculé.

La procédure donnée est systématique pour trouver les éléments de L et U . Tout d’abord, nous
déterminons la première ligne de U et la première colonne de L, puis nous déterminons la deuxième
ligne de U et la deuxième colonne de L, et enfin, nous calculons la troisième ligne de L. Il est évident
que cette procédure peut être généralisée.

Méthode 2: utilisation de la méthode d’élimination de Gauss, comme suit

1. On pose L = In et U = A;
2. On applique la méthode d’élimination de Gauss sur la matrice U ;
uij
3. Pour chaque élément éliminé de U , on met le facteur dans la même position dans la matrice
uii
L.

Exemple 2.3.1:

2.3.2 Utilité de la méthode de factorisation LU


1. Calcul de l’inverse d’une matrice
Puisque l’inverse d’une matrice triangulaire est facilement calculé, par conséquent l’inverse d’une matrice
non singulière A peut être facilement obtenu si A est exprimé comme un produit de deux matrices
triangulaires. En particulier, si A = LU , où L est une matrices triangulaire inférieure unitaire et U une
matrice triangulaire supérieure, l’inverse de A peut être calculé à partir de la formule (3).

A−1 = (LU )−1


(3)
= U −1 L−1

10
2. Calcul du déterminant de la matrice
On sait que det(AB) = det A. det B, alors
n
Y n
Y
det A = det L. det U = ℓii . uii .
i=1 i=1

3. Résolution des systèmes linéaires:


AX = B ⇐⇒ LU X = B. Posant Y = U X.

La solution du système linéaire AX = B s’obtient en résolvant successivement les deux systèmes


triangulaires suivant: (
LY = B
UX = Y

Exemple 2.3.2
Exemple 2.3.3:

2.4 Factorisation (ou décomposition) de Cholesky


L’algorithme de Cholesky n’a été publié qu’après la mort de Cholesky, mais il a ensuite été examiné par
Turing et Wilkinson et d’autres. La factorisation de Cholesky est de la forme A = C t C, où C est une
matrice triangulaire inférieure. Ainsi par définition, A doit être symétrique. Lors de la résolution d’un
système linéaire AX = B, il est possible de le résoudre avec la méthode de Cholesky qui fournit un nombre
d’opérations égal à presque la moitié du nombre d’opérations utilisées dans la méthode d’élimination de
Gauss.

2.4.1 Condition d’application de la méthode


L’algorithme de Cholesky n’est applicable que pour les matrices définies positives symétriques.

Théorème 2.4.1
Supposons que A est une matrice réelle symétrique n × n. Alors l’algorithme de Cholesky détermine
la factorisation A = C .t C avec les quantités
i−1
!
1 X
cij = aij − cki ckj , i = 1, . . . , j − 1
cij
k=1
j−1
!1/2
X
cjj = ajj − c2kj .
k=1

pour tout j = 1, . . . , n si et seulement si A est définie positive.

Définition 2.4.1: Matrice symétrique

Une matrice carrée A ∈ Mn (K) est dite symétrique si elle vérifie A =t A.

Exemple 2.4.1:

11
Définition 2.4.2: Matrice définie positive

Soit A une matrice carrée A ∈ Mn (K). On dit que A est définie positive si l’une des conditions
suivantes est vérifiée:

1. Les déterminants des sous matrices principales sont strictement positifs (i.e. det(Ai ) > 0, i =
1, ..., n). ”critère de Sylvester”.

2. ∀x ∈ Rn tel que x ̸= ORn , xt Ax > 0.

Exemple 2.4.2:

2.4.2 Principe de la méthode


L’algorithme de Cholesky peut être écrit en bouclant l’expression suivante pour j = 1, ..., n:
i−1
!
1 X
cij = aij − cki ckj , i = 1, . . . , j − 1
cij
k=1
j−1
!1/2
X
2
cjj = ajj − ckj .
k=1

La première instance (j = 1) de ceci n’implique que la deuxième équation: c11 = (a11 )1/2 . Une utilisation de
cet algorithme est de déterminer si une matrice symétrique est définie positive ou non.

2.4.3 Étapes de la méthode


Méthode de calcul 1: utilisation de la factorisation LU
Les matrices L et U ayant déjà été calculées. La matrice C vérifiant A = C. t C sera égale à
 √ 
u11 0 0 ··· 0

 0 u22 0 ··· 0 
 √ 
C = L.V, avec V = 
 0 0 u33 · · · 0   , uii > 0.
 .. .. .. . . .. 
 . . . . . 

0 0 0 ··· unn

Il suffit de calculer le produit matricielle de L et V pour trouver la matrice C.

Méthode de calcul 2: sans utilisation de la factorisation LU


Soit A une matrice carrée d’ordre 3.
  
c11 0 0 c11 c21 c31
A = C. t C =  c21 c22 0   0 c22 c32 
c31 c32 c33 0 0 c33

c211
 
c21 c11 c31 c11
 
 
 c21 c11
= c221 + c222 c21 c31 + c22 c32 

 
c31 c11 c31 c21 + c32 c22 c231 + c232 + c233

Par identification, on commence par trouver c11 , c22 , c33 vérifiant cii > 0 puis cij , i ̸= j, i, j = 1, 3.

Exemple 2.4.3:

12
2.4.4 Utilité de la méthode de Cholesky
1. Calcul du déterminant d’une matrice
On sait que det(AB) = det A. det B alors

n
!2
Y
det A = det C. t C =

cii .
i=1

2. Résolution des systèmes linéaires:


AX = B ⇐⇒ C. t CX = B. Posant Y =t CX.

La solution du système linéaire AX = B s’obtient en résolvant successivement les deux systèmes


triangulaires suivant: (
CY = B
t CX = Y.

3. Calcul de l’inverse d’une matrice

A−1 = (C. t C)−1


=t C −1 .C −1

Exemple 2.4.4:

13

Vous aimerez peut-être aussi