Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 24

Chapitre 3

Résolution des systèmes linéaires


Ax = b, A 2 Mm,n, b, x 2 Rn

Dans cette partie on étudie quelques exemples de méthodes autres que la méthode de Cramer
(couteuse en temps de calcul), pour la résoudre le système

Ax = b, A 2 Rm,n avec b, x 2 Rn (3.1)

Par simplicité nous allons nous restreindre au cas réel, et on supposera dans toute la section
A 2 Rn,n , x 2 Rn et b 2 Rn non nul.
8
>
> a1,1 x1 + a1,2 x2 + . . . + a1,n xn = b1
>
>
>
< a x
2,1 1 + a x
2,2 2 + . . . + a x
2,n n = b2
.. .. (3.2)
> . .
>
>
>
> an 1,1 x1 + an 1,2 x2 + . . . + an 1,n xn = bn 1
:
an,1 x1 + an,2 x2 + . . . + an,n xn = bn
avec
0 1 0 1 0 1
a1,1 a1,2 · · · a1,n b1 x1
B a2,1 a2,2 · · · a2,n C B b2 C B x2 C
B C B C B C
A=B . .. .. .. C , b = B .. C , x = B .. C
@ .. . . . A @.A @ . A
an,1 an,2 · · · an,n bn xn
Il existe en général des manières plus efficaces càd moins couteuses en temps de calcul pour
résoudre ces systèmes. C’est le cas lorsque la matrice A est : Diagonale notons A = D, triangulaire
inférieure (càd A = L lower) en anglais ou triangulaire supérieure (càd A = U upper).
0 1 0 1 0 1
a1,1 0 ··· 0 a1,1 a1,2 · · · a1,n a1,1 0 · · · 0
B a2,1 a2,2 · · · 0 C B 0 a2,2 · · · a2,n C B 0 a2,2 · · · C
B C B C B C
L=B . . . . C ; U =B . . . . C ; D=B . . . . C
@ .. .
. . . .
. A @ .. .
. . . .
. A @ .. .
. . . .
. A
an,1 an,2 · · · an,n 0 0 · · · an,n · · · an,n

41
Voyons comme exemple Ax = b, avec A = L :
8
>
> a1,1 x1 . . . = b1
>
>
>
> a21 x1 + a2,2 x2 . . . = b2
>
> .. ..
<
. .
()
>
> ai,i xi + ai,i+1 xi+1 + . . . + ai,n xn = bi
>
> .. ..
>
>
>
> . .
:
an,1 x1 + an,2 x2 + . . . + an,n xn = bn
8 b1
>
> x1 . . . = a1,1
>
>
< x2 . . . = 1
b2 a2,1 x1
a2,2
.. .. ()
>
> . .
>
>
: x = 1
bi ai,i+1 xi+1 ... ai,n xn
i ai,i

1 ⇣ ⌘
n
X
xi = bi ai,j xj , 8 i = 1, · · · , n
ai,i
j=i+1

x = (x1 , x2 , · · · , xn )t solution du système.


Dans ce chapitre, nous allons étudier les 2 méthodes de résolutions dites :
"Directes"
• pivot de Gauss (ou élimination de Gauss-Jordan)
• décomposition LU (si A est une matrice carrée)
• décomposition LDU
• D’autres méthodes existent si A possède d’autres propriétés (par exemple : si A symétrique,
factorisation de Cholesky)
"Itératives" (si A est une matrice carrée)
• méthode de Jacobi
• méthode de Gauss-Seidel
• méthode SOR ou méthode de relaxation.

3.1 Méthodes directes :


Méthode d’élimination de Gauss, factorisation LU , LDM 0 et
la factorisation de Choleski
Définition 9 (Méthode directe).
On appelle méthode directe de résolution de Ax = b une méthode qui donne exactement x (A et
b étant connus) solution de Ax = b après un nombre fini d’opérations élémentaires (+, , x, /)

3.1.1 Méthode d’élimination de Gauss, factorisation LU


Soient A 2 Mm,n , b, x 2 Rn ,A une matrice inversible, . On cherche à calculer x 2 Rn tel
que Ax = b. Le principe de la méthode de Gauss est de se ramener, par des opérations simples
(combinaisons linéaires), à un système triangulaire équivalent, qui sera donc facile à inverser.
Commençons par un exemple pour une matrice 3 ⇥ 3. Nous donnerons ensuite la méthode
pour une matrice n ⇥ n.

42
Exemple 8 On considère le système Ax = b, avec
0 1 0 1
1 0 1 2
A=@ 0 2 1A ; b = @ 1 A
1 1 2 2

Écrivons la matrice augmentée, constituée de la matrice A et du second membre b.


0 1
1 0 1 2
à = @ 0 2 1 1A
1 1 2 2

Gauss et opérations matricielles :


La première ligne a un 1 en première position (en gras dans la matrice), ce coefficient est
non nul, et c’est un pivot. On va pouvoir diviser toute la première ligne par ce nombre pour en
soustraire un multiple à toutes les lignes d’après, dans le but de faire apparaître des 0 dans tout
le bas de la colonne.
La deuxième équation a déjà un 0 dessous, donc on n’a rien besoin de faire. On veut ensuite
annuler le premier coefficient de la troisième ligne. On retranche donc ( 1) fois la première
ligne à la troisiéme
0 1 0 1
1 0 1 2 1 0 1 2
@0 2 1 1 A ! @0 2 1 1A
1 1 2 2 0 1 1 0 L l +l
3 3 1

0 1
1 0 0
Ceci revient à multiplier A à gauche par la matrice E1 = @0 1 0A
1 0 1
La deuxième ligne a un terme non nul en deuxième position (2) : c’est un pivot. On va
maintenant annuler le deuxième terme de la troisième ligne ; pour cela, on retranche 1/2 fois la
ligne 2 à la ligne 3 :
0 1 0 1
1 0 1 2 1 0 1 2
@0 2 1 1 A ! @0 2 1 1 A
1 1
0 1 1 0 0 0 2 2 L l (1/2)l
3 3 2

0 1
1 0 0
Ceci revient à multiplier la matrice précédente à gauche par la matrice E2 = @0 1 0A
1
0 2 1
On a ici obtenue une matrice sous forme triangulaire supérieure à trois pivots : on peut donc
faire la remontée pour obtenir la solution du système, et on obtient (en notant xi les composantes
de x) : x3 = 1 puis x2 = 1 et enfin x1 = 1. Doù la résolution du syatème

On rappelle que le fait de travailler sur la matrice augmentée est extrêmement pratique car il
permet de travailler simultanément sur les coeffients du système linéaire et sur le second membre.
Finalement, au moyen des opérations décrites ci-dessus, on a transformé le système linéaire

Ax = b en U x = E2 E1 b, où U = E2 E1 A

est une matrice triangulaire supérieure.

