Chapitre2: Méthodes itératives de résolution des systèmes linéaires (méthode de Jacobi et de
sur-relaxation, méthode de Gauss-Siedel..)
2.1 Généralitées
• On cherche à résoudre une équation de la forme :
• Ax = b
• Les méthodes directes fournissent la solution 𝑥ഥen un nombre fini d’opérations.
• Mais : Si la taille du système est élevée, le nombre d’opérations est important,
• or les erreurs de calcul dépendent directement du nombre de calculs.
• Elles utilisent des propriétés mathématiques nécessitant un calcul exact, il est difficile de tenir compte des erreurs de calcul dans ce processus
• Pour cela, On construit une suite de vecteurs (𝑋𝑘) 𝑘 = 0, 1, … qui tend vers 𝑋ഥ .
• Le point de départ est une approximation 𝑋0 de 𝑋ഥ obtenue par exemple par une méthode directe.
• Pour construire cette suite, on utilise la linéarité pour décomposer la matrice A en une partie facilement inversible et un reste.
• On décompose la matrice A :
• A = M − N ,
• de telle façon que M soit facilement inversible.
• Alors,
• AX = b
⇔
MX = NX + b• On calcule la suite de vecteurs (𝑋(𝑖)) à partir d’un vecteur 𝑋(0) choisi arbitrairement et de la relation :
• M𝑋(𝑘+1) = N𝑋(𝑘) + b ⇔ 𝑋(𝑘+1) = 𝑀−1𝑁𝑋(𝑘) + 𝑀−1 b
• C’est à dire :
• ቊ 𝑥(0) 𝑑𝑜𝑛𝑛é
𝑋(𝑘+1) = 𝑀−1𝑁𝑋(𝑘) + 𝑀−1 b
• En posant
• 𝑇 = 𝑀−1𝑁; 𝑉 = 𝑀−1𝑏
• On aura à résoudre
• 𝑋(𝑘+1) = 𝑇𝑋(𝑘) + 𝑉
2.2 Décomposition de la matrice A
• Nous allons chercher la décomposition de la matrice A sous la forme M-N de façon que M soit inversible.
• Pour cela, on définit:
• La matrice D diagonale telle que :
• 𝑑𝑖𝑖 = 𝑎𝑖𝑖; 𝑖 = 1, . . , 𝑛
• La matrice L triangulaire inferieur strictement
• 𝑙𝑖𝑗 = −𝑎𝑖𝑗; 𝑝𝑜𝑢𝑟 𝑖 > 𝑗 𝑒𝑡 𝑙𝑖𝑗 = 0 𝑝𝑜𝑢𝑟 𝑖 ≤ 𝑗
• La matrice U triangulaire supérieur strictement
• 𝑢𝑖𝑗 = −𝑎𝑖𝑗; 𝑝𝑜𝑢𝑟 𝑖 < 𝑗 𝑒𝑡 𝑢𝑖𝑗 = 0 𝑝𝑜𝑢𝑟 𝑖 ≥ 𝑗
• On a
• A=D-L-U
• Exemple: soit la matrice A donnée par
• A=
1 2 0 3 2 4 1 2
−1 2 3 7 0 2 4 6
• Alors la décomposition de A est
• 𝐷 =
1 0 0 0 0 4 0 0 0 0 3 0 0 0 0 6
, L =
0 0 0 0
−2 0 0 0 1 − 2 0 0 0 2 − 4 0
; U=
0 − 2 0 − 3 0 0 − 1 − 2 0 0 0 − 7
0 0 0 0
Méthode de Gauss Seidel et sur-Relaxation
• La décomposition de A est la suivante :
• 𝐴 = 𝑀 − 𝑁, 𝑎𝑣𝑒𝑐 𝑀 = 𝐷 − 𝐿 𝑒𝑡 𝑁 = 𝑈 alors
𝑋(𝑘+1) = 𝑇𝑋(𝑘) + 𝑉
avec
𝑇 = (𝐷 − 𝐿)−1𝑈, 𝑉 = (𝐷 − 𝐿)−1𝑏
Le calcul effectif se fait en résolvant directement le système 𝐷 − 𝐿 𝑋(𝑘+1) = 𝑈𝑋(𝑘) + 𝑏
• Soit
• σ𝑗=1𝑗=𝑖 𝑎𝑖𝑗𝑥𝑗(𝑘+1) = − σ𝑗=𝑖+1𝑗=𝑛 𝑎𝑖𝑗𝑥𝑗(𝑘) + 𝑏𝑖
• D’où, on a
• 𝑥𝑖(𝑘+1) = 𝑏𝑖−σ𝑗=1
𝑗=𝑖−1
𝑎𝑖𝑗𝑥𝑗(𝑘+1)−σ𝑗=𝑖+1𝑗=𝑛 𝑎𝑖𝑗𝑥𝑗(𝑘) 𝑎𝑖𝑖
Algorithme de Gauss-Seidel
• Donner un point de départ 𝑥(0)
• pour k = 0,1,2,... Jusqu’à convergence
• pour i = 1 : n
• 𝑥𝑖(𝑘+1)= 𝑏𝑖−σ𝑗=1
𝑗=𝑖−1
𝑎𝑖𝑗𝑥𝑗(𝑘+1)−σ𝑗=𝑖+1𝑗=𝑛 𝑎𝑖𝑗𝑥𝑗(𝑘) 𝑎𝑖𝑖
• Fin
• Fin
• Pour accélérer la convergence du processus, on peut introduire un
paramètre ω, on parle alors de méthode de sur-relaxation successive, définie de la manière suivante
• 𝑥𝑖(𝑘+1) = 𝜔
𝑎𝑖𝑖 𝑏𝑖 − σ𝑗=1𝑗=𝑖−1 𝑎𝑖𝑗𝑥𝑗(𝑘+1) − σ𝑗=𝑖+1𝑗=𝑛 𝑎𝑖𝑗𝑥𝑗𝑘 + 1 − 𝜔 𝑥𝑖𝑘
• 1. Si ω > 1, on parle de sur-relaxation, de sous-relaxation si ω < 1. Il s'avère que la valeur du paramètre optimal est, en géneral, plus
grande que 1, d'où le nom de la méthode
Méthode de Jacobie
• La décomposition de A est la suivante :
• 𝐴 = 𝑀 − 𝑁, 𝑎𝑣𝑒𝑐 𝑀 = 𝐷 𝑒𝑡 𝑁 = 𝐿 + 𝑈 alors
𝑋(𝑘+1) = 𝑇𝑋(𝑘) + 𝑉 avec 𝑇 = 𝐷−1 𝐿 + 𝑈 ; 𝑉 = 𝐷−1𝑏
Le calcul effectif se fait en résolvant directement le système 𝐷𝑥(k+1) = 𝐿 + 𝑈 𝑥(𝑘) + 𝑏 soit
𝑥𝑖(𝑘+1) = 𝑏𝑖 − σ𝑗=1,𝑗≠𝑖𝑗=𝑛 𝑎𝑖𝑗𝑥𝑗(𝑘) 𝑎𝑖𝑖
• Donner un point de départ 𝑥(0)
• pour k = 0,1,2,... Jusqu’à convergence
• pour i = 1 : n
• 𝑥𝑖(𝑘+1) = 𝑏𝑖−σ𝑗=1,𝑗≠𝑖
𝑗=𝑛 𝑎𝑖𝑗𝑥𝑗(𝑘)
𝑎𝑖𝑖
• Fin
• Fin
• Une généralisation de la méthode de Jacobi est la méthode de sur- relaxation de Jacobi qu’on définit comme ci-dessous
• 𝑥𝑖(𝑘+1) = 𝜔
𝑎𝑖𝑖(𝑏𝑖 − σ𝑗=1,𝑗≠𝑖𝑗=𝑛 𝑎𝑖𝑗𝑥𝑗(𝑘))+ 1 − 𝜔 𝑥𝑖𝑘
• Exemple; Soit le système linéaire suivant:
• AX=B ↔
2 −1 0
−1 2 −1
0 −1 2
𝑥1 𝑥2
𝑥3 =
7 1
• Effectuer deux itérations par la méthode de Jacobie en initialisant 1
0 0 0 𝑡
• Effectuer deux itérations par la méthode de Gauss Siedel en initialisant 0 0 0 𝑡
Méthode de Jacobie
• 𝐴 = 𝐷 − 𝐿 − 𝑈
• Avec
• 𝐷 =
2 0 0 0 2 0 0 0 2
; 𝐿 =
0 0 0 1 0 0 0 1 0
; 𝑈 =
0 1 0 0 0 1 0 0 0 On a 𝐷𝑋 𝑘+1 = (𝐿 + 𝑈)𝑋(𝑘) + B
2 0 0 0 2 0 0 0 2
𝑋(𝑘+1)=
0 1 0 1 0 1 0 1 0
𝑋(𝑘)+ 7 1 1
2 0 0 0 2 0 0 0 2
𝑥1(𝑘+1) 𝑥2(𝑘+1) 𝑥3(𝑘+1)
=
0 1 0 1 0 1 0 1 0
𝑥1(𝑘) 𝑥2(𝑘) 𝑥3(𝑘)
+ 7 1 1
2𝑥1(𝑘+1) 2𝑥2(𝑘+1) 2𝑥3(𝑘+1)
=
𝑥2(𝑘) + 7
𝑥1(𝑘) + 𝑥3(𝑘) + 1 𝑥2(𝑘) + 1
1ère itération pour k=0, on obtient
•
2𝑥1(1) 2𝑥2(1) 2𝑥3(1)
=
𝑥2(0) + 7
𝑥1(0) + 𝑥3(0) + 1 𝑥2(0) + 1
;
• Comme 𝑋(0) = 0 0 0
, on obtient 𝑋(1)=
7Τ
2 1Τ
2 1Τ
2
• 2ème itération pour k=1, on obtient
•
𝑥1(2) 𝑥2(2) 𝑥3(2)
=
𝑥2(1) + 7
𝑥1(1) + 𝑥3(1) + 1 𝑥2(1) + 1
=
15Τ
4 5Τ
2 3Τ
4
• 𝑋(2)=
15Τ
4 5Τ
2 3Τ
4
Méthode de Gauss Seidel
• 𝐴 = 𝐷 − 𝐿 − 𝑈; On a (𝐷 − 𝐿)𝑋 𝑘+1 = 𝑈𝑋 𝑘 + 𝐵 ou bien
• 𝐷𝑋 𝑘+1 =𝐿𝑋 𝑘+1 + 𝑈𝑋 𝑘 + 𝐵 c.a.d
• 2 0 0 0 2 0 0 0 2
𝑋(𝑘+1)=
0 0 0 1 0 0 0 1 0
𝑋 𝑘+1 +
0 1 0 0 0 1 0 0 0
𝑋 𝑘 + 7 1 1
•
2𝑥1(𝑘+1) 2𝑥2(𝑘+1) 2𝑥3(𝑘+1)
=
𝑥2(𝑘) + 7
𝑥1(𝑘+1) + 𝑥3(𝑘) + 1 𝑥2(𝑘+1) + 1
• 1ère itération pour k=0, on obtient
•
2𝑥1(1) 2𝑥2(1) 2𝑥3(1)
=
𝑥2(0) + 7
𝑥1(1) + 𝑥3(0) + 1 𝑥2(1) + 1
avec 𝑋(0) = 0 0 0
•
2𝑥1(1) 2𝑥2(1) 2𝑥3(1)
=
7
𝑥1(1) + 1 𝑥2(1) + 1
d’où 𝑋(1)=
7Τ
2 9Τ
4 13Τ
8
• 2ème itération pour k=1, on obtient
•
2𝑥1(2) 2𝑥2(2) 2𝑥3(2)
=
𝑥2(1) + 7
𝑥1(2) + 𝑥3(1) + 1 𝑥2(2) + 1
avec 𝑋(1)=
7Τ
2 9Τ
4 13Τ
8
• On obtient
• 𝑋(2)=
37Τ
8 29Τ
8 37Τ
16
Convergence des méthodes de Gauss Siedel et de Jacobi
• Définitions:
• 1) On dit qu’une méthode itérative de résolution d’un système
linéaire 𝐴𝑋 = 𝑏 est convergente si tous les itères 𝑋(𝑘)vérifient ce système.
• 2) Soit A est une matrice carrée dordre n; on appelle rayon spectral de A la quantité suivante :
• 𝜌 𝐴 = ถmax
1≤𝑖≤𝑛
(𝜆𝑖)
• Où 𝜆1,𝜆2,…,𝜆𝑛 sont les valeurs propres de A
• 3) On dit que est une valeur propre de la matrice A s’il existe un vecteur x non nul solution de
• 𝐴𝑥 = 𝜆𝑥
• Le vecteur 𝑥 est alors dit vecteur propre associé à 𝜆
• 4) Soit A = 𝑎𝑖 𝑗 , 𝑖, 𝑗 = 1, . . , 𝑛; une matrice carrée d’ordre n. On dit que A est une matrice diagonale strictement dominante si
• 𝑎𝑖𝑖 > σ𝑗≠𝑖 𝑎𝑖𝑗
Théorèmes:
1)Si la matrice A du système Ax = b est diagonale strictement
dominante alors toute méthode itérative de résolution est convergente 2) La méthode itérative 𝑋(𝑘+1) = 𝑇𝑋(𝑘) + 𝑉 converge si 𝜌(T) < 1.
3) Si la méthode de Jacobi converge, alors la méthode de sur-relaxation de Jacobi converge pour 0 < ω≤1
• Reprenons l’exemple précédent et étudier la convergence des deux méthodes.
• Comma A est une matrice symétrique, on a
• Où on peut utiliser une des trois normes équivalentes
• Pour la méthode de Jacobie, La matrice T est définie par
( )
T T =
( )
( )
1
1 0 0 0 1 0
2 0 1 0 2
1 1 1
0 0 1 0 1 0
2 2 2
0 1 0
1 1
0 0 0 0
2 2
D'où on a :
max(1 ,1) 1 2
T D L U
T T
−
= + = =
= = =
• On ne peut pas conclure pour la convergence, néanmoins, on pourra utiliser un autre critère de convergence, à savoir si la matrice du
système est à diagonale strictement dominante alors toute méthode itérative est convergente. Là aussi, la matrice A n est pas à diagonale strictement dominante.
Pour Gauss-Siedel
( )
11 1 0 0 0 1 0
2 2
2 0 0 0 1 0 0 1 0
1 1 1 1
= -1 2 0 0 0 1 0 0 0 1 0
4 2 4 2
0 -1 0 0 0 0 1 1 1 0 0 0 0 1 1
8 4 2 8 4
D'où
max(1 2 T D L U
T
−
−
= −
= =
= , 3 , 3 ) 3 1, la méthode est convergente
4 8 = 4