• Aucun résultat trouvé

La condition du calcul des valeurs propres

Dans le document Introduction `a l’Analyse Num´erique (Page 118-122)

A cause des erreurs d’arrondi, les ´el´ements d’une matriceA, pour laquelle on cherche les valeurs propres, ne sont pas exacts. Ils sont plutˆot ´egaux `a baij = aij(1 +ǫij) avec |ǫij| ≤ eps (eps, la pr´ecision de l’ordinateur, est suppos´ee ˆetre tr`es petite). Il est alors tr`es important d’´etudier l’influence de ces perturbations sur les valeurs propres et sur les vecteurs propres de la matrice. Pour montrer ceci, consid´erons la famille de matrices

A(ǫ) =A+ǫC o`u |ǫ| ≤eps et |cij| ≤ |aij| (1.1) (souvent, la derni`ere hypoth`ese va ˆetre remplac´ee parkCk ≤ kAk).

Th´eor`eme 1.1 (Gershgorine) SoitAune matricen×n(avec des ´el´ements dansIRou dans lC). a) Siλest une valeur propre deA, alors il existe un indiceitel que

|λ−aii| ≤ n X j=1 j6=i |aij|, (1.2)

c.-`a-d. que toutes les valeurs propres deAse trouvent dans l’union des disques

Di ={λ; |λ−aii| ≤X

j6=i

|aij| }. 0 1 2 3 4 5

1 vp

2 vp 1 vp

b) Si une composante connexe de Sn

i=1Di consiste dek disques, elle contient exactementkvaleurs propres deA.

D´emonstration. Soit v 6= 0 un vecteur propre et choisissons l’indicei tel que |vi| ≥ |vj| pour toutj. La ligneide l’´equationAv=λvdonne

X

j6=i

aijvj = (λ−aii)vi.

En divisant parvi et en utilisant l’in´egalit´e de triangle, on obtient

|λ−aii|=X j6=i aij · vvj i X j6=i |aij|.

L’affirmation (b) est vraie si A est une matrice diagonale. Le cas g´en´eral est obtenu par un argument de continuit´e en faisant tendre les ´el´ements en dehors de la diagonale vers z´ero (voir le cours “Analyse II” concernant la d´ependance continue de racinces d’un polynˆome en fonction d’un param`etre).

Th´eor`eme 1.2 SoitAune matrice diagonalisable, i.e., il existeT avecT AT = diag(λ1, . . . , λn), et soitA(ǫ) =A+ǫC. Alors, pour chaque valeur propreλ(ǫ)deA(ǫ), il existe unλi avec

|λ(ǫ)−λi| ≤ |ǫ| ·κ(T)· kCk.

D´emonstration. Nous transformons la matrice A(ǫ) = A+ǫC par la mˆeme matrice, qui trans-formeAsous forme diagonale :

T1A(ǫ)T = diag(λ1, . . . , λn) +ǫT1CT.

Si l’on d´enote pareij les ´el´ements de T−1CT, le th´eor`eme de Gershgorine implique l’existence d’un indiceitel que |λ(ǫ)−(λi+ǫeii)| ≤ |ǫ|Pj6=i|eij|. L’in´egalit´e de triangle donne alors

|λ(ǫ)−λi| ≤ |ǫ| ·max

i

X

j

|eij|≤ |ǫ| · kT1CTk≤ |ǫ| · kT1kkCkkTk,

ce qui d´emontre l’affirmation du th´eor`eme, carκ(T) =kTkkT−1k(condition deT).

La condition du calcul des valeurs propres depend de la condition de la matrice de transfor-mationT. Si la matriceAest sym´etrique (T est orthogonale), le probl`eme est bien conditionn´e. Toutefois, observons qu’on obtient seulement une estimation pour l’erreur absolue et non pour l’erreur relative.