43
Factorisation LU Tout va bien lorque le système est de petite taille. Par contre si on
devrait résoudre un système de taille 4000. Ceci est courant dans les applications. Par exemple
on peut vouloir calculer la réponse d’une structure de génie civil. Il serait un peu dommage de
recommencer les opérations ci-dessus
L’dée est de factoriser la matrice A, c.à.d de l’écrire comme un produit A = LU , où L
est triangulaire inférieure (lower triangular) et U triangulaire supérieure (upper triangular). On
reformule alors le système Ax = b sous la forme LU x = b et on résout maintenant deux systèmes
faciles à résoudre car triangulaires : Ly = b et U x = y. La factorisation LU de la matrice découle
immédiatement de l’algorithme de Gauss. Voyons comment sur l’exemple précédent.
1. On remarque que U = E2 E1 A peut aussi s’écrire A = LU , avec L = (E2 E1 ) 1
2. On sait que (E2 E1 ) 1 = E1 1 E2 1
3. Les matrices inverses E1 1 et E2 1 sont faciles à déterminer : comme E2 consiste à retran-
cher 1/2 fois la ligne 2 à la ligne 3, l’opération inverse consiste à ajouter 1/2 fois la ligne
2 à la ligne 3, et donc 0 1
1 0 0
E2 1 = @0 1 0A
0 12 1
0 1 0 1
1 0 0 1 0 0
Il est facile de voir que E1 1 = @ 0 1 0A et donc L = E1 1 E2 1 = @ 0 1 0A
1 0 1 1 12 1
La matrice L est une matrice triangulaire inférieure (et c’est d’ailleurs pour cela qu’on
l’appelle L, pour lower in English . . .)dont les coefficients sont particulièrement simples
à trouver : les termes diagonaux sont tous égaux à un, et chaque terme non nul sous-
diagonal li,j est égal au coefficient par lequel on a multiplié la ligne pivot i avant de la
retrancher à la ligne j.
4. On a bien donc A = LU avec L triangulaire inférieure (lower triangular) et U triangulaire
supérieure (upper triangular).
La procédure d’écrite ci-dessus s’appelle méthode LU ou décomposition LU
Dans l’exemple que nous avons étudié, tout se passait très bien car nous n’avons pas eu de
zéro en position de pivot. sinon, la factorisation peut quand même se faire, mais au prix d’une
permutation.
Théorème 12 (Théorème d’élimination de Gauss)
Soit A 2 Mn (R) inversible ou non. Il existe au moins une matrice inversible M telle que
M A soit triangulaire supérieure.
Démonstration. On va en fait construire M A d’une manière itérative sur les lignes en construisant
une suite de matrices A(1) , A(2) , . . . , jusqu’à A(n) = M A
On donne par la même occasion l’algorithme de construction de M A sans avoir en fait à
connaître la matrice M à aucun moment.
• Etape 1 : Posons A(1) = A, on construit Ã(1) = P1 A(1) où P1 est une matrice de
(1) (1)
permutation telle que ã1,1 6= 0 : Si ã1,1 6= 0, on prend P1 = In matrice de l’identité.
(1) (1) (1)
Sinon, il existe un i tel que a1,1 6= 0, alors on permute les lignes i et 1. a1,1 devient ã1,1
que l’on appelle pivot de Ã(1) .
(1)
Ensuite on annule tous les éléments ãi,1 , i > 1 sous ce pivot et on obtient A(2) = E1 Ã(1) ,
ne contienne que des zéros sur la première colonne à partir de la deuxième ligne.
(1)
(2) (1) ãi,1 (1)
ai,j = ãi,j ã
(1) 1,j
ã1,1

44
La matrice E1 est définie par :
1) e1i,i = 1, 8 i = 1, 2, · · · , n
⇣ (1)
ã2,1
(1)
ãn,1
⌘T
2) Sa première colonne est 1, (1) , . . . , (1)
ã1,1 ã1,1
3) Tous les autres éléments de la matrice sont nuls.
• Etape k : A(k) connue avec que des zéros en dessous de la diagonale sur les (k 1)
premières colonnes.
0 1
(k) (k) (k)
a1,1 a1,2 . . . . . . . . . a1,n
B (k) C
B 0 a(k) a2,n C
B 2,2 C
B .. . . . . .. C
B . . . . C
A(k) = B
B 0 (k) (k) C
C
B . . . 0 ak,k . . . ak,n C
B . .. .. .. C
B .. . . . C
@ A
(k) (k)
0 . . . 0 an,k . . . an,n
(k)
On construit Ã(k) = Pk A(k) où Pk est une matrice de permutation telle que ãk,k 6= 0 :
(k) (k)
Si ãk,k 6= 0 on prend Pk = In . Sinon il existe un i > k tel que ãi,k 6= 0, on permute les
(k) (k)
lignes i et k. ãi,k devient ãk,k que l’on appelle pivot de Ã(k) La matrice Pk est définie
par :
k
Pj,j = 1, si j 6= i et j 6= k
k k
Pk,i = Pi,k =1
Tous les autres éléments de la matrice sont nuls.
Ensuite on multiplie Ã(k) par la matrice Ek telle que A(k+1) = Ek Ã(k) ne contienne que
des zéros sur la k ième colonne à partir de la (k + 1)ième ligne. pour i > k la iième ligne
de A(k+1) est en fait obtenue par la combinaison des iième et k ième lignes de Ã(k) qui fait
apparat̂re 0 dans la k ième colonne
(k)
(k) (k) ãi,k (k)
ai,j = ãi,j ã
(k) k,j
ãk,k
La matrice Ek est définie par :
1) eki,i = 1, 8 i = 1, 2, · · · , n
⇣ (k)
ãk+1,k
(k)
ãn,k
⌘T
2) Sa k ième colonne est 0, · · · , 0, (k) , ..., (k)
ãk,k ãk,k
3) Tous les autres éléments de la matrice sont nuls.
4) En récapitulant Ek = (eki,j ),
0 1
1 ... 0 0 0 ... 0
B .. . . .. .. .. .. C
B . . . . . . C
B C
B 0 ... 1 0 0 ... 0 C
B C
B 0 ... 0 1 0 ... 0 C
B C
Ek = B B 0
(k)
ãk+1,k C
B ... 0 (k) 1 ... 0 C C
B ãk,k C
B .. .. .. . . C
B .
B ... . . . C
C
@ (k)
ãn,k A
0 ... 0 (k) 0 ... 1
ãk,k

45
qui a pour inverse
0 1
1 ... 0 0 0 ... 0
B .. . . .. .. .. .. C
B . . . . . . C
B C
B 0 ... 1 0 0 ... 0 C
B C
B 0 ... 0 1 0 ... 0 C
B C
Ek 1 =B
B 0 ...
(k)
ãk+1,k C
B 0 + (k) 1 ... 0 C C
B ãk,k C
B .. .. .. . . C
B . ...
B . . . C
C
@ (k)
ãn,k A
0 ... 0 + (k) 0 ... 1
ãk,k

• Etape n-1 : On obtient A(n) telle A(n) triangulaire surpérieure.

A(n) = M A = U, où M = En 1 Pn 1 · · · E1 P1

Remarque 3 En pratique, on ne calcule pas explicitement la matrice M , mais seulement la


matrice M A = U . On fait subir la matrice A à des permutation et combinaisons de lignes.
1
U = M A, M = En 1 Pn 1 · · · E 1 P1 () A = M U = LU

