• Aucun résultat trouvé

1 Préliminaires sur la résolution

N/A
N/A
Protected

Academic year: 2022

Partager "1 Préliminaires sur la résolution"

Copied!
5
0
0

Texte intégral

(1)

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

−1

est équivalent à la résolution des n systèmes linéaires Ax = e

j

où (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

i

est 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

t

b =

2512

,

7760

,

5760

,

319420

' (2.08, 1.28, 0.95, 0.76) , la solution est

t

x = (1, 1, 1, 1) . Si on modie légèrement b en

t

˜ b = (2.1, 1.3, 1, 0.8) , la solution devient

t

x ˜ = (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δxkkxk

en 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

−1

k

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

−1

k .

Dénition 8. On dit que le système Ax = b est bien conditionné si cond(A) n'est pas trop grand

devant 1 .

(2)

Exemple 9. Pour l'exemple 5, on a pour la norme matricielle k · k

1

subordonnée à la norme k · k

1

, cond

1

(A) = kAk

1

kA

−1

k

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 λ

i

sont 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

i

de x étant données par x

i

=

a1

ii

b

i

− P

n

j=i+1

a

ij

x

j

. De façon similaire, les x

i

sont 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)2

additions,

n(n−1)2

multiplications et n divisions, soit de l'ordre de n

2

opé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

2n33

opé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 .

(3)

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−ε1

et 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 =

t

Qb .

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

n

solution 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

−1

N x

k

+ M

−1

b (∗) . On notera pour la suite B = M

−1

N .

Dénition 21. On dit que l'algorithme itératif (∗) converge si pour tout b ∈ K

n

et tout x

0

∈ K

n

,

la suite (x

k

) converge vers la solution x = A

−1

b , i.e. lim kx

k

− xk = 0 .

(4)

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

k

e

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

k

k = 0 . (ii) Pour tout v ∈ K

n

, on a lim B

k

v = 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

k

le résidu d'ordre k . Pour une précision donnée ε , on poursuit les itérations jusqu'à ce que

krkbkkk

6 ε .

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

k

e

0

souhaitée. En eet, ke

k

k 6

1−kBkkBkk

kx

1

− x

0

k .

Théorème 26. Soit A symétrique dénie positive admettant la décomposition A = M − N avec M inversible. Alors si

t

M + N est symétrique dénie positive, on a ρ(M

−1

N ) < 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

k

en 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

k

au 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.

(5)

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 =

ω1

D + 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

−1

N 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

=

2

1+

1−ρ(BJacobi)2

.

4 Récapitulatif : nombres d'opérations

Méthodes Ordre de grandeur des nombres d'opérations

Cramer (n + 2)!

Algorithme de descente/remontée n

2

Décomposition LU

2n33

Décomposition de Cholesky

n33

Décomposition QR par Gram-Schmidt 2n

3

Gauss-Seidel 4n

2

Développements :

1. Méthode de Gauss-Seidel.

2. Décomposition QR.

Références :

Filbet - Analyse numérique, Algorithme et étude mathématique.

Ciarlet - Introduction à l'analyse numérique matricielle et à l'optimisation.

Références

Documents relatifs

Nous pouvons, par exemple, essayer de conjecturer le résultat à partir de quelques matrices simples (ce n’est en rien une obligation !). Ce résultat serait-il valable quelle que

Le probl` eme est qu’avec un tel op´ erateur, les z´ eros de l’axe des abscisses se retrouveraient sur l’axe des ordonn´ ees alors qu’il faudrait ´ egalement qu’ils subissent

L’inverse et le produit de matrices triangulaires inf´ erieures (resp. sup´

Ainsi, la matrice A admet-elle une d´ecomposition LU , avec L une matrice triangulaire inf´erieure ayant des 1 sur sa diagonale et U une matrice triangulaire sup´erieure.. Ecrire

Pour qu’un triangle existe, il faut que la mesure du côté le plus long soit plus petite que la somme des mesures des deux autres côtés..

Exercice 1. Montrer que les x i sont les premiers termes d’une suite r´ ecurrente lin´ eaire d’ordre 2. En d´ eduire en particulier que la matrice sym´ etrique A est d´

• Bref, une question bien difficile, et inutilement : la diagonalisation de la matrice 2 se fait bien plus aisée, et on embraye sur la question 3 en écrivant … Et c’est dommage

Des contraintes d’occupation mémoire font qu’on expérimente seulement sur une matrice de taille 100 × 100.. On rappelle que la matrice Σ contient sur sa diagonale les