Systèmes d'équations linéaires. Opérations, aspects algorithmiques et conséquences théoriques.
Romain Giuge
Nous nous intéressons dans cette leçon à la résolution de systèmes linéaires Ax = b où A ∈ GL
n(K) et b un vecteur colonne donnés.
1 Préliminaires sur la résolution
1.1 Résolutions théoriques
Remarque 1. Le calcul de la matrice A
−1est équivalent à la résolution des n systèmes linéaires Ax = e
joù (e
1, . . . , e
n) est la base canonique de K
n. Pour résoudre Ax = b , il faudrait ensuite multiplier b par A
−1. Autrement dit, cette méthode naïve est inecace.
Théorème 2 (Résolution de Cramer). La solution x = (x
1, . . . , x
n) du système Ax = b est donnée par x
i=
det(Adet(A)i)où A
iest la matrice A pour laquelle la i -ième colonne est remplacée par le vecteur b .
Nombre d'opérations : on doit évaluer n + 1 déterminants et eectuer n divisions. Le calcul brutal d'un déterminant donne n! − 1 additions et (n − 1)n! multiplications. D'où de l'ordre de (n+1)! additions, (n+2)! multiplications, n divisions. Pour n = 10 : environ 400 000 000 opérations.
1.2 Conditionnement
Diculté supplémentaire : il se peut qu'une petite perturbation de b conduise à une grande modication de la solution x . D'où des instabilités lors de la résolution du système.
Exemple 3. Soit H =
1 i+j−1
i,j
la matrice de Hilbert. Pour n = 4 et
tb =
2512,
7760,
5760,
319420' (2.08, 1.28, 0.95, 0.76) , la solution est
tx = (1, 1, 1, 1) . Si on modie légèrement b en
t˜ b = (2.1, 1.3, 1, 0.8) , la solution devient
tx ˜ = (5.6, −48, 114, −70) .
Dénition 4. On appelle norme matricielle toute norme k · k sur M
n(K) qui vérie de plus kABk 6 kAkkBk pour tout A, B ∈ M
n(K) .
Exemple 5. Soit k · k une norme vectorielle sur K
n. On dénit la norme subordonnée à k · k par kAk = sup
v6=0 kAvkkvk, pour tout A ∈ M
n(K) . Cette norme est une norme matricielle sur M
n(K) .
A présent, l'application k · k dénie sur M
n(K) désignera toujours une norme matricielle.
Proposition 6. Soit x vériant Ax = b . On cherche à contrôler l'erreur relative
kδxkkxken fonction de l'erreur relative
kδbkkbk, où x + δx est solution du système perturbé Ay = b + δb . On a l'estimation
kδxk
kxk
6 kAkkA
−1k
kδbkkbk, et c'est la meilleure possible (on peut trouver b 6= 0 et δb 6= 0 tels qu'elle devienne une égalité).
Dénition 7. On appelle conditionnement de la matrice A relativement à la norme matricielle k · k le nombre cond(A) = kAkkA
−1k .
Dénition 8. On dit que le système Ax = b est bien conditionné si cond(A) n'est pas trop grand
devant 1 .
Exemple 9. Pour l'exemple 5, on a pour la norme matricielle k · k
1subordonnée à la norme k · k
1, cond
1(A) = kAk
1kA
−1k
1' 28 375 . On a aussi cond
2(A) ' 15 514 . Les valeurs de cond(A) semblent être assez élevées indépendamment de la norme choisie. En pratique, on utilise cond
p(A) pour p ∈ {1, 2, ∞} .
Proposition 10. On a : (i) cond(A) > 1 = cond(I
n) . (ii) cond(A
−1) = cond(A) .
(iii) Pour tout α 6= 0 , cond(αA) = cond(A) .
(iv) Si A est hermitienne, cond
2(A) =
maxmin|λi||λi|où les λ
isont les valeurs propres de A . (v) Si A est unitaire ou orthogonale, cond
2(A) = 1 .
(vi) cond
2(A) est invariant par transformation unitaire.
Remarque 11. On peut améliorer le conditionnement de A en la multipliant par P inversible.
Ainsi on aura à résoudre P Ax = P b avec P A bien conditionnée. Mais il n'y a pas de méthode standard pour trouver une bonne matrice P , l'idéale étant bien sûr P = A
−1.
2 Méthodes directes : résolution exacte
2.1 Algorithmes de descentes et remontées
Dénition 12. Lorsque A est triangulaire, le système Ax = b est facile à résoudre. On dit qu'on utilise une algorithme de remontée lorsque A est triangulaire supérieure, les composantes x
ide x étant données par x
i=
a1ii
b
i− P
nj=i+1
a
ijx
j. De façon similaire, les x
isont obtenues par un algorithme de descente lorsque A est triangulaire inférieure.
Nombre d'opérations : on doit eectuer 1 + 2 + · · · + (n − 1) =
n(n−1)2additions,
n(n−1)2multiplications et n divisions, soit de l'ordre de n
2opérations.
2.2 Décomposition LU
Méthode de Gauss sans pivot : elle comporte les trois étapes suivantes.
(i) Une procédure dite d'élimination (succesive des inconnues) : on détermine une matrice in- versible M telle que M A soit triangulaire supérieure.
(ii) On calcule simultanément le vecteur M b .
(iii) On résout le système linéaire M Au = M b par la méthode de remontée.
Nombre d'opérations : de l'ordre de
2n33opérations. Pour n = 10 , on obtient environ 700 opérations, à comparer avec les centaines de millions de la résolution de Cramer !
Pour que cette méthode soit applicable, il faut que les pivots soient tous non nuls au cours des opérations. La méthode revient à l'existence d'une décomposition LU pour la matrice A .
Dénition 13. On appelle sous-matrice principale d'ordre i de A la matrice A
i∈ M
i(K) obtenue en ne gardant que le i premières lignes et les i premières colonnes de A .
Théorème 14. On suppose que toutes les matrices principales d'ordre 1 à n − 1 de A sont inver-
sibles. Alors il existe une unique matrice L triangulaire inférieure dont la diagonale ne comporte
que des 1 et une matrice U triangulaire supérieure inversible telles que A = LU .
Corollaire 15. On suppose A dénie positive. Alors A admet une décomposition LU.
Remarque 16. L'algorithme de Gauss sans pivot est numériquement peu stable.
Exemple 17. Soit ε > 0 un petit paramètre. On considère le système
εx
1+ x
2= 1
x
1+ x
2= 2 . La so- lution exacte est x
1=
1−ε1et x
2=
1−2ε1−ε. Par élimination de Gauss, on trouve x
2=
2−1ε1−1ε
. En supposant que l'erreur de calcul est de l'ordre de ε , on obtient la valeur approchée x
2' 1 , puis x
1' 0 .
Méthode de Gauss avec pivot : pour éviter la division par des pivots trop petits, à l'étape k , on échange les lignes k et p où p est tel que |a
(k)pk| = max
k6i6n|a
(k)ik| .
Théorème 18. Toute matrice A inversible admet une décomposition LU à quelques permutations près. On a alors A = P LU avec P matrice de permutation, L triangulaire inférieure ne contenant que des 1 sur sa diagonale, U triangulaire supérieure.
Evoquons pour nir la décomposition dite de Cholesky, plus simple car elle ne fait intervenir qu'une matrice.
Théorème 19. Si A est hermitienne dénie positive, il existe au moins une matrice triangulaire supérieure R telle que A = R
∗R . De plus, on peut imposer que les éléments diagonaux de R soient tous > 0 , et dans ce cas la factorisation est unique.
2.3 Décomposition QR
Théorème 20. Pour toute matrice inversible A , il existe une matrice unitaire Q et une matrice triangulaire supérieure R dont les éléments diagonaux sont > 0 , telles que A = QR .
Comme la décomposition LU, cette décomposition permet de résoudre le système Ax = b . En eet, il est équivalent à Rx =
tQb .
Plusieurs méthodes permettent d'aboutir à une décomposition QR. Nous en citerons deux : (i) La méthode de Schmidt basée sur le procédé de Gram-Schmidt. On peut évoquer un procédé
de Gram-Schmidt modié consistant à modier l'ordre des opérations pour le rendre plus stable. Nombre d'opérations : de l'ordre de 2n
3.
(ii) La méthode de Householder où Q est obtenue par produits successifs de matrices unitaires élémentaires. Elle est plus coûteuse en opérations, mais a l'avantage d'être très stable numé- riquement : elle ne modie pas le conditionnement cond
2(A) .
3 Méthodes itératives : résolution approchée
3.1 Méthodologie générale
On considère K = R ou C. Soit A ∈ GL
n(K) et b ∈ K
n. On cherche une approximation de x ∈ K
nsolution de Ax = b . Pour cela, on pose A = M − N où M est inversible et on considère la suite itérative x
k+1= M
−1N x
k+ M
−1b (∗) . On notera pour la suite B = M
−1N .
Dénition 21. On dit que l'algorithme itératif (∗) converge si pour tout b ∈ K
net tout x
0∈ K
n,
la suite (x
k) converge vers la solution x = A
−1b , i.e. lim kx
k− xk = 0 .
Dénition 22 (Erreur). On note e
k= x
k−x l'erreur sur x à la k -ième itération. Alors e
k+1= Be
k. L'algorithme (∗) converge donc si pour tout e
0, lim B
ke
k= 0 .
Théorème 23 (Critères de convergence). Soit B ∈ M
n(K) . Alors les quatre propositions suivantes sont équivalentes :
(i) Pour une norme matricielle subordonnée quelconque, on a lim kB
kk = 0 . (ii) Pour tout v ∈ K
n, on a lim B
kv = 0 .
(iii) Le rayon spectral de B vérie ρ(B) < 1 .
(iv) Il existe une norme matricielle subordonnée (dont le choix dépend de B ) telle que kBk < 1 . Dénition 24 (Résidu et test d'arrêt). Soit r
k= b − Ax
kle résidu d'ordre k . Pour une précision donnée ε , on poursuit les itérations jusqu'à ce que
krkbkkk6 ε .
Remarque 25. Si on connaît la valeur de kBk < 1 , on peut aussi calculer le nombre d'itérations maximal en fonction de l'erreur e
k= B
ke
0souhaitée. En eet, ke
kk 6
1−kBkkBkkkx
1− x
0k .
Théorème 26. Soit A symétrique dénie positive admettant la décomposition A = M − N avec M inversible. Alors si
tM + N est symétrique dénie positive, on a ρ(M
−1N ) < 1 . Par conséquent l'algorithme (∗) converge.
3.2 Méthode de Jacobi
Dénition 27 (Méthode de Jacobi). On choisit la décomposition de A où M est la diagonale de A et N = M − A . La méthode n'est pas toujours bien dénie car A peut avoir des coecients diagonaux nuls.
Théorème 28. On suppose A à diagonale strictement dominante, i .e. |a
ii| > P
j6=i
|a
ij| pour tout i . Alors pour tout x
0, la suite (x
k) donnée par la méthode de Jacobi est bien dénie et converge vers la solution x du système Ax = b .
Remarque 29. Inconvénient : critère de convergence assez restrictif. Par exemple, la matrice A =
1 a a a 1 a a a 1
, avec a ∈
−
12, 1
, est symétrique dénie positive. Jacobi converge seulement pour a ∈
−
12,
12. Gauss-Seidel dont on parle ensuite converge toujours pour ce type de matrice.
3.3 Méthode de Gauss-Seidel
Dénition 30 (Méthode de Gauss-Seidel). On choisit la décomposition de A où M est le triangle inférieur de A et N = M − A .
Remarque 31. Avantage de Gauss-Seidel sur Jacobi : pour Jacobi, on doit conserver tout le vecteur x
ken mémoire jusqu'à la n du calcul de x
k+1, soit 2n cases mémoires mobilisées. Pour Gauss-Seidel, on peut remplacer les composantes de x
kau fur et à mesure, soit n cases mémoires mobilisées.
Théorème 32. Si A est à diagonale strictement dominante, alors la méthode de Gauss-Seidel converge.
Théorème 33. Si A est symétrique réelle dénie positive, alors la méthode de Gauss-Seidel
converge.
Théorème 34. On suppose A tridiagonale. Alors les rayons spectraux de la matrice B pour les méthodes de Jacobi et Gauss-Seidel sont liés par ρ(B
Gauss-Seidel) = ρ(B
Jacobi)
2. Ainsi les deux méthodes convergent ou divergent simultanément. Lorsqu'elles convergent, la méthode de Gauss- Seidel converge plus rapidement.
Remarque 35. Il existe des matrices A pour lesquelles la méthode de Jacobi converge et pas celle de Gauss-Seidel.
3.4 Méthode de relaxation
Si la méthode de Gauss-Seidel converge, on peut songer à introduire un paramètre réel ω 6= 0 de sorte que l'on fasse passer une partie de la diagonale de A dans la matrice N . On écrit A = D+E +F avec D la diagonale de A , E la partie triangulaire inférieure stricte, F la partie supérieure stricte.
On choisit alors M =
ω1D + E et N = A − M . On s'attend à ce que certaines valeurs de ω donnent une convergence plus rapide.
Théorème 36. Si A est hermitienne dénie positive, la méthode de relaxation converge si 0 <
ω < 2 .
Théorème 37. La rayon spectral de la matrice de relaxation L
ω= M
−1N vérie ρ(L
ω) > |ω −1| . Par conséquent, la méthode de relaxation ne peut converger que si 0 < ω < 2 .
Théorème 38. On suppose A hermitienne dénie positive, tridiagonale. Alors les méthodes de Jacobi, Gauss-Seidel et de relaxation pour 0 < ω < 2 convergent. Il existe notamment un et un seul paramètre de relaxation optimal ω
0=
21+
√
1−ρ(BJacobi)2