avec
1
L = En 1 Pn 1 · · · E 1 P1

Remarque 4 En fait n’importe quelle matrice carrée admet une décomposition de la forme
P A = LU . Mais si la matrice A n’est pas inversible, son échelonnement va nous donner des
lignes de zéros pour les dernières lignes . La décomposition LU n’est dans ce cas pas unique.

Définition 10 (Mineurs principaux)


Soit A = (ai,j )1i,jn 2 Mn (R) une matrice. On appelle mineurs principaux de A les déter-
minants des matrices
0 1
a1,1 . . . a1,k
Ak,k = @ ... .. .. C , 8 k = 1, 2, . . . , n,
B
. . A
ak,1 . . . ak,k

Théorème 13 (Critère de Hadamard)


Soit A = (ai,j )1i,jn 2 Mn (R) telle que
n
X
8 i = 1, 2, . . . , n, |ai,j | > |ai,j |,
j=1, j6=i

alors A est inversible.

Démonstration.
Effectuons une démonstration par l’absurde en supposant qu’il existe un vecteur colonne
x = (x1 , x2 , . . . , xn )T non nul tel que Ax = 0.
Soit k naturel, k 2 {1, 2, . . . , n} tel que : |xk | = max1xi n (|xi |)
Remarquons que :|xk | > 0
En effet, on a le vecteur x est non nul, alors 9i0 2 {1, 2, . . . , n} tel que xi0 6= 0
Donc |xk | |xi0 | > 0

46
Etudions alors la k ème équation tirée de Ax = 0 :
n
X n
X
ak,k xk + ak,i xi = 0 =) |ak,k ||xk |  |xk | ak,i
i=1, i6=k i=1, i6=k

et donc
n
X
|ak,k |  ak,i
i=1, i6=k

ce qui contredit l’inégalité du théorème. Ainsi A est inversible.


Définition 11 Une matrice A = (ai,j )1i,jn 2 Mn (R) est dite à diagonale strictement domi-
nante si
n
X
8 i = 1, 2, . . . , n, |ai,j | > |ai,j |,
j=1, j6=i

Théorème 14 (Factorisation ou décomposition LU )


Soit A 2 Mn (R) une matrice dont tous les mineurs principaux sont non nuls. Il existe un
unique couple de matrices (L, U ), avec U triangulaire supérieure, et L triangulaire inférieure à
diagonale unité ( i.e li,i = 1), tel que A = LU .

Démonstration. On doit vérifier l’unicité et l’existence :


• L’unicité : Supposons qu’il existe deux décompositions LU de A : A = L1 U1 = L2 U2
avec Li (i = 1, 2) triangulaire inférieure, et Ui (i = 1, 2) triangulaire supérieure.
Ce qui prouve que U1 U2 1 = L1 1 L2 sont des matrices diagonales, et puisque li,i = 1, on
a L1 = L2 et U1 = U2 . D’où l’unicité.
• L’existencee : Par récurrence sur n. Pour n = 1 le résultat est évidement vrai.
On suppose que le résultat vrai pour n 1.
On décompose la matrice A par blocs sous la forme :
✓ ◆
An 1 c
A=
bT an,n

où An 1 est la matrice carrée d’ordre n 1 formée des n 1 premières lignes et colonnes


de A, b et c sont des vecteurs colonnes données par :
⇣ ⌘T ⇣ ⌘T
b = an,1 an,2 . . . an,n 1 , c = a1,n a2,n . . . an 1,n

On a An 1 vérifie l’hypothèse de récurrence, donc : An 1 = Ln 1 Un 1.


Cherchons alors L et U décomposées par blocs sous la forme :
✓ ◆ ✓ ◆
Ln 1 0 Un 1 u
L= , U=
lT 1 0 un,n

En effectuant le produit par blocs et en identifiant à la décomposition de A, on obtient


le système
8
> An 1 = L n 1 U n 1 8 T
>
< T T < l = bT Un 11
b = l Un 1
=) u = Ln 1 1 c
>
> c = Ln 1 u :
: u n,n = an,n bT An,n 1c
an,n = lT u + un,n

Ceci termine la démonstration.

47

y = Ux
On a alors Ax = b () LU x = b ()
Ly = b

Alors résoudre le système Ax = b, revient à résoudre successivement les deux systèmes Ly = b


puis U x = y, le vecteur intermédiaire y s’obtenant par une méthode de descente, analogue à celle
de remontée mais où cette fois on calcule successivement x1 , x2 , . . . , xn dans l’ordre croissant
des indices, puisque la matrice L est triangulaire inférieure.
Le nombre d’opérations de l’ordre de 2n2 . En ajoutant la mise sous forme LU , dont on va
3
voir qu’elle revient à un pivot de Gauss, avec un nombre d’opérations de l’ordre de 2n3 cela
donne pour résoudre simultanément p systèmes Ax = bj , avec des seconds membres b1 , . . . , bp ,
3
un nombre d’opérations de l’ordre de 2n2 .p + 2n3
0 1
2 1 0
Exemple 9 Soit la matrice suivante A = @ 1 2 1A La matrice A se décompose en un
0 1 2
produit d’une matrice triangulaire inférieure et une matrice triangulaire supérieure A = LU , où
0 1 0 1
1 0 0 1 1 0
L = @ 1/2 1 0A , U = @0 3/2 1 A
0 2/3 1 0 0 2/3
✓ ◆
0 1
par contre B = n’admet pas de décomposition LU.
2 3
Dans ce qui suit on présentera une formalisation différente de la factorisation LU sous la
forme d’un produit de trois matrices LDM 0 . Cette factorisation n’a pas d’intérêt pratique mais
elle sera utile pour obtenir la factorisation LDLt d’une matrice symétrique. Finalement on
discutera la situation très importante d’une matrice définie positive pour laquelle il existe une
factorisation de la forme BB t appelée factorisation de Cholesky.
Définition 12 Une matrice A 2 Mn⇥n (K) est dite symétrique si elle est égale à sa transposé
i.e AT = A. On note aussi A0 = A.

3.1.2 Factorisation LDM 0


Montrons d’abord qu’il est possible de factoriser la matrice A en un produit de trois matrices
A = LDM 0
avec D une matrice diagonale et L et M deux matrices triangulaires inférieures unitaires.

Théorème 15 Si toutes les sous-matrices diagonales de A sont non-singulières, alors il existe


deux matrices triangulaires inférieures unitaires L et M et une matrice diagonale D tel que
A = LDM 0 . Cette factorisation est unique.

Preuve :
A est décomposable en LU avec lii = 1, i = 1, . . . , n d’après le théorème précèdent. Posons
D = d1,1 , , dn,n , avec di,i = ui,i , alors D est mon singulier et M 0 = D 1 U est triangulaire
supérieure unitaire. Ainsi
A = LU = LD(D 1 U ) = LDM 0
L’unicité découle de l’unicité de la factorisation LU .
La factorisation LDM 0 peut donc être obtenu à a partir de la factorisation LU .

