Vous êtes sur la page 1sur 13

Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép.

GM, FSSA, ULBM

Chapitre V : Résolution directe des systèmes d’équations linéaires

On rencontre souvent le problème de résolution des systèmes d’équations


linéaires. Ces dernières sont présentes par exemple dans différentes méthodes de
résolution numérique des équations différentielles aux dérivées partielles. Ces
dernières modélisent la majorité des phénomènes physiques tels que les transferts
de chaleur et de masse, la mécanique des fluides, ….
On va traiter dans ce chapitre les systèmes d’équations linéaires dont le
nombre d’équations est égal à ceux d’inconnues et dont le déterminant est non nul.
C’est-à-dire les systèmes qui ont une solution unique. Un système d’équations
linéaire de n équations avec n inconnues s’écrit alors :

𝑎11 𝑥1 + 𝑎12 𝑥2 + 𝑎13 𝑥3 + ⋯ 𝑎1𝑛 𝑥𝑛 = 𝑏1


𝑎 𝑥 + 𝑎22 𝑥2 + 𝑎23 𝑥3 + ⋯ 𝑎2𝑛 𝑥𝑛 = 𝑏2
{ 21 1
……………………………………………….
𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 + 𝑎𝑛3 𝑥3 + ⋯ 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛

Ce système peut être écrit sous forme matricielle :

𝑎11 𝑎12 𝑎1𝑛 𝑥1 𝑏1


𝑎21 𝑎22 … 𝑎2𝑛 𝑥2 𝑏2
[ ⋮ ] [ ⋮ ] = [ ] ⇔ 𝐴𝑋 = 𝐵

⏟𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 ⏟ 𝑥𝑛 ⏟𝑏𝑛
𝐴 𝑋 𝐵

Ce système peut être résolu directement par différentes méthodes, on peut


citer celle de Kramer (des déterminants) où celle d’élimination.

Systèmes à matrices triangulaires


Commençons par quelques définitions, on dit qu’un système UX=Y est à
matrice triangulaire supérieure si 𝑢𝑖𝑗 = 0 pour > 𝑗 , on écrit :
𝑢11 𝑥1 + 𝑢12 𝑥2 + 𝑢13 𝑥3 + ⋯ +𝑢1𝑛 𝑥𝑛 = 𝑦1
𝑢22 𝑥2 + 𝑢23 𝑥3 + ⋯ +𝑢2𝑛 𝑥𝑛 = 𝑦2
𝑢33 𝑥3 + ⋯ + 𝑢3𝑛 𝑥𝑛 = 𝑦3
……………………….
{ 𝑢𝑛𝑛 𝑥𝑛 = 𝑦𝑛

La solution de ce système est calculée facilement par substitution en arrière.


De l’équation n, on calcule 𝑥𝑛 = 𝑦𝑛 ⁄𝑢𝑛𝑛
On remplace 𝑥𝑛 dans l’équation n-1 pour calculer 𝑥𝑛−1 = (𝑦𝑛−1 −
𝑢𝑛−1𝑛 𝑥𝑛 )/𝑢𝑛−1𝑛−1

29
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

Pour le calcul de 𝑥𝑖 , les composantes 𝑥𝑛 , 𝑥𝑛−1 , 𝑥𝑛−2 , … . , 𝑥𝑖+1 sont connues, on les
remplace dans l’équation i, ce qui donne :

𝑥𝑖 = (𝑦𝑖 − ∑𝑛𝑗=𝑖+1 𝑢𝑖𝑗 𝑥𝑗 )/𝑢𝑖𝑖 i=n-1, n-2,….,1.

Le déterminant d’une matrice triangulaire (supérieure ou inférieure) est le


produit des éléments de la diagonale (du pivot) de cette matrice.

𝑛
det(𝑈) = ∏ 𝑢𝑖𝑖 = 𝑢11 𝑢22 … . 𝑢𝑛𝑛
𝑖=1

Exemple : Soit le système d’équations suivant :


𝑥−𝑦+𝑧 =1
{ 3𝑧 = 3
2𝑦 − 𝑧 = 1
1. Ecrire le système sous la forme matricielle.
2. Trouver la solution du système.
3. Calculer le déterminant de la matrice du système.
Solution
1. Ecriture du système sous la forme matricielle en permutant les lignes 2 et 3 pour
avoir un système triangulaire supérieur. N’oublions pas que le déterminant sera
multiplié par -1 à cause de la permutation.
1 −1 1 𝑥 1
𝐴 = [0 2 −1] [𝑦] = [1]
0 0 3 𝑧 3
2. La substitution en arrière donne :
3 1+1
𝑒𝑞. 3 ∶ 𝑧 = 3 = 1, 𝑒𝑞. 2: 𝑦 = 2
= 1 𝑒𝑡 𝑥 = 1 + 1 − 1 = 1

3. Det(A) = (−1) ∗ 1 ∗ 2 ∗ 3 = −6.

5.1 Méthode d’élimination de GAUSS


Dans ce chapitre, on va commencer par la méthode d’élimination de GAUSS
qui est similaire à celle de l’élimination avec une modification très importante qui
facilite énormément la résolution même de systèmes à grandes tailles (des milliers où
même des millions). Cette modification transforme un système à matrice A pleine, en
un autre à système à matrice U triangulaire supérieure, de telle façon que les deux
systèmes AX=B et UX=Y soient équivalent c. à. d. ont la même solution.

30
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

L’algèbre linaire montre que certaines transformations apportées aux systèmes


d’équations ne changent pas leurs solutions, dans notre cas les opérations qu’on va
appliquer sont les suivantes :
• Multiplication de l’équation 𝐸𝑖 par une constante 𝛼 non nulle, la nouvelle
équation obtenue 𝐸𝑖𝑛 = 𝛼𝐸𝑖 remplacera l’ancienne 𝐸𝑖 .
• Multiplication de l’équation 𝐸𝑗 par 𝛼 non nulle et son ajout à 𝐸𝑖 , 𝐸𝑖𝑛 = 𝐸𝑖 + 𝛼𝐸𝑗 ,
l’équation obtenue 𝐸𝑖𝑛 remplacera 𝐸𝑖 .
• Permutation des équations 𝐸𝑖 et 𝐸𝑗 .
L’application d’une série de ces opérations transformera le système AX=B en UX=Y
puis une substitution en arrière donnera la solution du système.

5.1.1 Description de la méthode d’élimination de GAUSS


On va montrer comment appliquer les transformations au système AX=B, pour
cela le second membre B sera considéré comme la colonne (n+1) et sera aussi affecté
par les opérations. On divise le travail en (n-1) étapes chacune d’elle annule les
éléments au-dessous du pivot de la colonne (𝒂𝒊𝒋 pour 𝒊 > 𝒋). Au début chaque étape,
(𝒊−𝟏)
on vérifie que le pivot est non nul. Pour l’étape i le pivot est 𝒂𝒊𝒊 à l’étape (i-1).
Le système à l’état initial où à l’étape (0) est donné par :

𝑎11 𝑎12 𝑎1𝑛 (0) 𝑥1 𝑏1 (0) 𝑎1𝑛+1 (0)


𝑎21 …
𝑎22 𝑎2𝑛 𝑥2 𝑎2𝑛+1
𝑏
[ ⋮ ] [ ⋮ ] = [ 2] = [ ⋮ ]

𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 𝑥𝑛 𝑏𝑛 𝑎𝑛𝑛+1

Première étape : On vérifie tout d’abord que le pivot de la première étape qui est
(𝑖−1) (0)
𝑎𝑖𝑖 ≠ 0 pour 𝑖 = 1 i. e 𝑎11 ≠ 0.
(0)
Pour annuler l’élément 𝑎21 de la deuxième ligne, on multiplie la première équation
(0) (0)
par 𝑎21 et on la divise par 𝑎11 puis on fait la différence de cette nouvelle équation
(0)
(1) (0) (0) 𝑎21
avec la deuxième. L’équation obtenue remplacera la deuxième. 𝐸2 = 𝐸2 − 𝐸1 (0)
𝑎11
(0) (0)
(1) (1) (0) (0) 𝑎21 (1) (0) (0) 𝑎21
Cette opération donne 𝑎21 = 0, 𝑎22 = 𝑎22 − 𝑎12 (0) , ….., 𝑎2𝑛+1 = 𝑎2𝑛+1 − 𝑎1𝑛+1 (0)
𝑎11 𝑎11
(0)
(1) (0) (0) 𝑎21
En général, on écrit : 𝑎2𝑗 = 𝑎2𝑗 − 𝑎1𝑗 (0) Pour 𝑗 = 2, 𝑛 + 1
𝑎11

On continue cette procédure avec les lignes 3,4,…, pour la ligne i on a :


(0)
(1) (0) (0) 𝑎𝑖1
𝐸𝑖 = 𝐸𝑖 − 𝐸1 (0)
𝑎11

31
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

(0) (0)
(1) (1) (0) (0) 𝑎𝑖1 (1) (0) (0) 𝑎𝑖1
Cette opération donne 𝑎𝑖1 = 0, 𝑎𝑖2 = 𝑎𝑖2 − 𝑎12 (0) , ….., 𝑎𝑖𝑛+1 = 𝑎𝑖𝑛+1 − 𝑎1𝑛+1 (0)
𝑎11 𝑎11
(0)
(1) (0) (0) 𝑎𝑖1
En général, on écrit : 𝑎𝑖𝑗 = 𝑎𝑖𝑗 − 𝑎1𝑗 (0) Pour i = 2, n et 𝑗 = 2, 𝑛 + 1
𝑎11

A la fin de la première étape, on obtient des éléments nuls au-dessous du pivot de la


première étape. Le système s’écrit :

(0) (0) (0) (0)


𝑎11 𝑎12 𝑥1 𝑎1𝑛
𝑎1𝑛+1
(1)

(1) 𝑥 (1)
0 𝑎22 𝑎2𝑛 [ 2 ] = 𝑎2𝑛+1
⋮ ⋮ ⋮
(1) (1) 𝑥𝑛 (1)
[0 𝑎𝑛2 … 𝑎𝑛𝑛 ] [𝑎𝑛𝑛+1 ]
(𝑖−1) (1)
Deuxième étape : 𝑎𝑖𝑖 ≠ 0 pour 𝑖 = 2 i. e 𝑎22 ≠ 0.
De la même façon, on obtient pour le cas général
(1)
(2) (1) (1) 𝑎𝑖2
𝑎𝑖𝑗 = 𝑎𝑖𝑗 − 𝑎2𝑗 (1) Pour i = 3, n et 𝑗 = 3, 𝑛 + 1
𝑎22

(𝑖−1) (𝑘−1)
Etape k : 𝑎𝑖𝑖 ≠ 0 pour 𝑖 = 𝑘 i. e 𝑎𝑘𝑘 ≠ 0.
Pour une étape k quelconque, on a :

(𝑘−1)
(𝑘) (𝑘−1) (𝑘−1) 𝑎𝑖𝑘 ̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝑎𝑖𝑗 = 𝑎𝑖𝑗 − 𝑎𝑘𝑗 (𝑘−1) Pour 𝑘 = ̅̅̅̅̅̅̅̅̅̅
1, 𝑛 − 1, 𝑖 = 𝑘 + 1, 𝑛 et 𝑗 = 𝑘 + 1, 𝑛 + 1
𝑎𝑘𝑘

A la fin de la procédure, on obtient un système à matrice triangulaire supérieure qui


s’écrit :

(0) (0) (0) (0)


𝑎11 𝑎12 𝑥1𝑎1𝑛𝑎1𝑛+1
… (1)
0
(1) 𝑥 (1)
𝑎22 𝑎2𝑛 [ 2 ] = 𝑎2𝑛+1
⋮ ⋮ ⋮
(𝑛−1) 𝑥𝑛 (𝑛−1)
[ 0 0 𝑎𝑛𝑛 ] [𝑎𝑛𝑛+1 ]

La résolution de ce système se fait par substitution en arrière.

5.1.2 Le nombre d’opérations nécessaires pour l’application de l’algorithme de


GAUSS est :
Nombre de multiplications et d’additions :

𝑛(𝑛 − 1)(2𝑛 + 5)
𝑛𝑚 = 𝑛𝑎 =
6

32
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

Nombre de divisions :
𝑛(𝑛 + 1)
𝑛𝑑 =
2

5.1.3 Applications de la méthode de GAUSS.

a) Calcul du déterminant d’une matrice triangulaire :


Le déterminant d’une matrice triangulaire est donné par :
det(𝑈) = (−1)𝑃 ∏𝑛𝑖=1 𝑢𝑖𝑖 = (−1)𝑃 𝑢11 𝑢22 … . 𝑢𝑛𝑛

Avec P le nombre de permutation de lignes ou de colonnes effectuées lors de


l’application de l’algorithme de GAUSS.
Exemple : Soit le système d’équations suivant :
2𝑥 + 𝑦 + 2𝑧 = 10
{ 3𝑥 + 5𝑦 + 𝑧 = 16
−𝑥 + 4𝑦 + 7𝑧 = 28
1. Calculer le nombre d’opérations élémentaires pour la méthode de Gauss.
2. Calculer le déterminant de la matrice du système.
3. Résoudre le système par l’élimination de Gauss.
4. Recalculer le déterminant de la matrice du système.

b) Résolution simultanée de plusieurs systèmes à même matrice A :


Dans la pratique, on rencontre souvent le cas de plusieurs systèmes
d’équations qui ne différent que par le second membre B. On peut appliquer
l’algorithme de GAUSS sur la matrice A augmentée par tous les seconds membres.
De cette façon, on fait les calculs une seule fois sur la matrice A, la substitution se
fait avec chaque second membre obtenu à part.

𝑎11 𝑎12 𝑎1𝑛 𝑏1 𝑐1 𝑧1


𝑎21 𝑎22 … 𝑎2𝑛 𝑏2 …
𝑐2 𝑧2
[ ⋮ ][ ]

𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 𝑏𝑛 𝑐𝑛 … 𝑧𝑛

c) Calcul de l’inverse d’une matrice :


Si A est une matrice d’ordre n, la matrice 𝑨−𝟏 tel que 𝑨. 𝑨−𝟏 = 𝑰 est dite matrice
inverse de A.

33
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

𝑎11 𝑎12 𝑎1𝑛 𝑥11 𝑥12 𝑥1𝑛


𝑎21 𝑎22 … 𝑎2𝑛 𝑥21 𝑥22 … 𝑥2𝑛
𝐴=[ ⋮ ] et 𝑨−𝟏 = [ ⋮ ]
𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 𝑥𝑛1 𝑥𝑛2 … 𝑥𝑛𝑛

𝑎11 𝑎12 𝑎1𝑛 𝑥11 𝑥12 𝑥1𝑛 1 0 0


𝑎21 𝑎22 … 𝑎2𝑛 𝑥21 𝑥22 … 𝑥2𝑛 …
[ ⋮ ][ ⋮ ] = [0 1 0]

𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 𝑥𝑛1 𝑥𝑛2 … 𝑥𝑛𝑛 0 0…1

Exemple : Soit la matrice suivante :


1 1 2
[1 2 1]
2 1 1
1. Utiliser la méthode de Gauss pour calculer la matrice inverse.
2. Calculer le nombre d’opérations.

5.2. Utilisation de la pivotation.


Dans l’élaboration de l’algorithme de GAUSS, on a supposé que le pivot ne soit
pas nul, ce n’est pas le cas toujours. Parfois le pivot est très petit comparativement
aux autres termes ou même nul, dans ce cas on peut utiliser la technique de la
pivotation soit partielle ou totale.

Pivotation partielle :

(𝑘−1)
Dans ce cas on choisit comme pivot l’élément 𝑎𝑙𝑘 tel que :
(𝑘−1) (𝑘−1)
𝑎𝑙𝑘 = 𝑚𝑎𝑥 |𝑎𝑖𝑘 |
𝑖∈[𝑘,𝑛]
𝑎11 … 𝑎1𝑘 𝑎1𝑛
0 … 𝒂𝒌𝒌 … 𝑎𝑘𝑛
[ ⋮ ]
0… 𝒂𝒏𝒌 … 𝑎𝑛𝑛
Dans la pivotation partielle, on utilise la permutation des lignes ceci n’a aucun effet
sur la solution du système.

Pivotation totale :
Dans la pivotation totale le choix du pivot se fait à partir d’une sous matrice
incluant la permutation des lignes et des colonnes tel que :
(𝑘−1) (𝑘−1)
𝑎𝑙𝑚 = 𝑚𝑎𝑥 |𝑎𝑖𝑗 |
𝑖,𝑗∈[𝑘,𝑛]

34
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

𝑎11 … 𝑎1𝑘 𝑎1𝑛


0 … 𝒂𝒌𝒌 … 𝑎𝑘𝑛
[ ⋮ ]
0… 𝒂𝒏𝒌 … 𝑎𝑛𝑛

Exemple : Soit le système suivant :


1 1 2 𝑥 9
[1 2 1] [𝑦] = [8]
2 1 1 𝑧 7

Utiliser la méthode de Gauss avec pivotation partielle ensuite totale pour résoudre le
système.

5.2 Algorithme de THOMAS


Dans les méthodes numériques de résolution des équations différentielles aux
dérivées partielles, on rencontre des matrices à trois diagonales (principale, sous
diagonale et sur diagonale). Ce type de matrices est dit tri diagonales. L’algorithme
de résolution de ce type de système est un cas particulier de l’élimination de GAUSS.
Soit le système à matrice tri diagonale suivant :

𝑏1 𝑐1 𝑥1 𝑦1
𝑎2 𝑏2 𝑐2 ⋯ 𝑥2 𝑦2
𝑎3 𝑏3 𝑐3 𝑥3 𝑦3
⋮ ⋱ ⋮ ⋮ = ⋮
𝑎𝑛−2 𝑏𝑛−2 𝑐𝑛−2 𝑥𝑛−2 𝑦𝑛−2
⋯ 𝑎𝑛−1 𝑏𝑛−1 𝑐𝑛−1 𝑥𝑛−1 𝑦𝑛−1
( 𝑎𝑛 𝑏𝑛 ) ( 𝑥𝑛 ) ( 𝑦𝑛 )

On divise la première ligne par 𝑏1 cela donne 1 𝑐1 /𝑏1 ⋯ 𝑦1 /𝑏1


On note 𝛾1 = 𝑐1 /𝑏1 et 𝛽1 = 𝑦1 /𝑏1
(1) (0) (0)
Ensuite on transforme la deuxième ligne par 𝐸2 = 𝐸2 − 𝐸1 𝑎2 cela donne
0 𝑏2 − 𝑎2 𝛾1 𝑐2 … … 𝑦2 − 𝑎2 𝛽1

On divise la nouvelle deuxième ligne par 𝑏2 − 𝑎2 𝛾1 cela donne :

0 1 𝑐2 /(𝑏2 − 𝑎2 𝛾1 ) … … (𝑦2 − 𝑎2 𝛽1 )/(𝑏2 − 𝑎2 𝛾1 )


On note 𝛾2 = 𝑐2 /(𝑏2 − 𝑎2 𝛾1 ) et 𝛽2 = (𝑦2 − 𝑎2 𝛽1 )/(𝑏2 − 𝑎2 𝛾1 )
De la même façon on continue avec la ligne trois ce qui donne

0 0 1 𝑐3 /(𝑏3 − 𝑎3 𝛾2 ) … … (𝑦3 − 𝑎3 𝛽2 )/(𝑏3 − 𝑎3 𝛾2 )

35
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

On note 𝛾3 = 𝑐3 /(𝑏3 − 𝑎3 𝛾2 ) et 𝛽3 = (𝑦3 − 𝑎3 𝛽2 )/(𝑏3 − 𝑎3 𝛾2 )


En général pour une ligne i on a :

0 0 … . .0 1 𝑐𝑖 /(𝑏𝑖 − 𝑎𝑖 𝛾𝑖−1 ) … … (𝑦𝑖 − 𝑎𝑖 𝛽𝑖−1 )/(𝑏𝑖 − 𝑎𝑖 𝛾𝑖−1 )


Avec 𝛾𝑖 = 𝑐𝑖 /(𝑏𝑖 − 𝑎𝑖 𝛾𝑖−1 ) ̅̅̅̅̅̅̅̅̅̅
𝑖 = 2, 𝑛−1
et 𝛽𝑖 = (𝑦𝑖 − 𝑎𝑖 𝛽𝑖−1 )/(𝑏𝑖 − 𝑎𝑖 𝛾𝑖−1 ) 𝑖 = ̅̅̅̅̅
2, 𝑛

On continue jusqu’à obtenir le système suivant :


1 𝛾1 𝑥1 𝛽1
1 𝛾2 ⋯ 𝑥2 𝛽2
1 𝛾3 𝑥3 𝛽3
⋮ ⋱ ⋮ ⋮ = ⋮
1 𝛾𝑛−2 𝑥𝑛−2 𝛽𝑛−2
⋯ 1 𝛾𝑛−1 𝑥𝑛−1 𝛽𝑛−1
( 1 ) ( 𝑥𝑛 ) ( 𝛽𝑛 )
La solution du système est facilement obtenue par substitution en arrière :
𝑥𝑛 = 𝛽𝑛
̅̅̅̅̅̅̅̅̅̅
𝑥𝑖 = 𝛽𝑖 − 𝛾𝑖 𝑥𝑖+1 𝑖 = 𝑛 − 1,1
En résumé, pour appliquer l’algorithme de Thomas on calcule
𝑐1
𝛾1 =
{ 𝑏1
𝛾𝑖 = 𝑐𝑖 /(𝑏𝑖 − 𝑎𝑖 𝛾𝑖−1 ) 𝑖 = ̅̅̅̅̅̅̅̅̅̅
2, 𝑛 − 1
𝑦1
𝛽1 =
{ 𝑏1
𝛽𝑖 = (𝑦𝑖 − 𝑎𝑖 𝛽𝑖−1 )/(𝑏𝑖 − 𝑎𝑖 𝛾𝑖−1 ) 𝑖 = ̅̅̅̅̅
2, 𝑛
𝑥𝑛 = 𝛽𝑛
{
𝑥𝑖 = 𝛽𝑖 − 𝛾𝑖 𝑥𝑖+1 𝑖 = ̅̅̅̅̅̅̅̅̅̅
𝑛 − 1,1

Exemple : Soit le système suivant :


2 1 0 𝑥 4
[1 2 1] [𝑦] = [8]
0 1 2 𝑧 8

Utiliser l’algorithme de Thomas pour résoudre le système.

5.3 Méthode de Crout-Dolitle ou LU


Cette méthode consiste à factoriser la matrice A pleine en deux matrices
triangulaires L et U, tel que L est triangulaire inférieure et U est triangulaire
supérieure dont les éléments de la diagonale sont égaux à l’unité (𝑢𝑖𝑖 = 1).

36
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

On a donc AX=B (1) et A=LU donc LUX=B, on pose UX=Y (Y vecteur inconnu),
cela donne :
𝐿𝑌 = 𝐵
{ (2)
𝑈𝑋 = 𝑌
Le système (1) est décomposé en deux systèmes triangulaires faciles à résoudre
(2). Le système à matrice triangulaire supérieure et résolue par substitution en
arrière, celui à matrice triangulaire inférieure par substitution en avant.

5.3.1 Détermination des matrices L et U

𝑙11 0 1 𝑢12 𝑢1𝑛−1 𝑢1𝑛


⋯ 0 ⋯
𝑙21 𝑙22 0 1 𝑢2𝑛−2 𝑢2𝑛
𝐿= ⋮ ⋱ ⋮ et 𝑈 = ⋮ ⋱ ⋮
𝑙𝑛−1,1 𝑙𝑛−1,2 𝑙 0 1 𝑢𝑛−1𝑛
⋯ 𝑛−1𝑛−1 [ 0 ⋯
[ 𝑙𝑛1 𝑙𝑛2 𝑙𝑛𝑛−1 𝑙𝑛𝑛 ] 0 1 ]
Les éléments de chaque matrice sont donnés par :

𝑙𝑘𝑖 = 𝑎𝑘𝑖 − ∑𝑖−1


𝑗=1 𝑙𝑘𝑗 𝑢𝑗𝑖
{ 𝑖 = 2,3, … , 𝑛 et 𝑘 = 𝑖, 𝑖 + 1, … , 𝑛
𝑢𝑖𝑘 = [𝑎𝑖𝑘 − ∑𝑖−1
𝑗=1 𝑙𝑖𝑗 𝑢𝑗𝑘 ]/𝑙𝑖𝑖

En pratique pour calculer les éléments des deux matrices, on divise la tâche
en plusieurs étapes. Par exemple dans l’étape i on détermine :

• La colonne i de L en multipliant L par la colonne i de U.


• La ligne i de U en multipliant la ligne i de L par U.

Exemple : Utiliser la méthode de factorisation LU pour résoudre le système suivant :


1 1 2 𝑥 9
[1 2 1] [𝑦] = [8]
2 1 1 𝑧 7

5.4 Méthode de Choleski :


Cette méthode est applicable aux systèmes à matrices symétriques définies
positives (𝑫𝒆𝒕(𝑨) > 𝟎 et 𝒂𝒊𝒋 réels). Cherchons une matrice M telle que 𝑨 = 𝑴𝑴𝒕 ou M est
triangulaire inférieure et 𝑴𝒕 la matrice transposée de M.

37
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

𝑚11 𝑚12 𝑚1𝑛−1 𝑚1𝑛


0 𝑚22 ⋯ 𝑚2𝑛−2 𝑚2𝑛
𝑀= ⋮ ⋱ ⋮
𝑚𝑛−1𝑛−1 𝑚𝑛−1𝑛
[ 0 ⋯ 0 𝑚𝑛𝑛 1 ]

Les éléments de la matrice M sont donnés par :

𝑚𝑖𝑖 = √𝑎𝑖𝑖−∑𝑖−1 𝑚2
𝑗=1 𝑖𝑗

𝑖−1
̅̅̅̅̅
𝑖 = 1, 𝑛 et 𝑗 = 𝑖̅̅̅̅̅̅̅̅̅
+ 1, 𝑛
𝑚𝑗𝑖 = [𝑎𝑖𝑗 − ∑ 𝑚𝑖𝑘 𝑚𝑗𝑘 ] /𝑚𝑖𝑖
{ 𝑘=1

Exemple : Utiliser la méthode de factorisation de Choleski pour résoudre le système


suivant :
2 1 1 𝑥 4
[1 2 1] [𝑦] = [4]
1 1 2 𝑧 4

38
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

Chapitre VI : Méthodes itératives pour les systèmes d’équations linéaires

On a vu que les méthodes directes donnent la solution exacte du système


d’équations linéaires, cependant elles restent gourmandes en mémoire. Dans ce
chapitre on va introduire les méthodes itératives ou indirectes qui donnent une
solution approximative du système d’équations linéaires. Ces méthodes sont très
faciles à mettre en œuvre et à programmer, elles ne consomment pas la mémoire et
donnent des résultats autant précis que l’on veut.

6.1 Méthode de Jacobi


Elle utilise le principe du point fixe pour un système d’équations linéaires, soit
le système :
𝑎11 𝑥1 + 𝑎12 𝑥2 + 𝑎13 𝑥3 + ⋯ 𝑎1𝑛 𝑥𝑛 = 𝑏1
𝑎 𝑥 + 𝑎22 𝑥2 + 𝑎23 𝑥3 + ⋯ 𝑎2𝑛 𝑥𝑛 = 𝑏2
{ 21 1 (1)
……………………………………………….
𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 + 𝑎𝑛3 𝑥3 + ⋯ 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛
Transformons le système en supposant que les éléments du pivot sont non nuls 𝑎𝑖𝑖 ≠
0 𝑖 = ̅̅̅̅̅
0, 𝑛 .
𝑥1 = (𝑏1 − 𝑎12 𝑥2 − 𝑎13 𝑥3 − ⋯ − 𝑎1𝑛 𝑥𝑛 )/𝑎11
𝑥 = (𝑏2 − 𝑎21 𝑥1 − 𝑎23 𝑥3 − ⋯ −𝑎2𝑛 𝑥𝑛 )/𝑎22
{ 2 (2)
… … … … … … … … … … … … … … … … … ….
𝑥𝑛 = (𝑏𝑛 − 𝑎𝑛2 𝑥2 − 𝑎𝑛3 𝑥3 − ⋯ −𝑎𝑛𝑛−1 𝑥𝑛−1 )/𝑎𝑛𝑛
Pour résoudre le système (1) on utilise l’écriture (2) en portant les termes de droite à
l’itération (k) et ceux à gauche à l’intération (k).

(𝑘+1) (𝑘) (𝑘) (𝑘)


𝑥1 = (𝑏1 − 𝑎12 𝑥2 − 𝑎13 𝑥3 − ⋯ − 𝑎1𝑛 𝑥𝑛 )/𝑎11
(𝑘+1) (𝑘) (𝑘) (𝑘)
𝑥2 = (𝑏2 − 𝑎21 𝑥1 − 𝑎23 𝑥3 − ⋯ −𝑎2𝑛 𝑥𝑛 )/𝑎22 (3)
… … … … … … … … … … … … … … … … … ….
(𝑘+1) (𝑘) (𝑘) (𝑘)
{ 𝑥𝑛 = (𝑏𝑛 − 𝑎𝑛2 𝑥2 − 𝑎𝑛3 𝑥3 − ⋯ −𝑎𝑛𝑛−1 𝑥𝑛−1 )/𝑎𝑛𝑛

(0) (0) (0) (0)


En prenant une estimation initiale 𝑋 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) et en utilisant le système
(1) (1) (1) (1) (1)
(3) on calcule 𝑋 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) ensuite on remplace le vecteur 𝑋 dans le
(2)
système (3) avec k=1 on calcule 𝑋 et continue de la même façon de calculer les
(3) (4) (5)
vecteurs 𝑋 ,𝑋 ,𝑋 ,… jusqu’à la convergence.

39
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

6.2 Méthode de Gauss-Seidel


(1) (2) (3)
Partons de la méthode de Jacobi, le calcul des vecteurs 𝑋 ,𝑋 ,𝑋 ,… mène
à la convergence, cela veut dire que chaque nouveau vecteur est meilleur que le
précédent. On remarque dans la méthode de Jacobi que pour calculer la composante
(2) (2) (1) (2)
𝑥2 du vecteur 𝑋 on utilise celles de 𝑋 malgré que 𝑥1 est déjà calculée et elle est
(1)
meilleure que 𝑥1 . D’ici vient le principe de la méthode de Gauss-Seidel, on utilise
chaque composante des quelle sera calculée. Ainsi, pour calculer la composante
(𝑘+1) (𝑘+1) (𝑘+1)
𝑥𝑖 , on utilise toutes les composantes de 𝑥1 à 𝑥𝑖−1 déjà calculées à l’itération
(𝑘) (𝑘)
(k+1) en plus de celles 𝑥𝑖+1 à 𝑥𝑛 qui ne sont qu’à l’itération (k). On écrit donc :

(𝑘+1) (𝑘) (𝑘) (𝑘)


𝑥1 = (𝑏1 − 𝑎12 𝑥2 − 𝑎13 𝑥3 − ⋯ − 𝑎1𝑛 𝑥𝑛 )/𝑎11
(𝑘+1) (𝑘+1) (𝑘) (𝑘)
𝑥2 = (𝑏2 − 𝑎21 𝑥1 − 𝑎23 𝑥3 − ⋯ −𝑎2𝑛 𝑥𝑛 )/𝑎22
(𝑘+1) (𝑘+1) (𝑘+1) (𝑘) (4)
𝑥3 = (𝑏3 − 𝑎31 𝑥1 − 𝑎32 𝑥3 − ⋯ −𝑎3𝑛 𝑥𝑛 )/𝑎33
… … … … … … … … … … … … … … … … … ….
(𝑘+1) (𝑘+1) (𝑘+1) (𝑘+1)
{𝑥𝑛 = (𝑏𝑛 − 𝑎𝑛2 𝑥2 − 𝑎𝑛3 𝑥3 − ⋯ −𝑎𝑛𝑛−1 𝑥𝑛−1 )/𝑎𝑛𝑛

(0) (0) (0) (0)


En prenant une estimation initiale 𝑋 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) et en utilisant le système
(1) (1) (1) (1) (1)
(4) on calcule 𝑋 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) ensuite on remplace le vecteur 𝑋 dans le
(2)
système (4) avec k=1 on calcule 𝑋 et continue de la même façon de calculer les
(3) (4) (5)
vecteurs 𝑋 ,𝑋 ,𝑋 ,… jusqu’à la convergence.

6.3 Condition de convergence des méthodes itératives


Pour que les méthodes itératives de résolution des systèmes d’équations
linéaires convergent il faut que le rayon spectral de la matrice A soit inférieur à l’unité.
Cette condition est équivalente à dire que la matrice A est diagonalement dominante
ce qui est très facile à vérifier.
On dit qu’une matrice est diagonalement dominante si la valeur absolue de l’élément
de la diagonale est supérieure à la somme des valeurs absolues de tous les autres
éléments sur la même ligne. On écrit donc :

|𝑎𝑖𝑖 | > |𝑎𝑖1 | + |𝑎𝑖2 | + ⋯ + |𝑎𝑖𝑖−1 | + |𝑎𝑖𝑖+1 | + ⋯ + |𝑎𝑖𝑛 | (5)


Avec i variable entre 1 et n le nombre de lignes ou de colonnes de la matrice.

40
Méthodes numériques ST L 2 S4 Dr. MAMERI A. Dép. GM, FSSA, ULBM

6.4 Critère d’arrêt de calcul pour la méthode de Jacobi et Gauss-Seidel


On arrête les calculs pour cette méthode lorsque la différence absolue entre
deux itérations successives soit inférieure à une certaine précision 𝜀 donnée.

(𝑛+1) (𝑛)
|𝑋 −𝑋 |<𝜺 (6)

Ici, il faut vérifier la différence pour toutes les composantes une par une.
(𝑛+1) (𝑛) (𝑛+1) (𝑛) (𝑛+1) (𝑛)
|𝑥1 − 𝑋1 | < 𝜺, |𝑥2 − 𝑋2 | < 𝜺, … , |𝑥𝑛 − 𝑋𝑛 | < 𝜺

41

Vous aimerez peut-être aussi