Analyse Numérique Corrigé du TD 8 EXERCICE 1 Convergence de méthodes itératives linéaires 11 Relation entre le rayon spectral et les normes matricielles Soit A une matrice carrée d ordre n > A = (a ij ) ij=1n Pour 1 p + on note par p la norme matricielle calculée à partir de la norme vectorielle p ie Ax p A p = sup Ax p = sup Ax p = sup x p =1 x p 1 x = x p a Montrer que son rayon spectral ρ(a) vérifie ρ(a) A p 1 p + Pour le corps K = C ou R on note M n (K) l ensemble des matrices carrées d ordre n > à valeurs dans K Pour montrer que ρ(a) A p on sépare le cas A M n (C) qui est évident du cas A M n (R) qui est plus subtil Cas A M n (C) Comme A M n (C) est diagonalisable il existe un vecteur propre x C n associé à la plus grande valeur propre en module λ = ρ(a) : Ax = ρ(a)x On en déduit ρ(a) x p = λx p = Ax p A p x p d où puisque x ρ(a) A p (11) Cas A M n (R) Le problème est que la matrice A n a pas forcément ses valeurs propres dans R et donc ses vecteurs propres sont en toute généralité dans C n Comme pour A M n (R) la norme matricielle p utilisée pour évaluer A p est calculée à partir de la norme vectorielle p ie du type x p pour x R n De ce fait comme x vecteur propre associé à la plus grande valeur propre en module λ = ρ(a) peut être dans C n la quantité x p peut ne pas avoir de sens Pour contourner cette difficulté on peut procéder comme suit 1
On choisit une norme vectorielle N sur C n On note N la norme matricielle calculée sur M n (C) à partir de la norme vectorielle On note encore N sa restriction sur M n (R) qui est bien sûr une norme Comme M n (R) est de dimension finie deux quelconques normes sont équivalentes : il existe C > tel que N(B) C B p pour toute matrice B M n (R) Par récurrence sur m N on a ( ρ(a)) m = ρ(a m ) et A m p ( A p ) m et l on obtient grâce au résultat (11) la majoration suivante : ( m ( ) m ρ(a)) = ρ(a m ) N(A m ) C A m p C A p Ce qui implique ρ(a) C 1/m A p (12) En faisant m + dans (12) et avec D où le résultat lim m + C1/m = 1 on obtient ρ(a) A p (13) b Soit ε > Montrer qu il existe une norme matricielle dépendant de ε et A tel que A ρ(a) + ε (14) Il existe une matrice U inversible tel que T = U 1 AU soit une matrice triangulaire T = λ 1 t 12 t 1j t 1 n 1 t 1n λ 2 t 2 n 1 t 2n λ i t ij t in λ n 1 t n 1n λ n 2
Pour tout δ on définit une matrice diagonale D δ = diag(1δ δ 2 δ n 1 ) ie 1 δ D δ = δ i 1 δ n 2 δ n 1 La matrice T δ définie par vérifie T δ = T δ = (UD δ ) 1 A(UD δ ) = D δ 1 TD δ λ 1 δt 12 δ j 1 t 1j δ n 2 t 1n 1 δ n 1 t 1n λ 2 δ n 3 t 2n 1 δ n 2 t 2n λ i δ j i t ij δ n i t in λ n 1 δt n 1 n λ n Etant donné ε > on peut choisir δ suffisamment petit pour que les éléments extradiagonaux de T δ soient très petits aussi par exemple pour que pour tout 1 i n 1 n j=i+1 δ j i t ij ε Alors l application B (UD δ ) 1 B(UD δ ) est une norme matricielle qui dépend de ε et A vérifie A ρ(a) + ε On vérifie B (UD δ ) 1 B(UD δ ) est la norme matricielle calculée à partir de la norme vectorielle v K n (UD δ ) 1 v c Montrer que 1 lim m + Am m = ρ(a) 3
A la question a de 11 on a montré que ρ(a) A En appliquant la relation ci-dessus à la matrice A m on obtient Par récurrence sur m N on obtient ρ(a m ) A m ρ(a m ) = ( ρ(a)) m Ce qui entraîne ( ρ(a)) m A m p ou bien encore ρ(a) A m 1/m p (15) Pour la seconde partie inégalité on procède comme suit A Soit ε > on pose A ε = ρ(a) + ε On a ρ(a ε ) = ρ(a) ρ(a) + ε < ρ(a) + ε ρ(a) + ε < 1 Comme ρ(a ε ) < 1 la suite puissance de matrices (A m ε ) m converge vers la matrice nulle (la démonstration est faite dans l exercice 12 a) Ce qui signifie que la suite des normes ( A m ε p ) m est de limite nulle Donc m N m m A m ε p 1 c est-à-dire m N m m A m 1/m p ρ(a) + ε (16) En regroupant (15) et (16) on obtient On fait ε dans (17) et on a m N m m ρ(a) A m 1/m p ρ(a) + ε (17) lim m + Am 1/m p = ρ(a) (18) 4
12 Suite et série de matrices Définition 11 Convergence d une suite de matrices On dit qu une suite de matrices (A m ) m converge vers la matrice A si lim m + A m A p = a Montrer que lim m + Am = ρ(a) < 1 Montrons que lim m + Am = = ρ(a) < 1 ( ρ(a)) m on aurait Supposons que lim m + Am = Si ρ(a) 1 alors comme A m p A m p 1 Par suite la suite de nombres positifs ( A m p ) m ne converge pas et donc la suite de matrices (A m ) m ne converge pas Nécessairement on a ρ(a) < 1 Montrons que ρ(a) < 1 = lim m + Am = Comme ρ(a) < 1 il existe ε > tel que ρ(a)+ε < 1 (il suffit de prendre ε = (1 ρ(a))/2) La question b de l exercice 11 dit qu il existe une norme matricielle (dépendant de ε et A) telle que A ρ(a) + ε < 1 Comme A < 1 la suite de nombres positives ( A m ) m converge vers le nombre réel Puisque A m A m (par récurrence sur m) la suite de nombres positives ( A m ) m converge vers le nombre réel ce qui signifie que la suite de matrices (A m ) m converge vers la matrice nulle : lim m + Am = b Monter que la série + m= Montrer dans ce cas que lim Montrons que la série Si la série + m= + m= A m converge ρ(a) < 1 + m + m= A m = (I A) 1 A m converge = ρ(a) < 1 A m converge alors la série de nombres positifs + m= A m p converge donc la suite de nombres positifs ( A m ) m tend vers D après la question b ci-dessus ρ(a) < 1 5
Montrons que ρ(a) < 1 = la série + m= A m converge Supposons que le rayon spectral ρ(a) < 1 Les valeurs propres de la matrice I A sont 1 λ(a) où λ(a) sont les valeurs propres de A Les valeurs propres de I A sont non nuls et donc la matrice I A est inversible Posons B m = I + A + + A m (19) Alors La différence des équations (19) et (11) donne AB m = A + A 2 + + A m+1 (11) (I A)B m = I A m+1 En faisant m + dans l équation ci-dessus et en utilisant lim m + Am+1 = on obtient ou encore ou bien encore (I A) lim m + B m = I lim B m = (I A) 1 m + + m= A m = (I A) 1 EXERCICE 2 Un exemple de méthode itérative Soit A une matrice carrée d ordre n > A = (a ij ) ij=1n régulière et b R n On veut résoudre le système linéaire Ax = b On note D la matrice diagonale constituée de la diagonale de A Soit α on étudie la méthode itérative x k+1 = (I αd 1 A)x k + αd 1 b (21) a Montrer que la méthode est consistante ie si (x k ) k converge vers x alors x est solution On fait k + dans (21) et on obtient x = (I αd 1 A)x + αd 1 b 6
ou encore αd 1 Ax = αd 1 b En multipliant à gauche par D l équation ci-dessus et en simplifiant par α on a Ax = b b Exprimer les coefficients de la matrice D 1 A en fonction de ceux de A Soient ij {1n} Alors le coefficient (D 1 A) ij est donné par n (D 1 A) ij = (D 1 ) ik (A) kj k=1 ou encore (D 1 A) ij = = (D 1 ) ii (A) ij = a ij a ii { 1 si i = j a ij a ii si i j (22) c On suppose que < α 1 et que A satisfait la propriété suivante n i1 i n a ii > a ij j=1 j i Montrer que la méthode est bien définie et I αd 1 A < 1 La méthode est bien définie D 1 existe Or i1 i n a ii > a ii 1 i n n a ij c est-à-dire i1 i n a ii > j=1 j i D où la méthode est bien définie Calcul de I αd 1 A Posons J α = I αd 1 A Les coefficients de J α sont donnés par (J α ) ij = (I D 1 A) ij = (I) ij (D 1 A) ij 7
En utilisant (22) on obtient Maintenant fixons i dans {1n} Alors { 1 α si i = j (J α ) ij = α a ij a ii si i j n (J α ) ij = (J α ) ii + j=1 = 1 α + n (J α ) ij j=1 j i = 1 α + α < 1 α + α = 1 α + α = 1 n (J α ) ij j=1 j i nj=1 j i a ii a ij car < α 1 Donc c est-à-dire max 1 i n j=1 n (J α ) ij < 1 J α = I αd 1 A < 1 La représentation de chacune des matrices A D et J α sous forme de tableaux s écrit a 11 a 12 a 1j a 1l a 1 n 1 a 1n a 21 a 22 a 2 n 1 a 2 n A = a 1i a ij a ii a il a in a n 11 a n1 2 a n 1 n 1 a n 1 n a n 1 a n2 a n j a n l a n n 1 a n n 8
et D = a 11 a 22 aii an 1 n 1 a nn J α = 1 α α a 12 α a 1j α a 1l α a 1 n 1 a 11 a 11 a 11 a 11 α a 21 1 α α a 2 n 1 a 22 α a 1i a ii α a n 11 a n 1 n 1 α a n 1 2 α a n1 a n n α a n 2 a n n a 22 α a 1n a 11 α a 2 n a 22 α a ij 1 α α a il α a in a ii a ii a ii 1 α α a n 1 n a n 1 n 1 α a n j a n n α a n l a n n α a n n 1 a n n a n 1 n 1 1 α En déduire que la méthode est convergente On a ρ(j α ) J α < 1 donc le rayon spectral de la matrice d itération J α de la méthode satisfait ρ(j α ) < 1 qui montre que la méthode est convergente Remarque Pour α = 1 la méthode ci-dessus est celle de Jacobi EXERCICE 3 Méthodes itératives classiques sur une matrice tridiagonale Soit A = (a ij ) ij=1n une matrice carrée d ordre n > du système linéaire Ax = b définie par a ii = i + 1i = 1n ;a i+1 i = 1i = 1n 1 ;a i i+1 = ii = 1n 1 les autres termes étant nuls a Calculer la matrice d itération de Jacobi Prouver que son rayon spectral est < 1 9
Calcul de la matrice d itération de Jacobi La méthode de Jacobi s écrit { x donné x k+1 = (I D 1 A)x k + D 1 b où D est la matrice diagonale constituée de la diagonale de A ie (D) ij = d ij = { aii si i = j si i j ij = 1n La représentation des matrices A et D sous forme de tableau sont les suivantes 2 1 1 3 2 A = 1 i + 1 i 1 n (n 1) 1 n + 1 2 3 D = i + 1 n n + 1 La matrice d itération de Jacobi J est J = I D 1 A Calculons en premier les coefficients de la matrice D 1 A en fonction de ceux de A Pour ij {1n} on a (D 1 A) ij = n k=1 (D 1 ) ik (A) kj = (D 1 ) ii (A) ij = a ij a ii 1
d où (D 1 A) ii = (D 1 A) i+1 i = (D 1 A) i i+1 = a ii i + 1 = a ii i + 1 a i+1 i 1 = a i+1 i+1 i + 2 a i i+1 i = a ii i + 1 les autres termes sont nuls = 1 i = 1n = 1 i + 2 i = 1n 1 = i i + 1 i = 1n 1 Les coefficients de la matrice d itération de Jacobi de J = I D 1 A sont donnés par J ii = (I D 1 A) ii = 1 (D 1 A) ii = i = 1n J i+1 i = (I D 1 A) i+1 i = (D 1 1 A) i+1 i = i + 2 i = 1n 1 J i i+1 = (I D 1 A) i i+1 = (D 1 i A) i i+1 = i + 1 i = 1n 1 les autres termes sont nuls On peut représenter la matrice d itération de Jacobi J sous la forme du tableau suivant 1/2 1/3 2/3 J = 1/(i + 1) i/(i + 1) 1/n (n 1)/n 1/(n + 1) Majoration du rayon spectral On a car J 1 = < 1 max i=2n 1 ( 1 3 < 1 n 1 < 1 n i 1 i d où le rayon spectral ρ(j) < 1 car 1 3 i 1 + 1 i i + 2 n 1 ) n + 1 i + 2 = i2 + 2i 2 i 2 < i2 + 2i + 2i i 2 + 2i < 1 ρ(j) J 1 < 1 11
Finalement la méthode de Jacobi converge b Calculer la matrice G d itération de Gauss-Seidel Montrer que le polynôme caractéristique de G s écrit P G (λ) = λ n det(i L 1 λ U) et si λ 1 alors det(i L 1 U) λ Calcul de la matrice d itération de Gauss-Seidel On décompose la matrice A sous la forme A = D E F avec A = -F D -E où la matrice D est la matrice diagonale constituée de la diagonale de A ie (D) ij = d ij = { aii si i = j si i j ij = 1n la matrice E est la matrice triangulaire strictement inférieure de A ie ( E) ij = { aij si i > j si i j ij = 1n la matrice F est la matrice triangulaire strictement supérieure de A ie ( F) ij = { aij si i < j si i j ij = 1n On introduit enfin les matrices L et U définies par L = D 1 E et U = D 1 F 12
Les matrices L et U peuvent être représenter sous forme de tableaux suivants a 21 a 22 a 1i a ij L = a ii a ii a n 1 a n j a n n 1 a n n a n n a n n et U = a 12 a 11 La méthode de Gauss-Seidel s écrit { x donné La matrice d itération de Gauss-Seidel G est a 1j a 11 a 1 n 1 a a 11 2 n 1 a 22 a 1n a 11 a 2 n a 22 a ij a in a ii a ii x k+1 = (D E) 1 Fx k + (D E) 1 b G = (D E) 1 Exprimons la matrice G en fonction des matrices L et U Des égalités L = D 1 E E = DL U = D 1 F F = DU a n 1 n a n 1 n 1 13
On déduit G = (D DL) 1 DU = (D DL) 1 DU [ 1 = D(I L)] DU = (I L) 1 D 1 DU G = (I L) 1 U Appliqué à la matrice A proposée on trouve 1/2 1/3 L = 1/(i + 1) 1/n 1/(n + 1) 1 1 1 1 Donc L = 1/3 1/(i + 1) 1/n 1/(n + 1) 14
La matrice U se calcule de la manière suivante : 1/2 1/3 U = 1/(i + 1) 1/n 1/(n + 1) 1 2 i n 1 Donc 1/2 2/3 U = i/(i + 1) (n 1)/n La matrice I L est donnée par 1 1/3 1 I L = 1/(i + 1) 1 (31) 1/n 1 1/(n + 1) 1 15
Calcul du polynôme caractéristique de G On a P G (λ) = det(λi G) ( ) = det λi (I L) 1 U ( )] = det [(I L) 1 (I L)λI U ] [ ] = [det(i L) 1 det λ(i L) U ][ = [det(i L) 1 λ n det (I L 1λ )] U = λ n det(i L 1 λ U) car det(i L) = 1 (équation (31)) entrainant det(i L) 1 = 1 Localisation des valeurs propres de G On note G = I L 1 λ U G = 1 1/(2λ) 1/3 1 2/(3 λ) 1/(i + 1) 1 i/((i + 1)λ) 1/n 1 (n 1)/(n λ) 1/(n + 1) 1 Supposons que λ 1 D après l exercice 4 du TD 6 les valeurs propres σ de G = I L 1 U sont localisées λ dans l un des disques de Gerschgörin suivants : ( ) ( ) D 1 1/(2λ) D 1 1/2 pour i = 1 ( ) ( ) D 1 1/(i + 1) + i/((i + 1)λ) D 1 1 pour i = 2n 1 ( ) ( ) D 1 1/((n + 1)λ) D 1 1/(n + 1) pour i = n Ces disques sont dessinés dans la Fig 1 16
Fig 1 Disques de Gerschgörin associés à la matrice G = I L 1 λ U Comme D(1 1) le nombre σ = pourrait être valeur propre de G Montrons à présent qu en fait σ = n est pas valeur propre de G Pour cela on utilise le théorème suivant : Théorème 31 Soit M une matrice carrée d ordre n > à coefficients complexes On suppose que M est irréductible Si une valeur propre σ est située sur la frontière de la réunion des disques de Gerschgörin alors tous les cercles de Gerschgörin passent par σ Appliquons le théorème 31 au réel σ = de G La matrice G est irréductible car i = 1n 1a i i+1 = i et a i+1 i = 1 c est-à-dire que l on peut toujours un chemin qui relie deux quelconques des n sommets du graphe associé à la matrice G Le réel n appartient pas au cercle frontière du disque D(11/2) Donc n est pas valeur propre de G Par conséquent si λ 1 alors det G = det(i L 1 U) λ 17
En déduire que la méthode est convergente On regarde le rayon spectral de la matrice G D après ce qui précède Si λ = alors λ < 1 P G (λ) = λ = ou det(i L 1 U) = λ Si det(i L 1 λ U) = alors λ < 1 Sinon on aurait λ 1 puis det(i L 1 U) λ Donc le rayon spectral de la matrice d itération G est strictement plus petit que 1 ie ρ(g) < 1 D où la méthode est convergente c Le fait d avoir trouvé une méthode itérative (au moins) convergente prouve que la matrice A est inversible Pourquoi? Comme la méthode est convergente à tout b on trouve un unique x limite de la suite engendrée par la méthode itérative tel que Ax = b Ce qui signifie que la matrice A est inversible et x = A 1 b d Décrire l algorithme de Gauss-Seidel appliqué à cet exemple L algorithme proposé s affranchit du stockage de la matrice A Cependant il requiert l écriture d une fonction qui calcule le produit de la matrice A par un vecteur x donné 18
fonction x = gaussseidel(bnitermaxtauataur) //Les arguments d entrée sont le second membre b //le nombre maximum d itération à faire nitermax //la tolérance absolue taua et la tolérance relative taur //initialisation n = taille(b) Xk = residu = b residusuiv = residu nit = //Compteur du nombre d itération //Cœur de l algorithme tantque (residusuiv > taur residu + taua et nit < nitermax) faire nit = nit + 1 b(1) + Xk(2) Xk(1) = 2 pour i allant de 2 à n 1 faire Xk(i) = finpour Xk(n) = b(i) Xk(i 1) + i Xk(i + 1) i + 1 b(n) Xk(n 1) n + 1 residusuiv = b produitavect(xk) //mise à jour du résidu fintantque x = Xk finfonction //Calcul du produit fonction y = produitavect(x) n = taille(b) y(1) = 2 x(1) i x(2) 19 pour i allant de 2 à n 1 faire y(i) = x(i 1) + (i + 1) x(i) i x(i + 1) finpour y(n) = x(n 1) + (n + 1) x(n) finfonction