48
Théorème 16 Si A = LDM 0 est la factorisation d’une matrice non-singulière et symétrique,
alors M = L

Preuve :
La matrice M 1 A(M 0 ) 1 = M 1 LD est à la fois symétrique et triangulaire inférieure, donc
diagonale. Comme D n’est pas singulière, M 1 L est aussi diagonale. Mais M 1 L est aussi une
matrice triangulaire unitaire et donc M 1 L = I

Matrices symétriques définies positives


Les systèmes linéaires Ax = b avec une matrice A définie positive constituent une classe,
parmi les plus importantes, des systèmes linéaires particuliers. Rappelons A 2 Rn⇥n est définie
positive si
8x 2 Rn , x 6= 0, on a : xt Ax > 0
✓ ◆
a11 a12
Considérons le cas symétrique avec A = . Si A est définie positive on a
a12 a22

xt Ax = a11 x21 x1 + 2a12 xi x22 + a22 x22 > 0 =)

x = (1, 0)0 =) a11 > 0


x = (0, 1)0 =) a22 > 0
x = (1, 1)0 =) a11 + 2a12 + a22 > 0
x = (1, 1)0 =) a11 2a12 + a22 > 0

Les deux derniers résultats impliquent que |a12 |  (a11 +a 2


22 )
et que le plus grand élément de A
se trouve sur la diagonale et qu’il est positifs. Il en résulte qu’une matrice symétrique et définie
positive a des éléments diagonaux qui sont relativement grands ce qui rendra le pivotage inutile.

Proposition 8
Si A est définie positive, alors A est non singulier

Preuve : Supposons 9 x 6= 0 tel que x0 Ax = 0. Alors Ax = 0 ce qui n’est pas possible pour A
non-singulière.

Corollaire 3 Si A est définie positive, alors toutes les sous-matrices diagonales sont définies
positives. En particulier tous les éléments diagonaux sont positifs.

Corollaire 4 Si A est définie positive, alors la factorisation A = LDM 0 existe et tous les
éléments de D sont positifs.

Définition 13
Soit K 2 R ou C. Le produit scalaire canonique sur Kn est défini comme l’application

< . , . >: Kn ⇥ Kn ! K : (u, v) ! (u, v) qui vérifie


P
1. Si K = R (u, v) = v T .u = ni=1 ui vi (produit scalaire euclidien),
P
2. Si K = C (u, v) = v̄ T .u = ni=1 ui v¯i (produit scalaire hermitien).

49
3.1.3 Factorisation de Cholesky
La méthode de Cholesky est une alternative à l’élimination de Gauss qui s’applique aux
matrices symétriques et définies positives.
Nous savons que pour des matrices symétriques il existe la factorisation A = LDL0 . Montrons
qu’il existe encore une autre factorisation.

Théorème 17 (Factorisation de Cholesky)


Soit A 2 Rn⇥n est symétrique et définie positive, alors il existe une matrice triangulaire inférieure
unique L 2 Rn⇥n avec les éléements diagonaux positifs et telle que A = BB 0 ou A = BB t .

Les condition du théorème précédent sont réunies alors A = LDM 0 . Comme les di,i sont positifs,
la matrice p p
B = Ldiag d1,1 , , . . . , , dn,n
est une matrice réelle triangulaire inférieure avec diagonale positive. On a A = BB t . L’unicité
découle de l’unicité de la factorisation LDLt .
La matrice B est appelle le triangle de Cholesky. La démonstration du théorème fournit une
méthode pour obtenir B. . Il existe cependant d’autres méthodes pour obtenir B.

Exemple 10

3.2 Méthodes itératives pour la résolution de systèmes linéaires

Introduction
En analyse numérique, une méthode itérative est un procédé algorithmique utilisé pour
résoudre un problème, par exemple la recherche d’une solution d’un système d’équations ou
d’un problème d’optimisation. En débutant par le choix d’un point initial considéré comme
une première ébauche de solution, la méthode procède par itérations au cours desquelles elle
détermine une succession de solutions approximatives raffinées qui se rapprochent graduellement
de la solution cherchée. Les points générés sont appelés des itérés.

Motivation
Les méthodes itératives deviennent indispensables dès que la taille n du système est très
grande. En effet, les méthodes directes exigent un nombre d’opérations à virgule flottante de
l’ordre de n3 lorsque n tend vers l’infini ce qui les rend lentes pour de grandes valeurs de n. De
tels systèmes apparaissent par exemple dans les techniques de ésolution numérique d’èquations
aux dérivées partielles. Les matrices des systèmes obtenus sont en général ’creuses’ (c’est à-dire
qu’elles ont beaucoup de 0) et (semi) définies positives.

3.2.1 Modèle général d’un schéma itératif


On considr̀e une matrice A 2 Mn⇥n (K) inversible, K un corp fini, un vecteur b 2 Kn et un
système linéaire
(S) : Ax = b
Le principe général d’une méthode itérative pour résoudre (3.3) est de générer une suite de
vecteurs qui converge vers la solution x = A 1 b. Pour ce faire l’idée est d’écrire le système (S)
sous une forme équivalente permettant de voir la solution comme le point fixe d’une certaine
fonction, i.e
(S) () Bx + c = x, (3.3)

50
avec B 2 Mn⇥n (K) et c 2 Kn bien choisis c’est-à-dire
1
I B inversible et c = I B A b
Par exemple, si A = M N pour deux matrices M , N 2 Mn⇥n (K) avec M inversible,
1 1
Ax = b () (M N )x = b () M x = b + N x () x = M b+M Nx
on peut choisir d’après (3.3)
1 1
B=M N et c = M b
Dans la suite on supposera toujours que B 2 Mn⇥n (K), c 2 Kn sont choisis tels que I B
inversible et c = I B A 1 b c’est à dire méthode itérative consistante On se donne alors un
vecteur x(0) 2 Kn et on construit une suite de vecteurs x(k) 2 Kn à l’aide du schéma itératif
x(k+1) = Bx(k) + c, k = 1, 2, . . . (3.4)
⇣ ⌘
Si la suite x(k) est convergente, alors elle converge vers la solution x = A 1b de (S).
k2N
En effet, si elle existe, la limite x? est un point fixe de la fonction
x 7! Bx + x, i.e x? = Bx? + c
qui est équivalent à Ax? = b d’après (3.3).
La mise en oeuvre pratique d’une méthode itérative de la forme (3.4) nécessite la donnée d’un
point de départ x(0) (en général, sauf si l’on possède des informations a priori sur la solution, on
choisit le vecteur nul) et d’une tolérance sur la solution que l’on cherche à calculer. On calcule
ensuite les itérés x? , k = 1, 2, . . . en utilisant la formule (3.4) jusqu’à ce que le résidu
rk = b Ax(k)
soit plus petit que la tolérance notée souvent par ".

