Vous êtes sur la page 1sur 14

ENSA-Tetouan 2021-2022

GC2- GM2 M. Boukour

Chapitre 2: Méthodes itératives de


résolution de systèmes linéaires

1 Introduction
On cherche à résoudre le problàme linéaire :

(S) AX = b (1)
   
a1,1 · · · a1,n b1
 . . .  .
..  ∈ Mn (C) désigne une matrice carée inversible et b =  ..
 
Où, A =  . ..
 .

  
an,1 · · · an,n bn
une matrice colonne.
 
x1
 . 
On sait que (S) admet une et une unique solution qu’on la note X =  . 
 . .
xn

La résolution des systèmes d’équations linéaires appartient aux problèmes les plus anciens
dans les mathématiques et ceux-ci apparaissent dans beaucoup de domaines, comme en trai-
tement numérique du signal, en optimisation linéaire, ou dans l’approximation de problèmes
non linéaires en analyse numérique, résolution approchée des équations différentielles et des
équations aux dérivées partielles.
les méthodes appelées méthodes directes fournissent des solutions exactes ( aux erreurs d’arron-
dis près bien entendu, ce qui n’est pas rien). Atitre d’exemples l’élimination de Gauss-Jordan
ou par la décomposition de Cholesky ou encore par la décomposition LU. Dans les cas simples,
la règle de Cramer peut également être appliquée.
Cependant, ces calculs peuvent être lourds pour des matrices de tailles très grandes.
Une alternative consiste à faire converger des suites vers la solution. Nous perdrons alors l’exac-
titude de la solution, mais nous gagnerons en rapidité d’exécution dans l’approximation de la
solution (suivant le degré de précision voulu).

1
2 Principe des méthodes itératives

Nous décomposons la matrice inversible A sous la forme A = M − N Nous avons alors :

AX = b est équivalent à M X = N X + b. (2)