Th´eor`eme 1.3 (diff´erentiabilit´e des valeurs propres) Soit λ1 une racine simple de χA(λ) = 0. Alors, pour|ǫ| suffisamment petit, la matriceA(ǫ) = A+ǫC poss`ede une valeur propre unique λ1(ǫ)proche deλ1. La fonctionλ1(ǫ)est diff´erentiable (mˆeme analytique) et on a

λ1(ǫ) =λ1+ǫ· u 1Cv1 u 1v1 +O(ǫ2) (1.3)

o`uv1est le vecteur propre `a droite (Av11v1) etu1est le vecteur propre `a gauche (u

1A=λ1u

1). On peut supposer quekv1k=ku1k= 1.

D´emonstration. Soit p(λ, ǫ) :=χA+ǫC(λ) = det(A+ǫC−λI). Comme

p(λ1,0) = 0 et ∂p

∂λ(λ1,0)6= 0,

le th´eor`eme des fonctions implicites garantie l’existence d’une fonction diff´erentiableλ1(ǫ)(mˆeme analytique), tel queλ1(0) =λ1 etp(λ1(ǫ), ǫ) = 0. Il existe donc un vecteurv1(ǫ)6= 0tel que

A(ǫ)−λ1(ǫ)Iv1(ǫ) = 0. (1.4) La matrice dans (1.4) ´etant de rangn−1, on peut fixer une composante `a1et appliquer la r`egle de Cramer. Ceci montre que les autres composantes sont des fonctions rationnelles des ´el´ements de la matriceA+ǫC−λ1(ǫ)I et donc diff´erentiables. Apr`es la normalisation `av1(ǫ)Tv1(ǫ) = 1, la fonctionv1(ǫ)reste diff´erentiable.

Pour calculer λ

1(0), nous pouvons d´eriver l’´equation (1.4) par rapport `a ǫ et poser ensuite

ǫ= 0. Ceci donne

(A−λ1I)v1(0) + (C−λ1(0)I)v1 = 0. (1.5) En multipliant cette relation paru

1, on obtientu

1(C −λ

1(0)I)v1 = 0, ce qui permet de calculer

λ

Cons´equences. La formule (1.3) du th´or`eme pr´ec´edent montre que le plus le vecteur propre de droite est parall`ele au vecteur propre de gauche, le mieux la valeur propre correspondante estbien conditionn´ee(par exemple, pour les matrices sym´etriques les deux vecteurs sont identiques) ; le plus ils se rapprochent de l’orthogonalit´e, le plus la valeur propre estmal conditionn´ee.

Si la matrice n’est pas sym´etrique (ou normale), le calcul deλ1(valeur propre simple) peut ˆetre mal conditionn´e. Consid´erons par exemple la matrice

A= 1 α 0 2 o`u v1 = 1 0 , u1 = √ 1 1 +α2 1 −α .

Dans cette situation, la formule (1.3) nous donneλ1(ǫ)−λ1 =ǫ·(c11−αc21) +O(ǫ2)et le calcul deλ1 = 1est mal conditionn´e siαest grand.

Exemple 1.4 Consid´erons la matrice (boˆıte de Jordan)

A = λ1 1 λ1 . .. . .. 1 λ1 n (1.6)

Le polynˆome caract´eristique deA+ǫCsatisfait

det(A+ǫC−λI) = (λ1−λ)n−(−1)n·ǫ·cn1+O(ǫ2) +O(ǫ· |λ1−λ|).

Sicn1 6= 0, les termesO(ǫ2)etO(ǫ· |λ1−λ|)sont n´egligeables par rapport `aǫ·cn1. Les valeurs propres deA+ǫC sont alors approximativement donn´ees par les racines de

1−λ)n−(−1)n·ǫ·cn1 = 0, c.-`a-d. λ ≈λ1+ (ǫ·cn1)1/n (1.7) (observer que(ǫ·cn1)1/ndonnenvaleurs complexes distinctes – multiples des racines de l’unit´e).

Exp´erience num´erique. Prenons la matrice (1.6) avec