3.2.2 Convergence
Définition 14
La méthode itérative (3.4) pour résoudre Ax = b est dite convergente si pour toute valeur
initiale x(0) 2 Kn on a limn!+1 x(k) = A 1 b
Lemme 3
Si la méthode itérative (3.4) est convergente et si on note x = A 1b la solution, alors
x(k) x = B k x(0) x
En posant comme erreur à la k-ème itération : ek = x(k) x, k = 0, . . . , n, on obtient
x(k) x = B k x(0) x () ek = B k e0 , 8k 2 N
Démonstration. On a
1
c= I B A b= I B x
d’où
x(k+1) = Bx(k) + I B x () x(k+1) x = B x(k) x
(k+1) (k)
x x=B x x () ek+1 = Bek = BBek 1 = . . . = B k e0
d’où le résultat.
Remarquons que ek = x(k) x représente l’erreur à la k-ième itération de sorte que la formule
ci-dessus permet d’estimer cette erreur en fonction de l’erreur initiale.
Le résultat suivant nous donne des critères pour tester la convergence de la méthode itérative.
Rappelons avant les définitions et résultats suivants :

51
Normes, normes matricielles
Les problèmes concrets de l’analyse numérique font intervenir des matrices de grande taille,
pour lesquelles on ne peut espérer obtenir que des solutions approchées.
Ceci soulève trois sortes de problèmes : précision du résultat obtenu, temps de calcul néces-
saire, et stabilité de la solution obtenue par rapport à des perturbations des données. Il existe
des systèmes dits mal conditionnées pour lesquels d’infimes perturbations (dues à des incerti-
tudes de mesures par exemple) provoquent des grands changements dans la solution. On dira
que la matrice est conditionnée. En scilab la commande cond(A) donne un mombre appartenant
à l’intervalle [1, +1[
Une norme matricielle est une norme définie sur un espace vectoriel de matrices.
Définition 15 Soit Mn⇥n (K) l’algèbre des matrices carrées sur le corps K = R ou ( C).
On appelle norme matricielle sur Mn⇥n (K) toute norme ||.|| définie sur l’espace vectoriel
Mn⇥n (K), qui est ainsi une algèbre normée. On a donc, par définition :
1. ||A|| > 0 8 A 2 Mn⇥n (K) tq A 6= On
2. ||On || = 0 ;
3. || A|| = | |||A||, 8 ( , A) 2 K ⇥ Mn⇥n (K)
4. ||A + B||  ||A|| + ||B||, 8 (A, B) 2 (Mn⇥n (K))2
5. ||AB||  ||A||.||B||, 8 (A, B) 2 (Mn⇥n (K))2

Si Kn est muni d’une norme vectorielle notée N , on a :


N (Ax)
• ||A|| = sup = sup N (Ax) = sup N (Ax)
x6= 0 N (x) 0N (x) 1 N (x)=1
Ainsi, la norme matricielle est analogue à la norme de l’application linéaire f 2 Hom(Kn , Kn )
dont la matrice, dans des bases données, est A. On dit, d’après la relation précèdente, que
||.|| est une norme subordonnée, ou une norme associée, à la norme N définie sur Kn .
? Des exemples classiques de normes matriciellesPsont les suivants :
• Norme quadratique : Si N = N2 , avec N2 (x) = n 2 2
i=1 xi , la norme subordonnée à N2 ,
notée ||.||2 , est donnée par :
1/2
||A||2 = ⇢(A? A)
où A? = ĀT (adjointe, ou trans-conjuguée, de A) et ⇢(A) = maxi=1,...,n | i |  0 est appelé
rayon spectral de A, avec i 2 Spectre de A. P
• Norme du supremum. Si N = N1 , avec N1 (x) = ni=1 |xi |, la norme subordonnée à
N1 , est généralement notée ||.||1 . Elle est donnée par :
X n
N1 (Ax)
||A||1 = sup = max |aij |, avec A = (aij )i,j=1,...,n
x6= 0 N1 (x) i=1,...,n
j=1

• Norme 1.
n
X
||A||1 = max |aij |, avec A = (aij )i,j=1,...,n
j=1,...,n
i=1

On admettra le résultat suivant qui relie le rayon spectral avec les normes matricielles subor-
données
Lemme 4 On a les résultats suivants :
1. Soit ||.|| une norme matricielle subordonnée. Alors, pour toute matrice A 2 Mn (K)

⇢(A)  ||A||

52
2. Pour toute matrice A et tout réel ", il existe une norme subordonnée ||.|| telle que
||A||  ⇢(A) + "

Définition 16 Une méthode itérative est convergente si pour tout x0 , on a


lim ek = 0
k!1

Ceci est équivalent à :


lim B k = 0 () 8 x 2 Kn , lim B k x = 0 () lim ||B||k = 0, 8 la norme matricielle.
k!1 k!1 k!1

Théorème 18 (Convergence des méthodes itératives)


On a
lim ||B||k = 0 () ⇢(B) < 1
k!1
Pour que la méthode itérative de la forme (3.4) soit convergente il faut et il suffit que ⇢(B) < 1

Démonstration.
(=)) si ⇢(B) 1, il existe valeur propre de B, telle que 1. Soit x 6= 0 le vecteur propre
associé à , alors B x = x et comme | | ! 1 ou 1, alors B k x ne converge pas vers zéro,
k k k

ainsi, ainsi limk!1 B k 6= 0.


((=) On suppose ⇢(B) < 1, cest à dire | i | < 1, i = 1, . . . , r avec i valeur propre de B. Toute
matrice est semblable à une matrice de Jordan et on conclut.
Corollaire 5 SI ||B||k  1 alors ⇢(B) < 1 et la méthode itérative de la forme (3.4) converge.
Démonstration.
La preuve est immédiate car ⇢(B)  ||B||. En effet, soit Bx = x alors
| |||x|| = ||Bx||  ||B||||x||,
soit | |  ||B|| 8 2 Sp(A).

Définition 17 (Matrice normale, unitaire et orthogonale).


Soit A 2 Cn,n . On dit que A est normale si AAH = AH A, AH est la transposée et conjuguée
de A. Si, de plus, AAH = AH A = In on dit que A est unitaire. Si A 2 Rn,n , on dit que A est
orthogonale si AAT = AT A = In .

3.3 Méthodes itératives classiques


3.3.1 Méthode de Jacobi, Gauss-Seidel, relaxation.
Il s’agit ici pour A = M N , de spécifier pour chaque méthode, M et N correspondant.

La méthode de Jacobi.
On remarque que si les éléments diagonaux de A sont non nuls, le système linéaire Ax = b :
8
>
> a11 x1 + a12 x2 + · · · + a1n xn = b1
>
>
>
> a21 x1 + a22 x2 + · · · + a2n xn = b2
>
> .. .
. = ..
<
>
> ai1 x1 + ai2 x2 + · · · + ain xn = bi
>
> .. .
. = ..
>
>
>
>
:
an1 x1 + an2 x2 + · · · + ann xn = bn

53
est équivalent à : 8 i = 1, 2, · · · , n

ai1 x1 + ai2 x2 + · · · + ai,i 1 xi 1 + aii xi +ai,i+1 xi+1 + · · · + ain xn = bi


|{z}

1 ⇣ ⌘
n
X
() xi = bi aij xj , i = 1, . . . , n
aii
j=1, j6=i

Pour une donnée initiale x(0) choisie, on calcule x(k+1) par

1 ⇣ ⌘
n
X
(k+1) (k)
xi = bi aij xj , i = 1, . . . , n (3.5)
aii
j=1, j6=i

Remarque.

En pratique, on ajoute une condition dans le critère d’arrêt qui consiste à limiter le nombre
d’itérations à un nombre itermax afin d’éviter de boucler sans fin dans un cas de non convergence.

Exemple 11 Résoudre l̀’aide de la méthode de Jacobi le système suivant


8
< 2x1 x2 + 0x3 = 1
0x1 x2 + 2x3 = 1
:
x1 + 2x2 x3 = 0

Pour que le système soit dominante par ligne permutons la deuxième et la dernière ligne et
écrivons le système d’itérations de Jacobi
8 8 8 1
< 2x1 x2 + 0x3 = 1 < 2x1 = 1 + x2 0x3 < x1 = 2 (1 + x2 0x3 )
1
x1 + 2x2 x3 = 0 () 2x2 = 0 + x1 + x3 () x2 = 2 (0 + x1 + x3 )
: : : 1
0x1 x2 + 2x3 = 1 2x3 = 1 0x1 + x2 x3 = 2 (1 0x1 + x2 )

Le syséme d’itération de Jacobi est alors


8 ⇣ ⌘
> (k+1) 1 (k)
>
> x1 = 2 ⇣1 + x 2
< ⌘
(k+1) 1 (k) (k)
x2 = x
2⇣ 1 + x 3 , k2N
>
> ⌘
>
: x (k+1) 1 (k)
3 = 2 1 + x2

On peut partir de x(0) = (0, 0, 0)t , alors pour


k = 0, x(1) = (1/2, 0, 1/2)t ,
k = 1, x(2) = (1/2, 1/2, 1/2)t
k = 2, x(3) = (3/4, 1/2, 3/4)t
k = 3, x(4) = (3/4, 3/4, 3/4)t
k = 4, x(5) = (7/8, 3/4, 7/8)t
k = 5, x(6) = (7/8, 7/8, 7/8)t
k = 6, x(7) = (15/16, 7/8, 15/16)t
k = 7, x(8) = (15/16, 16/15, 15/16)t
Utilisons le critère d’arrêt
(k+1) (k)
kxi xi k  ", i = 1, · · · , n

54
afin de donner une solution approchée du système avec une erreur ne dépassant pas " :
kx(8) x(7) k = k 15
16
15
16 k = 0 < "
kx (7) x k = k 16 78 k = 0, 05 < "
(6) 15

kx(7) x(6) k = k 15
16
15
16 k = 0 < "
On peut prendre X = (15/16, 16/15, 15/16)t comme solution à " près.

Remarque 5 Une autre façon d’arrêter le critère d’arrêt est de comparer à la tolérence " l’ex-
pression
kx(k) x(k 1) k
kx(k) k

Algorythme de Jacobi :
Fonction x Jacobi(A, b, x)
Tant que (on a pas convergé) faire
Pour i = 1, · · · ,Pn faire Pn
i 1
bi j=1 aij xj j=i 1 aij xj
yi =
aii
Fin pour
Pour i = 1, · · · , n faire
x i = yi
Fin pour
Fait

Voyons ce que (3.5) repreésente matriciellement. D’après (3.5 la décomposition (splitting) de


A est :

A= D - E - F
D: diagonale de A
E: triangulaire inférieure avec des 0 sur la diagonale
F : triangulaire inférieure avec des 0 sur la diagonale

0 1
d1,1 F
B .. C
A=@ . A=D E F
E dn,n
0 1 0 1 0 1
d1,1 0 0 ··· 0 0 aij
B .. C B . . .. C F = @ ... . . .
B C
D=@ . A, E=@ . .A , A
0 dn,n aij 0 0 ··· 0

1 1
Ax = b () (D E F )x = b () Dx = (E + F )x + b () x = D (E + F )x + D b

55
La matrice d’itération de la méthode de Jacobi est donnée par :
1 1 1
BJ = D (E + F ) = D (D A) = I D A

Définition 18 La méthode de Jacobi est la méthode itérative associée à la décomposition régu-


lière (M, N ) avec M = D et N = E + F . On note BJ sa matrice d’itération :
1
BJ = D (E + F ).

Algorythme matriciel de Jacobi :


Fonction x Jacobi(A, b, x)
Tant que (on a pas convergé)
⇣ faire ⌘
x=D b + (E + F )x)
Fait

La suite d’itérations de Jacobi est définie alors par : Partant de x(0) 2 R



x(0) donné
x (k+1) = D 1 (E + F )x(k) + D 1 b
ou ⇢
x(0) donné
x(k+1) = BJ x(k) + D 1b

L’algorithme de Jacobi nécessite le stockage des deux vecteurs : x(k) et x(k+1)

D’après le théorème sur la convergence des méthode itérative, il y’a convergence lorsque
BJ = M 1 N = D 1 (E + F ) est telle que
1
⇢(BJ ) = ⇢ D (E + F ) < 1

Théorème 19 (Condition suffisante de Convergence de Jacobi)


Si A est une matrice à diagonale dominante, alors la méthode de Jacobi converge’

Preuve : BJ = M 1N =D 1 (E + F ).
0 a12 a1,n 1 a1n 1
0 a11 ... a11 a11
B a21 a2,n 1 a2n C
B a22 0 ... a22 a22 C aij
B = BJ = B .. .. .. .. C ; Bii = 0, et Bij =
@ . . ... . . A aii
an1 an2 an,n 1
ann ann ... ann 0
n
X n
X Xn
aij
Bij = < 1 =) max Bij = |BJ |1 < 1
j=1 j=1; j 6= i
aii 1in
j=1

56
Exemple 12 Dans l’exemple ci-dessus
8 0 1 0 1
< 2x1 x2 + 0x3 = 1 2 1 0 1
x1 + 2x2 x3 = 0 , A= @ 1 2 1 , b= 0 A
A @
:
0x1 x2 + 2x3 = 1 0 1 2 1
0 1 0 1 0 1
2 0 0 0 0 0 0 1 0
D = @0 2 0 A , E=@ 1 0 0A , F =@ 0 1A
0 0 2 0 1 0 0 0 0
La matrice d’iterations de Jacobi donne
0 10 1 0 1
1/2 0 0 0 1 0 0 1/2 0
BJ = D 1 (E + F ) = @ 0 1/2 0 A @1 0 1A = @1/2 0 1/2A
0 0 1/2 0 1 0 0 1/2 0
0 10 1 0 1
1/2 0 0 1 1/2
D 1 b = @ 0 1/2 0 A @0 A = @ 0 A
0 0 1/2 1 1/2
x(k+1) = BJ x(k) + D donne sous la forme matricielle :
1b

0 (k+1)
1 0 1 0 (k) 1 0 1
x1 0 1/2 0 x1 1/2
B (k+1) C @ B (k) C @
@x 2 A = 1/2 0 1/2A @x2 A+ 0 A
(k+1) 0 1/2 0 (k) 1/2
x3 x3

On retrouve les itérations faites ci-dessus pour k = 0, 1, · · ·


0 1
1/2 0
BJ I = @1/2 1/2A ,
0 1/2
p
3 2
det(BJ I) = + /2 = 0 () 1 = 0 ou 2,3 =±
2
alors le rayon spéctral de la matrice d’itérations de Jacobi est
p
2
⇢(BJ ) = max{| i |} = <1
2

On a alors x(k) k2N


la suite converge vers x = A 1b solution de l’équation Ax = b.

Remarque 6 On remarque que dans la méthode de Jacobi il faut utiliser toutes les coordonnées
de x(k) pour calculer ⇣ ⌘
(k+1) (k+1) (k+1)
x(k+1) = x1 , x2 , x3 , · · · , x(k+1)
n
| {z }
Question peut dans ce processus de calcul de x(k+1) utiliser ses coordonnées déjà calculées, comme
(k+1) (k+1) (k+1)
par exemple pour calculer x3 du vecteur x(k+1) utiliser x1 et x2 ?
Oui la réponse est donnée par Gauss-Seidel.

57
La méthode de Gauss-Seidel.
Le système est équivalent à : 8 i = 1, 2, · · · , n
ai1 x1 + ai2 x2 + · · · + ai,i 1 xi 1 + aii xi +ai,i+1 xi+1 + · · · + ain xn = bi
|{z}

1 ⇣ ⌘
n
X
() xi = bi aij xj , i = 1, . . . , n
aii
j=1, j6=i

1 h i
i 1
X n
X
() xi = bi aij xj aij xj , i = 1, . . . , n
aii
j=1 j=i+1
Pour cette méthode on a
1 h i
i 1
X n
X
(k+1) (k+1) (k)
xi = bi aij xj aij xj , i = 1, . . . , n (3.6)
aii
j=1 j=i+1

Exemple 13 0 1 0 1 0 1
3 1 1 1 0
@1 2 0 A; b = @1A , x(0) = @0A
1 1 4 1 0
• Itération 1
• Itération 2

Algorythme de Gauss-Seidel :
Fonction x Gauss-Seidel(A, b, x)
Tant que (on a pas convergé) faire
Pour i = 1, · · · , P
n faire Pn
i 1
bi j=1 aij xj j=i 1 aij xj
xi =
aii
Fin pour
Fait

Sous forme matricielle, on a :

1
Ax = b () (D E F )x = b () (D E)x = b + F x () x = (D E) b + Fx
La suite d’itérations de Gass-Seidel sécrit alors
x(k+1) = (D E) 1
b + F x(k)
Dans ce cas, le splitting de A est

M =D E, N =F
et la matrice d’itérations associée est
1
BGS = (D E) F
qui converge lorsque ⇢ BGS < 1.

58
Définition 19 La méthode de Gauss-Seidel est la méthode itérative associée à la décomposition
régulière (M, N ) avec M = D E et N = F . On note BGS sa matrice d’itération :
1
BGS = (D E) F.

L’avantage de la méthode de Gauss-Seidel est que, pour calculer x(k+1) , on utilise les valeurs
déjà calculées de x(k+1) , pour j < i, au lieu de x(k) comme dans la méthode de Jacobi. Il est en
général plus rapide que l’algorithme de Jacobi, donc préférable.

3.3.2 Convergence des méthodes de Jacobi et de Gauss-Seidel.


On a les résultats suivants
Théorème 20
1) Si A est une matrice à diagonale dominante stricte par lignes, alors les méthodes de
Jacobi et de Gauss-Seidel sont convergentes.
2) Si A est une matrice symétrique définie positive, alors la méthode de Gauss-Seidel converge
(la méthode de Jacobi pas forcément).
La preuve pour la méthode de Gauss-Seidel de 1) (qui peut se faire par l’absurde en supposant
qu’il existe un valeur propre de BGS de module supérieure ou égale à 1), et la partie 2) est
laissée en exercice.