Où M est une matrice inversible dont le calcul de son inverse est facil. On defint la suite
récurrente (X (k) )k (
X (0) ∈ Mn,1 (C)
(3)
M.X (k+1) = N.X (k) + b, k ∈ N.

Autrement, ∀k ∈ N, X (k+1) = M −1 N.X (k) + M −1 b.


Sous cette forme, nous cherchons à approcher la solution du problème par la méthode iterative .

2.1 Proposition
Si cette suite converge, alors elle converge vers l’unique solution X du système S.

Preuve : La fonction X −→ M −1 N.X définie sur Mn,1 (C) est linéaire en dimension finie, alors
elle est continue. Par conséquence la fonction f : X −→ M −1 N.X + M −1 b. est aussi continue.
On a X (k+1) = f (X (k) ). Donc Si la suite (X (k) )k converge, alors sa limite est un point fixe de f .
D’autre part l’unique point fixe de f est X
D’ou :
lim X (k) = X

Posons A = D − E − F , avec :
 
a1,1 0 ... 0
 .. .. .. 
 0 . . . 
D= .
 
 .. .. .. 
 . . 0 
0 ... 0 an,n
 
0 0 ... 0
 .. .. .. 
 a
 2,1 . . . 
E = − .

 .. .. .. 
 . . 0 
an,1 . . . an,n−1 0

2
 
0 a1,2 . . . a1,n
 . . .. 
 0 .. .. . 
F = −
 
.. . . . . 

 . . . an−1,n 

0 ... 0 0
On suppose de plus que les éléments diagonaux de A sont non nuls.

3 la méthode de Jacobi

Dans cette méthode, nous prenons M = D, et N = E + F .


l’avantage de cette méthode est que dans ce cas la, M = D est très facile a inverser.
Ici, M −1 .N = D−1 (E + F )
(
X (0) ∈ Mn,1 (C) donné
(4)
(D).X (k+1) = (E + F ).X (k) + b, k ∈ N.

Pour tout i = 1...n n


(k+1) 1 X (k)
Xi = (bi − ai,j Xj ). (5)
ai,i j=1, j6=i

Exemple 1 : Soit à résoudre le système suivant :


! ! !
10 1 x1 11
=
2 10 x2 12
!
1
L’unique solution du système précédent est X = .
1
!
0
Initialisons la méthode de Jacobi par X (0) = On obtient successivement :
0
       
11 98 1002 9996
 10   100   1000   10000 
X (1) = 

 , X (2) = 
 
 , X (3) = 
 
 , X (4) = 
 
.

12 98 1004 9992
10 100 1000 10000

On a donc :
8
k X (4) − X k∞ = = 0.0008
10000
3
Exemple 2 : Soit à résoudre le système suivant :
! ! !
1 10 x1 11
=
10 2 x2 12
!
1
L’unique solution du système précédent est X = Initialisons la méthode de Jacobi par
1
!
0
X (0) = On obtient successivement :
0
! ! ! !
11 −49 501 −2499
X (1) = , X (2) = , X (3) = , X (4) = .
6 −49 251 −2499

On a donc :
k X (4) − X k∞ = 2500

On constate à travers ces deux exemples que la suite engendré par la méthode de Jacobi peut
se rapprocher ou au contraire s’en éloigner.
Voici un exemple de la programation d’une itération de l’algorithme,

Pour i = 1 à n Faire
S := B(i)
Pour j = 1 à n Faire
S := S − A(i, j) ∗ X(j)
FIN DE BOUCLE J
S
Y (i) := X(i) + A(i,i)
FIN DE BOUCLE i
Pour i = 1 à n Faire
X(i)=Y(i)
FIN DE BOUCLE i

4 la méthode de Gauss-Seidel

Dans cette methode, nous prenons

M = D − E, et N = −F.

4
La méthode de Gauss-Seidel s’exprime alors par la suite.
(
X (0) ∈ Mn,1 (C) donné
(6)
(D − E).X (k+1) = F.X (k) + b, k ∈ N.

On trouve, Pour i = 1...n, et k ∈ N :

i−1 n
1 X X
xk+1
i = (bi − k+1
aij xj − aij xkj ) (7)
aii j=1 j=i+1

L’avantage de la méthode de Gauss-Seidel est que, pour calculer xk+1


i , on utilise les valeurs déjà
calculées de xk+1
j , pour j < i, au lieu de xkj comme dans la méthode de Jacobi.

Pour i = 1 à n Faire
S := 0
Pour j = 1 à n Faire
S := S + A(i, j) ∗ X(j)
FIN DE BOUCLE j
R := B(i) − S
R
X(i) = X(i) + A(i,i)
FIN DE BOUCLE i

5 la méthode de relaxation
C’est une méthode intermédiaire entre les deux méthodes précédentes. Nous mettons un peu
de diagonale de chaque côté en posant Dans cette méthode, nous prenons :

1 1−ω
M= D − E, et N = D+F
ω ω

Où ω 6= 0 est un paramètre de relaxation. La méthode de relaxation s’exprime alors par la


suite : 
 X (0) ∈ Mn,1 (C)
(8)
 ( 1 D − E).X (k+1) = ( 1 − ω D + F ).X (k) + b, k ∈ N.
ω ω
On aura aussi, pour tout i = 1...n, et k ∈ N :

i−1 n
ω X X
xk+1
i = (bi − k+1
aij xj − aij xkj ) + (1 − ω)xki ) (9)
aii j=1 j=i+1

5
Remarques :
1. Pour ω = 1, on trouve la méthode de Gauss-Seidel.

1 1−ω
2. Posons Lω = M −1 N = ( D − E)−1 ( D + F ).
ω ω
Pour la méthode de relaxation, on trouve :

X (k+1) = Lω X (k) + Lω b

Voici un code de programmation pour la méthode de relaxation :

Pour i = 1 à n Faire
S := 0
Pour j = 1 à n Faire
S := S + A(i, j) ∗ X(j)
FIN DE BOUCLE j
R := B(i) − S
R
X(i) = X(i) + ω ∗ A(i,i)
FIN DE BOUCLE i

6 Critère de convergence
Pour tout entier k, on pose ek = X − X (k) .
Alors : (X (k) )k converge vers X si et seulement (kek k)k converge vers 0. Où k k désigne une
norme quelconque de Kn .
On a, (
X (k+1) = M −1 N.X (k) + M −1 b,
X = M −1 N.X + M −1 b, .
Alors :
ek+1 = M −1 N.ek (10)

Par récurrence simple sur k, on trouve :

ek = (M −1 N )k .e0 (11)

6.1 Définition :
1. Soit A ∈ Mn (C) , le réel ρ(A) = M ax{|λ|/λ ∈ Sp(A)} est appelé le rayon spectral de A

6
2. Une norme sur Mn (C) est appelé norme matricielle si, kABk 6 kAkkBk.

Exemples :
 
1 −3 5 √ √
 
 On a Sp(A) = {1, 1 + i 15 1 − i 15
1. Soit A =  0 0 2 , }. Donc, ρ(A) = 2
  2 2
0 −2 1
2. Soit k k une norme vectorielle définie Mn,1 (C), on définie sur Mn (C) la norme ||| ||| par :

kAXk
|||A||| = sup = sup kAXk
X6=0 kXk kXk=1

||| ||| est norme matricielle, appelée norme matricielle subrodonée à la norme vectorielle
k k. De plus, on a l’inégalité suivante :

kAXk 6 |||A||| kXk

|||A.B||| 6 |||A|||.|||B|||

3. Soit A ∈ Mn (C). On pose :


X
|||A|||1 = max |ai,j |
j=1..n
i=1..n
X
|||A|||∞ = max |ai,j |, et
i=1..n
j=1..n
s X
|||A|||2 = |ai,j |2
i,j=1..n

Les normes ||| |||1 , ||| |||2 , et||| |||∞ , sont des normes matricielles.
6.2 Lemme :
1. Pour toute norme matricielle subordonée, sur Mn (C) et pour toute matrice A ∈ Mn (C),

ρ(A) < |||A|||.

2. Pour toute matrice A ∈ Mn (C) et pour tout ε > 0, il existe une norme subordonnée telle
que :
|||A||| < ρ(A) + ε

Attention : dans ce cas la la norme ||| ||| depend de A et de ε.

7
Preuve :

1. Soient λ ∈ Sp(A) et X un vecteur propre de A associé à la valeur propre λ. Alors :

kAXk
kAXk = |λ| kXk =⇒ |λ| = 6 |kA|k
kXk

D’où, ρ(A) 6 |kA|k

2. Soit A une matrice de rayon de convergence < 1. Soient U inversible et T triangulire


supérieure telle que, T = U −1 AU .
On a Sp(A) = Sp(T ) par suite ρ(A) = ρ(T ).
X
Il existe un réel σ > 0 tel que pour tout ∀i ∈ {1..n} : σ j−i |tij | 6 ε
j=i+1..n

∆ = diag(1, δ, ..., δ n−1 )

V = U∆

|kM |k = |kV −1 M V |k∞

|k |k est une norme matricielle vérifiant :

|||A||| < ρ(A) + ε

6.3 Théorème :
Soit A ∈ Mn (C) une matrice inversible. Alors les assertions suivantes sont équivalents :
1. La méthode itérative associée à la décomposition A = M − N, avec M inversible, converge
quel que soit la condition initiale X (0) .
2. lim k(M −1 .N )k k = 0. Où k k désigne une norme quelconque définie Mn (C)
k→+∞

3. le rayon spectral de la matrice ρ(M −1 .N ) < 1.


4. Il existe une norme matricielle que k M −1 .N k< 1

Exemple : En utilisant la méthode de Jacobi, on pose J = M −1 N = D−1 (E + F ), alors la


méthode convege si et!seulement ρ(J) <!1
√ √
10 1 0 −110 2 2
Pour, A = ,J = −2
Sp(J) = {± } ρ(J) = } < 1. Donc la méthode
2 10 0 10 10
10
de Jacobi converge.

8
! !
1 10 0 10 √
Pour, A = ,J = ρ(J) = 50 > 1. Donc la méthode de Jacobi diverge.
10 2 −5 0
Définition : On dit qu’une matrice A = (ai,j )i,j=1...n ∈ Mn (C) est à diagonales stricrement
dominantes si pour i = 1..n,
X
|aii | > |aij |
j6=i
 
5 1−i 0
 
Exemple : la matrice  −1
 3  est à diagonales strictement dominantes.
i 
2 −3 7

6.4 Théorème :
Soit A ∈ Mn (C) une matrice inversible à diagonales stricrement dominantes, alors la méthode
de Jacobi converge.
 
  0 · · · −a1,n
1 1 .. .. .. 
Preuve : On a M 1 N = D−1 (E + F ) = diag

,··· ,  . . . 
a11 ann  
−an,1 ··· 0
n
X |ai,j |
On a, pour tout i ∈ N, < 1. Alors |kM 1 N |k∞ < 1. D’où le résultat.
j=1,j6=i
|a i,i |
Définition : On dit qu’une matrice réelle symétrique A est définie positive si :
Pour tout X ∈ Mn;1 (R) non nul, t X.A.X > 0.

6.5 Théorème :
Soit A ∈ Mn (R) une matrice sysmétrique, définie positive. Nous la décomposons sous la forme
- A = M − N, où M est inversible. Alors :
1. t M + N est symétrique.
2. Si de plus t M + N est définie positive, alors ρ(M −1 .N ) < 1.

Preuve :

1. t M + N =t (A + N ) + N = A +t (N ) + N est symétrique.

2. soit (X, Y ) =t X ∗ .Y le produit canonique , B = M −1 N ici M ∗ =t M

(x, Ax) − (y, Ay) = (x, AM −1 M x) + (M −1 Ax, Ax) − (M −1 Ax, AM −1 Ax)

9
Pour le membre de droite on obtient y = Bx = x − M −1 Ax ⇒ x − y = M −1 Ax et donc

(x − y, (M + M ∗ − A)(x − y)) = (M −1 Ax, (M + M ∗ − A)M −1 Ax) =

(M −1 Ax, Ax) + (M −1 Ax, M ∗ M −1 Ax) − (M −1 Ax, AM −1 Ax)

Mais
(M −1 Ax, M ∗ M −1 Ax) = (x, (M −1 A)∗ M ∗ M −1 Ax) = (x, AM −1 Ax)

D’autre part.
y = Bx = λx ⇒ x − y = (1 − λ)x. En utilisant l’égalité précédente
(x, Ax) − (y, Ay) = (x, Ax) − (λx, A(λx)) = (1 − |λ|2 )(x, Ax)
(x − y, (M + M ∗ − A)(x − y)) = ((1 − λ)x, (M + M ∗ − A)((1 − λ)x)) = |1 − λ|2 (x, (M +
M ∗ − A)x) et donc

(1 − |λ|2 )(x, Ax) = |1 − λ|2 (x, (M + M ∗ − A)x)

λ ne peut pas être = 1 car sinon y = Bx = x ⇔ x−M −1 Ax = x ⇔ M −1 Ax = 0 ⇔ x = 0.


Donc λ 6= 1, M + M ∗ − A définie positive, |1 − λ|2 > 0, A définie positive impliquent que
1 − |λ|2 > 0 ⇔ |λ| < 1. Donc ρ(B) < 1 .
D’où le résultat.

6.6 Applications :

1. Si A est symétrique, si A et 2D − A sont définies positives, alors la méthode de Jacobi


converge.
En effet :
Il suffit de remarquer que, 2D − A =t M + N

2. Si A est symétrique définie positive, alors la méthode de Gauss-Seidel converge.


En effet :
Ici, M = D − E et N = F . Alors, t M + N = D −t E + F = D = diag(a1,1 , · · · , an,n )
est définie positive. Car ai =t Ei AEi > 0. Où (E1 , ..., En ) désigne la base canonique de
Mn,1 (R).

3. Si A est symétrique définie positive, et si 0 < ω < 2, alors la méthode de relaxation


converge.
En effet :
1 1−ω
Ici M = D − E, et N = D + F Où ω 6= 0.
ω ω
10
1 1−ω 2−ω
On a, t M + N = D−F + D+F = D.
ω ω ω
2−ω
Alors t M + N est définie positive SSI > 0 SSI 0 < ω < 2
ω

6.7 Exercice :
 
1 a a
 
Soit a ∈ R et A = 
 a 1 a 

a a 1
1. Pour qu’elles valeurs de a A est–elle définie positive ?
2. Pour qu’elles valeurs de a la méthode de Gauss–Seidel est–elle convergente ?
3. Ecrire la matrice J de l’itération de Jacobi.
4. Pour qu’elles valeurs de a la méthode de Jacobi converge–t–elle ?
5. Ecrire la matrice L1 de l’itération de Gauss–Seidel. Calculer ρ(L1 ).
6. Pour quelles valeurs de a la méthode de Gauss–Seidel converge–t–elle plus vite que celle
de Jacobi ?
Solution :  
1 a a
 
Soit a ∈ R et A = 
 a 1 a 

a a 1

 ⊂]0, +∞[.
1. On a la matrice A est symétrique. Alors A est définie positive SSI SP (A) 
−1
Or Sp(A) = {1 − a, 1 − a, 1 + 2a}. Donc : A est définie positive SSI a ∈ ,1
2
Autre méthode :
A est définie positive SSI les 3-déterminants ∆1 , ∆2 , ∆3 des sous matrices principales
sont strictement positives.
Dans ce cas :

1 a a

1 a
2

∆1 = 1, ∆2 =

= 1 − a , ∆3 = a 1 a
= (1 − a)2 (1 + 2a)
a a


a a 1

 
−1
A est définie possitive ssi a ∈ ,1
2
2. En utilisant la convergence de la méthode 
de Gauss–Seidel
 la décomoposition
 de A est de
1 a 0 0 −a −a
   
la forme A = M − N où M =   a 1 0  et N =  0 0 −a .
  
a a 1 0 0 0

11
On sait que la méthode de la méthode de Gauss–Seidel converge SSI ρ(M −1 N ) < 1.
Or puisque t M + N = I3 est définie positive, alors :
−1
ρ(M −1 N ) < 1 SSI, A est définie positive SSI a ∈] , 1[.
2
−1
Conclusion :la méthode de Gauss–Seidel est convergente si seulement a ∈] , 1[
2
     
1 0 0 0 0 0 0 a a
     
3. Pour cette matrice , D =  0 1 0  E = − a 0 0  F = − 0 0 a 
     
0 0 1 a a 0 0 0 0
 
0 −a −a
 
On a, donc A = D − E − F et J = D−1 (E + F ) =   −a 0 −a 

−a −a 0
(
X (0) ∈ Mn,1 (C)
La méthode de Jacobi est définie par :
X (k+1) = J.X (k) + J.b, k ∈ N.
4. On a, SP (J) = {a, a, −2a}. Donc ρ(J) = 2|a|.
Par suite, la méthode de Jacobi converge SSI ρ(J) < 1. SSI a ∈] −1
2 2
, 1[
5. Pour la méthode de Gauss–Seidel, la matrice de l’itération L1 est définie par :
 −1  
1 0 0 0 −a −a
L1 = (D − E) .F =  a 1 0 
−1
   
  0 0 −a 
  
a a 1 0 0 0
     
1 0 0 0 −a −a 0 −a −a
L1 = 
     
2 2
−a 1 . 0
0  0 −a  = −
  0 a a a 
   
a2 − a −a 1 0 0 0 2 3 2
0 a − a 2a − a 3

On a, χL1 (X) = det(XI3 − L1 ) = X(X 2 + (a3 − 3a2 )X + a3 ).


Posons, ∆ = (a3 − 3a2 )2 − 4a3 = a3 (a − 1)2 (a − 4)
Si a ∈ [0, 4], alors ∆ < 0. Par suite Sp(L1 ) = {0, µ, µ}, avec |µ|2 = µµ = a3 .

3
a ∈ [0, 4] =⇒ ρ(L1 ) = a 2
a p
/ [0, 4], alors Sp(L1 ) = {0, (3a − a2 ± |a − 1| a(a − 4))}. Donc :
Si a ∈
2

|a| p p
a∈
/ [0, 4] =⇒ ρ(L1 ) = max{|(3a−a2 −|a−1| a(a − 4))|, |(3a−a2 +|a−1| a(a − 4))|}
2

6. D’après ce qui précède, les deux méthodes converges SSI, a ∈] −1 , 1 [.


2 2
la méthode de Gauss–Seidel converge plus vite que celle de Jacobi SSI ρ(L1 ) < ρ(J).

12
1 3
Si a ∈]0, [ on a 2 < 2a. Dans ce cas la méthode de Gauss-Seidel converge plus vite que
2
celle de Jacobi.
−1 |a| p
Si a ∈] , 0[, ρ(L1 ) = (−3a + a2 + (1 − a) a(a − 4))
2 2

6.8 Théorème :
Soit A ∈ Mn (C) une matrice inversible . Le rayon spectral de la méthode itérative Lω est
supérieur ou égal à |ω − 1|

Preuve :
On a :
1 1−ω
Lω = ( D − E)−1 ( D + F ) = (In − ωE)−1 ((1 − ω)In + ωF )
ω ω
On a, det((In − ωE)) = 1 ⇒ det((In − ωE))−1 = 1.
de même det((1 − ω)In + ωF )) = (1 − ω)n , par conséquence,

det(Lω ) = (1 − ω)n

Soit λ une valeur propre de Lω . Alors :

n−1
X
det(λIn − Lω ) = λn + ak λk = 0
k=0

Avec a0 = (−1)n det(Lω ) = (w − 1)n .


Soient λ1 , ..., λn les valeurs propres de Lω , on a :
n
Y
λk = (−1)n a0 = det(Lω ) = (1 − ω)n
k=1

Donc,
n
Y
n
|ω − 1| = |λk | 6 ρ(ω)n
k=1

En fin, |ω − 1| 6 ρ(ω)

6.9 Corollaire :
Soit A ∈ Mn (C), une matrice inversible. une condition nécessaire de convergence de la méthode
de relaxation est que 0 < ω < 2.

Preuve :

13
Si la méthode de relaxation est convergente, alors ρ(Lω ) < 1. Or |ω − 1| 6 ρ(Lω ) < 1.
Donc 0 < ω < 2

7 Tests d’arrêt des itérations :


Pour chaque k ∈ N, on pose le résidu d’ordr k, le veceur : r(k) = b − A.X (k) .
On a la suite (X (k) )k converge vers X. Si et seulement si (kr(k) k)k converge vers 0.
Pour ε > 0. Le test usuel concsite à s’a’arrêter à la k ème itération, si :

kr(k) k
<ε (12)
kbk

D’autre part, e(k) = A−1 r(k) , donc :

ke(k) k = kA−1 r(k) k 6 |kA−1 |kkr(k) k 6 εkkA−1 |kkbk 6 εkkA−1 |kkAXk 6 εk|A|k|kA−1 |kkXk

Ce qui implique que :


ke(k) k
< εK(A)
kXk
Où K(A) = k|A|k|kA−1 |k > 1 désigne le nombre conditionnement de A .
Ce qui permet d’utiliser un autre test d’arrêt :

kX (k) − X (k−1) k <6 εkX (k) k (13)

14

Vous aimerez peut-être aussi