Académique Documents
Professionnel Documents
Culture Documents
Ch3 Syst Dir
Ch3 Syst Dir
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
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
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
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
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
A(n) = M A = U, où M = En 1 Pn 1 · · · E1 P1
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é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 | = max1xi 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
47
⇢
y = Ux
On a alors Ax = b () LU x = b ()
Ly = b
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
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
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.
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
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.
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
• 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é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
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
1 ⇣ ⌘
n
X
() xi = bi aij xj , i = 1, . . . , n
aii
j=1, j6=i
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.
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 )
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
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’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
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 1in
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
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
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.
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.
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
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 :
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
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
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