Remarque 7 En pratique la stricte dominance n’est pas indispensable. L’inégalité large suffit
pour la plupart des matrices inversibles.
Exemple 14 Pour le système Ax = b,
• 0 1 0 1 0 1
a11 a12 a13 x1 b1
@
A = a21 a22 a23 , x = x2 A @ A , b = b2 A
@
a31 a32 a33 x3 b3
8 (k) (k)
8 >
> (k+1) b a x
= 1 12 2a11 13 3
a x
< a11 x1 + a12 x2 + a13 x3 = b1 < x1
>
(k+1) (k)
a21 x1 + a22 x2 + a23 x3 = b2 () (k+1) b2 a21 x1 a23 x3 , k = 0, 1, . . .
: > x 2 = a22
a31 x1 + a32 x2 + a33 x3 = b3 >
> (k+1) (k+1)
: x(k+1) = b3 a31 x1 a32 x2
3 a33

(k+1) (k+1) (k+1)
On note x(k+1) = x1 , x2 , x3 , k = 1, 2, . . .
• Application :
0 1 0 1 0 1
3 1 1 1 0
A= @ 1 2 0 , b = 1 , x = 0A
A @ A (0) @
1 1 4 1 0

(1) (1) (1)
Itération 1, k = 0 , x(1) = x1 , x2 , x3
(0) (0)
(1) b1 a12 x2 a13 x3 1 1⇥0 1⇥0 1
x1 = = =
a11 3 3
(1) (0) 1
(1) b2 a21 x1 a23 x3 1 1⇥ 3 0⇥0 1
x2 = = =
a22 2 3
(1) (1) 1 1
(1) b3 a31 x1 a32 x2 1+1⇥ 3 1⇥ 3 1
x3 = = =
a33 3 4

