• 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

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

• 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

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´

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

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