λ1 = 1etn = 5. Les ´el´ements de la matriceC sont des nombres al´eatoires dans l’intervalle [−1,1]. Le dessin ci-contre montre les 5 valeurs propres de A +ǫC pour

ǫ= 10−4,10−5, . . . ,10−10. L’erreur est≈10−1 pourǫ = 10−5 et ≈ 10−2 pour ǫ = 10−10, ce qui correspond `a la formule (1.7) pourn= 5.

Cons´equence. Si la dimension n d’une boˆıte de Jordan est plus grande que1, le calcul de la valeur propre de cette matrice esttr`es mal conditionn´e.

.9 1.1

−.1 .1

Condition du calcul des vecteurs propres

Consid´erons la situation o`u toutes les valeurs propres deA sont distinctes. La d´emonstration du th´eor`eme sur la diff´erentiabilit´e des valeurs propres montre (voir formule (1.4)) que les vecteurs propres normalis´esvi(ǫ)deA+ǫCsont des fonctions diff´erentiables deǫ. Pour ´etudier la condition du calcul des vecteurs propres, nous exprimonsv

1(0)dans la base des vecteurs propres (de droite)

v1(0) =

n

X

i=1

La formule (1.5) donne alors

n

X

j=2

j −λ1)αjvj + (C−λ1(0)I)v1 = 0. (1.9) En multipliant (1.9) par le vecteur propre de gauche u

i (observer que u

ivj = 0 pouri 6= j), on obtientαi(pouri≥2) de la relation(λi−λ1iu

ivi+u

iCv1 = 0. La normalisationkv1(ǫ)k2 2 = 1 donne (en la d´erivant) v

1v

1(0) = 0 et on en d´eduit que α1 = −Pni=2αiv

1vi. Si l’on ins`ere les formules pourαidans (1.8), on obtient pourv1(ǫ) =v1+ǫv

1(0) +O(ǫ2)la relation v1(ǫ) =v1n X i=2 u iCv11−λi)u ivi (vi−v1v 1vi) +O(ǫ2). (1.10) De cette formule, on voit que la condition du calcul du vecteur proprev1 d´epend de la grandeur

u

ivi (comme c’est le cas pour la valeur propre; voir la formule (1.3)) et aussi de la distance entre

λ1 et les autres valeurs propres deA.

Un algorithme dangereux

La premi`ere m´ethode (d´ej`a utilis´ee par Lagrange) pour calculer les valeurs propres d’une matriceA

est la suivante: calculer d’abord les coefficients du polynˆome caract´eristiqueχA(λ)et d´eterminer ensuite les z´eros de ce polynˆome. Si la dimension deAest tr`es petite (disonsn ≤3) ou si l’on fait le calcul en arithm´etique exacte, cet algorithme peut ˆetre tr`es utile. Par contre, si l’on fait le calcul en virgule flottante, cet algorithme peut donner des mauvaises surprises.

Consid´erons, par exemple, le probl`eme de calculer les valeurs propres de la matrice diagonale

A = diag(1,2,3, . . . , n) (1.11) dont le polynˆome caract´eristique est

χA(λ) = (1−λ)(2−λ)(3−λ)·. . .·(n−λ)

= (−1)nλn+an−1λn1+an−2λn2+. . .+a1λ+a0. (1.12)

Les coefficients calcul´es satisfont abi = ai(1 +ǫi) avec |ǫi| ≤ eps. Cette perturbation dans les coefficients provoque une grande erreur dans les z´eros de (1.12). Les r´esultats num´eriques pour

n= 9,11,13,15(aveceps≈6·10−8, simple pr´ecision) sont dessin´es dans la figure V.2.

Conclusion. Eviter le calcul des coefficients du polynˆome caract´eristique. Un tel algorithme est num´eriquement instable. −2 0 2 −2 0 2 n= 9 n= 11 n= 13 n= 15

Dans le document Introduction `a l’Analyse Num´erique (Page 118-122)

Documents relatifs