59
⌘t
1 1 1
() x(1) = 3, 3, 4

(2) (2) (2)
Itération 2, k = 1 , x(2) = x1 , x2 , x3

(1) (1) 1 1
(2) b1 a12 x2 a13 x3 1 1⇥ 3 +1⇥ 4 11
x1 = = =
a11 3 36
(2) (1) 11 1
(2) b2 a21 x1 a23 x3 1 1⇥ 36 0⇥ 4 25
x2 = = =
a22 2 72
(2) (2) 11 25
(2) b3 a31 x1 a32 x2 1+1⇥ 36 1⇥ 72 69
x3 = = =
a33 4 288
⌘t
11 25 69
() x(1) = 36 , 72 , 288

Récapitulation : Soit A = D E F =M N

méthode décomposition B = M 1N
Jacobi A = M N = D (E + F ) D 1 (E + F )
Gauss-Seidel A = M N = (D E) F (D E) 1 F

Remarque 8
1. La méthode de Gauss-Seidel a un sens ssi D est inversible (comme celle de Jacobi).
2. Si A est hermitienne définie positive, alors M̄ t + N = D est aussi hermitienne positive
et donc la méthode de Gauss-Seidel converge.

Méthodes de sur-relaxation S.O.R.


A partir des méthodes de Jacobi et de Gauss-Seidel, on peut générer une famille de nou-
velles méthodes en faisant intervenir un paramètre additionnel dans le processus de calcul, afin
d’augmenter la vitesse de convergence. Ce type de technique d’accélération est appelé méthode
de sur-relaxation. Le principe général de la méthode est le suivant :
(k+1)
Si x? est la valeur obtenue du schéma itératif de base, la valeur x(k+1) introduite au prochain
pas sera définie par :
(k+1)
x(k+1) = (1 !)x(k) + !x?
où ! 2 R?+ est le facteur de relaxation.
La méthode de Gauss-Seidel avec accéleration est appelée SOR (de l’anglais Successive Over-
(k+1)
Relaxation). L’algorithme pour obtenir la i-iéme composante xi du vecteur x(k+1) est comme
suit :
(k+1) (k) (k+1)
xi = (1 !)xi + !xi, GS
or d’après (3.6)

1 h i
i 1
X n
X
(k+1) (k+1) (k)
xi,GS = bi aij xj aij xj , i = 1, . . . , n
aii
j=1 j=i+1

60
donc
!h i
i 1
X n
X
(k+1) (k) (k+1) (k)
xi = (1 !)xi + bi aij xj aij xj , i = 1, . . . , n (3.7)
aii
j=1 j=i+1

Lorsque ! = 1 on récupère la méthode de Gauss-Seidel. La formulation matricielle de la méthode


SOR suit immédiatement de (3.7)
(k+1) (k+1)
x(k+1) = (1 !)x(k) + !xGS , xGS = (D E) 1
b + F x(k)

x(k+1) =(1 !)x(k) + !(D E) 1


b + F x(k)
=(1 !)x(k) + !(D E) 1 F x(k) + !(D E) 1 b
h i
= (1 !) + !(D E) 1 F x(k) + !(D E) 1 b
=T. x(k) + d

avec T := (1 !) + !(D E) 1 F et d = !(D E) 1 b


L’objectif de la méthode SOR est de trouver ! tel que le rayon spectral de la matrice T ,
⇢(T ) est le plus petit possible.
Il est possible d’écrire pour la méthode de Gauss-Seidel
h i
Ax = b () (D E F )x = b () Dx = b + (E + F )x () x = D 1 b + Ex + F x

Dans ca cas la matrice d’tération de Gauss-Seidel s’écrit


h i
x(k+1) = D 1 b + Ex(k+1) + F x(k)

et la méthode SOR sécrit


h i
x(k+1) = (1 !)x(k) + !D 1
b + Ex(k+1) + F x(k)

Multiplions l’équation par D et en tirant x(k+1) , on obtient :


h i
(k+1)
(D !E)x = (1 !)D + !F x(k) + !b

on a alors en divisant par !,


⇣D ⌘ 1h 1 ! i
1
BR = L! := E D + F , et d := !(D !E) b
! !

Définition 20 Soit ! 2 R?+ . On appelle méthode de relaxation, de paramètre de relaxation !,


la méthode itérative associée à la décomposition (M, N ) avec

D 1 !
M= E et N= D+F
! !

61
Algorythme
Fonction x Relaxation(A, b, x)
Tant que (on a pas convergé) faire
Pour i = 1, · · · , n faire
⇣ bi Pi 1 aij xj Pn ⌘
j=1 j=i 1 aij xj
xi = ! + (1 !)xi
aii
Fin pour
Fait

Remarque 9

1. La méthode est bien définie ssi D est inversible (comme pour la méthode de Jacobi).
2. Si ! = 1, il s’agit de la méthode de Gauss-Seidel.
3. Si ! < 1, on parle de sous-relaxation
4. Si ! > 1, on parle de sur-relaxation
5. L’efficacit´e de la méthode est mesurée par ⇢(L! ) et dépend de !. On va donc chercher
! minimisant ⇢(L! ). En général, cet ! est > 1. D’où le nom de "SOR".

Théorème 21
Soit A une matrice hermitienne définie positive (ou symétrique définie positive), alors la
méthode de relaxation converge si 0 < ! < 2

Démonstration :

A est hermitienne définie positive. Donc D aussi et M = D


! E est inversibls.

D 1 ! 2 !
M̄ t + N = Ē t + D+F = D
! ! !
car A hermitienne implique Ē t = F . Ainsi, M̄ t + N est aussi définie positive sssi 0 < ! < 2.

62
3.4 Exercices du chapitre
Exercice 1

Soit le système Ax = b, A 2 Mn (R) et x 2 Rn .


a) Donner la définition d’une matrice
0 A symétrique
1 définie positive
2 4 6
b) Montrer que la matrice A = @ 2 8 10A est décomposable en LDU .
6 32 66
c) Peut- décomposer A en LL où L est une matrice triangulaire inférieur et
t

résoudre le système donné ci-dessus pour b = (1, 0, 1)t ? justifier rigoureusement


votre réponse.

Exercice 2
0 1
1 a a
Soit A = @a 1 aA. Pour quelle valeur de a, la matrice A est :
a a 1
1. Symétrique définie positive ?
2. La méthode de Jacobi converge t-elle ?

Exercice 3 Le but de cet exercice est de montrer qu’on ne peut rien dire en
général de la comparaison de deux méthodes itératives.
0 1
1 2 2
1. Pour A = @1 1 1 A, comparer les rayons spectraux de BJ et BGS .
2 2 1
0 1
2 1 1
2. A = @ 2 2 2A, comparer les rayons spectraux de BJ et BGS .
1 1 2
3. En déduire une mise en garde.
Exercice 3bis(Rayon spectral).
Soit A 2 Cn,n une matrice symétrique définie positive Montrer que :
1. Si ⇢(A) < 1 =) 9 Q 2 Rn,n symétrique définie positive telle que B = Q At QA
soit symétrique définie positive on note (S.D.P).
2. Montrer que la réciproque est vraie : S’il existe Q 2 Rn,n symétrique définie
positive telle que B = Q At QA soit symétrique définie positive =) ⇢(A) < 1.
3. (Valeurs propres d’une matrice HDP/SDP).
Soit A 2 Cn,n (resp. ARn,n ) une matrice HDP (resp. SDP).Montrer que, toutes
les valeurs propres de A sont réelles et strictement positives.
Exercice 4

On cherche à rśoudre le système Ax = b, A 2 Mn (R) et x 2 Rn .


a) Écrire le système d’itérations de Jacobi pour le système :
0 10 1 0 1
2 1 0 x1 1
@0 1 2 A @x2 A = @1 A
1 2 1 x3 0

et en déduire deux itérations partant de x(0) = (0, 0, 0)t vecteur transposé.

63
b) Faire la même chose pour le système
8
>
> 10x1 x2 + 2x3 =6
>
>
< x + 11x2 x3 + 3x4 = 25
1
>
> 2x1 x2 + 10x3 x4 = 11
>
>
: 3x2 x3 + 8x4 = 15

Exercice 4
Trouver les deux premières itération de la méthode SOR pour le système suivant
partant de x(0)) = 0 : 8
<3x1
> x2 + x3 = 1
3x1 + 6x2 + 2x3 = 0
>
:
3x1 + 3x2 + 7x3 = 4

64

Vous aimerez peut-être aussi