Vous êtes sur la page 1sur 21

Chapitre 5

Calcul des valeurs propres et des


vecteurs propres
5.1

Introduction

Une methode de calcul des valeurs propres dune matrice est necessairement une m
ethode iterative. En effet, tout polynome peut etre considere comme le polynome caract
eristique de la matrice compagnon qui lui est associee. Donc sil etait possible davoir une
methode directe de calcul des valeurs propres, ceci signifierait que lon peut extraire toutes les
racines dun polynome de degre arbitraire en un nombre fini doperations ce qui est
impossible grace notamment a` la cel`ebre theorie de Galois.
Une premi`ere classe de methode iterative de calcul de valeurs propres dune matrice A,
consiste
a` determiner une suite de matrices inversibles {Pk=1
k } telle que

Ak = P 1
k APk R,
k

qui converge vers une matrice R pour laquelle il est facile de calculer ses valeurs propres. Par
exemple, il peut sagir dune matrice diagonale ou dune matrice triangulaire.
Etant donne que les matrices sont tous semblables a` la matrice originale A, ils admettent
tous

59

Calcul des valeurs propres

60

le meme polynome caractetistique PA .


PAk = PA PR
k

PR = PA

car la suite des PAk est constante. Cest lidee de base de toutes les methodes que nous
allons voir par la suite.
Une deuxi`eme classe de methodes sapplique a` la recherche de certaines valeurs propres
parti- culi`eres comme la plus grande en module ou la plus petite. Ce sont les methodes de
puissance.

5.2

Methode de Jacobi

On fait lhypoth`ese que la matrice A est symetrique reelle, donc ceci assure des valeurs
propres reelles.
} de sorte que la suite
Lidee consiste a` trouver une suite de matrices orthogonales {Okk=1

Ak+1 = Okt AOk D


k

converge vers une matrice diagonale D qui va contenir, selon lintroduction 5.1, les valeurs
propres de A.
A chaque etape, Ok est choisie de facon a` augmenter les termes diagonaux, i.e. la diagonale
de
Ak+1 sera plus grande que celle de Ak dans un sens qui reste a` preciser.
Voici le choix de la matrice de rotation O

I
0

0 cos

p
O=
0
0

0 sin
q
0
0

0
0
I
0
0

sin 0

0
0

cos 0
0
I

Par exemple, avec n = 5, p = 2 et q = 4

1
0

0 cos

0
0

0 sin

0
0

0 sin 0

1
0
0

0 cos 0

0
0
1

Posons B = O t AO. Pour calculer les entrees de B, interchangeons les lignes et les
colonnes
correspondant aux indices p et q . On obtient

I 0 0
0
0

Apq
0 I 0
0
0

0 0 I
0
0

0 0 0 cos sin
0

0 0 0 sin cos

.
api
.
app
apq

.
.

aqi 0

. 0

apq 0

aqq
0

0 0
I 0
0 I
0 0
0 0

0
0

0
0

cos sin

sin cos

ou` Apq designe la sous-matrice extraite de A en retranchant les colonnes et lignes p, q.


La multiplication par blocs conduit a`

bpp bpq
cos sin
a
a
cos sin
=

pp pq

sin cos
bpq bqq
apq aqq
sin cos
Lidentification des composantes donne
bpp = app cos2 + aqq sin2 apq sin
2 bqq = app sin2 + aqq cos2 + apq
sin 2
bpq = apq cos 2 +

app aqq
sin 2
2

aussi
bij = aij
bpi = api cos aqi sin
bqi = api sin + aqi cos

i = p, q

Or, si apq = 0 il existe toujours un angle compris entre /4 < /4 definie par
cot 2 =

aqq app
2apq

Cette valeur de rend bpq = 0 de sorte que

2
2
= app
+ a2qq + 2a2pq
bpp2 + bqq
n
X
X
2
bii2 =
bii2 + bpp2 + bqq
i=1

i=p,q

=
=

2
2
2
+ aqq
+ 2apq
a2ii + app

i=p,q
n
X

a2ii +

2
2apq

>

i=1

n
X

aii2

i=1

Revenons a` la methode de Jacobi.


Supposons que Ak a d
ej

ete calcule. Comment choisir la matrice unitaire Ok de sorte


que

Ak+1 = Okt Ak Ok
Methode de Jacobi classique : on choisit le couple (p, q) tel que
(k)

(k)
| = max aij
|apq
i=j

Methode de Jacobi cyclique : on fait un balayage cyclique des elements hors


diagonaux. (1, 2), (1, 3), . . . , (1, n), (2, 3), . . . , (2, n), . . . , (n 1, n)
Montrons la convergence de la methode dans le cas classique.
Pour cela, posons Ak = Dk + Bk ou` Dk represente la diagonale de
Ak . Montrons que Bk 0.
k

Considerons la norme de Frobenius ||Bk ||E de Bk et posons


k = ||Bk ||E2 =

X
i=j

(k)

|aij |2

Or ||Ak+1 ||E = ||Ak ||E car la norme de Frobenius est invariante sous laction des matrices unitaires. Ceci se traduit par

| aij(k+1) | 2 =

i,j

k+1 +

X
i,j

(k+1) 2

|aii

| = k +

Or on a que

| aii(k+1) |2 =

(k)

|aij |2
X

|a
ii

(k) 2

(k) 2
(k) + 2|a
|
|aii |2
pq

= k+1 = k 2|a(k) |2
pq

De plus, par le choix du couple (p, q) , on a linegalite


n(n 1)
2
(k k+1 ) = k+1 (1 n(n 1))k
2

< 1, dou` le resultat.

(k) 2
k n(n 1)|apq
| =
2
Mais 1 n(n1)

Nous allons diviser la preuve en plusieurs etapes.


Montrons que la suite Dk est bornee.
On a que
||Dk ||E ||Ak ||E ||A||
E

Ainsi il existe au moins une sous-suite Dnk convergente vers la matrice diagonale D. Or
Dn k D
Bn k 0

Ank D

Or le polynome caracteristique de Ank est le meme que celui de la matrice originale A,


i.e.
PA = PAnk PD ce qui entrane que PD = PA , donc D contient les valeurs propres de A.
Ceci montre aussi quil y a un nombre fini de valeurs dadherence de la suite Dk .
Montrons que Dk+1 Dk 0.
k

(k)

On introduit la notation Dk = (aii ). Selon la formule ci-dessus, on a que

i = p, q
0

(k+1)
a(k)
tan k a(k)
aii
pq i = p
ii =

tan k a(k)
pq i = q

(k)

Aussi |a pq | ||Bk ||E 0 et | tan k| 1 car /4 k /4. Donc


akii 0
ak+1
ii
k

Si on a une telle suite Dk possedant les proprietes suivantes :


1. Dk est bornee,
2. Dk poss`ede un nombre fini de valeurs dadherence,
3. Dk+1 Dk 0
k

alors la suite Dk converge vers la matrice diagonale D formee des valeurs propres de A. Consulter
Ciarlet [1] pour la preuve. Ce qui implique que toute la suite Ak converge vers D car
Ak = Dk

+ Bk

Ak 0

Passons a` la convergence des vecteurs propres par la methode de Jacobi classique. Le r


esultat sera demontre que sous lhypoth`ese que toutes les valeurs propres sont distinctes.
Par construction de la suite Ak , on a que
Ak+1 = Okt Ak Ok =

t
Okt Ok1
Ak1 Ok1 Ok

t
= Okt Ok1
. . . O2t O1t AO1 O2 . . . Ok

kt Ak

avec la notation k = O1 O2 . . . Ok1 Ok .


La suite k verifie les proprietes suivantes :
La suite k est bornee.
||k ||E = ||I ||E =

La suite k poss`ede un nombre fini de valeurs dadherence.

1 kO

En effet, la suite k admet une sous-suite nk qui converge vers . Donc

Ank = tnk Ank tk Ak

tA

D = t A

Ceci signifie que la matrice unitaire contient les vecteur propres.


Finalement , montrons que k+1 k 0.
k

Le choix de langle k est fournie par la relation


tan 2k =

2a(k)
pq
(k)
(k)
aqq app

(k)

Or |a pq |2 k ||Bk ||E2 0. Ceci entrane que (k)


apq 0. Aussi
Ak D

(k)
|a(k)
qq app | > k

avec le choix de =2 1 mini=j |i j |. Donc k 0 et Ok I .


Or
k+1 k = k Ok+1 k
= k (Ok+1 I )
||k+1 k ||2 ||k ||2 ||Ok+1 I ||2 = ||Ok+1 I ||2 0
La suite k verifie toutes les hypoth`eses pour conclure a` la convergence de la suite k

ou` la matrice contient les vecteurs propres.

5.3

Methode de Givens-Householder

Lidee de la methode consiste a` trouver une matrice orthogonale P telle que P t AP soit
tridia- gonale.
Cette etape constitue la methode de Householder de reduction dune matrice symetrique
a` la forme tridiagonale.

Theor`eme 22 Etant donne une matrice A carree symetrique, il existe une matrice P
inversible produit de n 2 matrices de Householder telle que
P t AP
soit une matrice tridiagonale.
Passons a` la methode de Givens pour calculer les valeurs propres dune matrice
tridiagonale symetrique de la forme

b c
0 ..............
1 1

c1 b2 c2 0 . . . . . . . . . .

0 c 2 b3 c 3 . . . . . . . . .
.

B =
.

. . ..
. ...
.
. . . . . . . . . .
.

0 ............
bn1

0 . . . . . . . . . . . . cn1 bn
Supposons que les ci sont tous differents de zeros, i.e. ci = 0
peut

cn1

i. Si un des ci = 0, on

partitionner la matrice en blocs diagonaux telles que lhypoth`ese c i = 0 soit verifi


ee. Le polynome caracteristique de B verifie des identites remarquables.
Theor`eme 23 Les polynomes caracteristiques pi () PBi () i = 0, 1, . . . , n verifient
:
1. On pose p0 = 1. On a que p1 = b1 et la relation de recurrence
2
pi () = (bi )p
pi
i 1 () c
i1

2 ()

i = 2, 3, . . . , n

2.
lim pi () =

i = 1, 2, . . . , n

3.
pi (0 ) = 0

pi1 (0 )pi+1 (0 ) < 0

i = 1, 2, . . . , n 1

4. Le polynome pi poss`ede i racines reelles distinctes qui separent les i + 1 racines


de p i+1
pour tous les i = 1, 2, . . . , n 1.

Preuve de (1) :
b1

c1

...

...

...

c1

b2

c2

...

...

c2

...

...

...

b3 c 3
..
..
.
.

...

...

. . . . . . . . . . . . . . . . . bi1 ci1
.
bi
. . . . . . . . . . . . . . . . . ci1
.
c1
0
...
...
...

0
0
b1
c1

b2

c2

...

= (bi )

c2

...

...

b3 c 3
..
. ..
.

...

...

...

...

ci2
. . . . . . . . . . . . . . . . . bi2
.
bi1
0
. . . . . . . . . . . . . . . . . ci2
.
b1
c1
0
...
...
0
0

ci1

c1

b2

c2

...

0
0

c2

b3 c 3
..
. ..
.

...

...

...

...

...

...

. . . . . . . . . . . . . . . . . bi2 0
.
ci1
. . . . . . . . . . . . . . . . . ci2
.
= (bi )pi 1 () i1
c2 pi 2 ()

Preuve de (2) : par induction sur i. Le terme dominant i de pi est (1)i i

i
i pair

=
i
i impair
Preuve de (3) : Si pi (0 ) = 0
=
pi

pi+1 (0 ) = (bi+1 0 )pi (0 ) c2

pi+1 (0 ) = ci2 pi1 ( 0 )

1 (

donc de signes opposees. De plus. si pi+1 (0 ) = 0, on aura pi+1 (0 ) = pi (0 ) = pi1 (0 ) =


0.
Ce qui implique que pi2 (0 ) = 0 et ainsi de suite jusqu p ( ) = 0. Ceci est en contradiction
0 0
avec le fait que p0 1.
Preuve de (4) : est une consequence de (2) et (3).
En fait la propriete (4) permet de trouver un intervalle [a, b] tel que pi (a)pi (b) < 0 ce qui
nous assure lexistence dune racine dans ]a, b[ du polynome pi . Pour calculer cette racine, on
peut utiliser la methode de la bissection.

5.4
QR

Methode

Cette methode sapplique aux matrices quelconques. Voici le principe de base de cette m
ethode. Posons A1 = A. On ecrit la factorisation QR de A1
A 1 = Q 1 R1
et on forme
A2 = R1 Q1 = Q1t A1 Q1
A letape
k,

Ak = Qk Rk

on pose
Ak+1 = Rk Qk = Qkt Ak Qk
Par induction, on obtient
Ak+1 = (Q1 Q2 . . . Qk )t A(Q1 Q2 . . . Qk )
ce qui montre que Ak+1 est semblable a` A donc admet les memes valeurs propres.
Theor`eme 24 convergence de la methode QR

Soit A une matrice carree inversible et ayant des valeurs propres differentes en module. Cest`a-dire quil existe une matrice P inversible verifiant

. ..
1
et
| 1 | > |2 | > . . . > |n | > 0
P AP =

n
De plus, on fait lhypoth`ese que la matrice P 1 admet une factorisation LU, alors la suite Ak
telle que definie ci-dessus verifie
(Ak )ii i
k

(Ak )ij 0
k

i = 1, 2, . . . , n
j < i

Remarques :
1. On ne peut rien dire sur la convergence de la partie superieure j > i.
2. Si A est reelle et que les valeurs propres sont differentes en module, ceci entrane que
les valeurs propres sont tous reelles car sinon les valeurs propres complexes apparaissent
par paires de racines conjuguees, donc de meme module ce qui est exclu par
hypoth`ese du theor`eme.
Preuve :
Posons k = Q1 Q2 . . . Qk et Rk = Rk . . . R2 R1 . On a que
Ak+1 = kt Ak
Lidee de la preuve consiste a` etudier le comportement asymptotique de la suite k . Pour cela,
on va utiliser le fait quon a d

une factorisation QR de la matrice Ak A . . . A

(k fois)

ej fournit par
Ak = k Rk
En effet
1 R1 = Q1 R1 = A
2 R2 = Q1 Q2 R2 R1 = Q1 R1 Q1 R1 = AA =
A2
3 R3 = Q1 Q2 (Q3 R3 )R2 R1 = Q1 Q2 (R2 Q2 )R2 R1 = Q1 (Q2 R2 )(Q2 R2 )R1 = (Q1 R1 )(Q1 R1 )(Q1 R1 ) =
A3

et ainsi de suite.
Maintenant,nous allons chercher une autre factorisation QR avec R ii > 0 de sorte quon pourra
utiliser lunicite pour deduire le resultat final.

..
1
. Ceci entrane que
Posons P = LU , P = QR et =
.

n
Ak = P k P 1
= QRk LU
= QR(k Lk )k U
Or
(k Lk )ij =

X
k,l

1
i
i k ik Lkl k lj = ( )k Lij
l
j
0

i<j

i=j

( i )k Lij

i>j

car la matrice L est triangulaire inferieure et Lii = 1.


k Lk
I
i k

par hypoth`ese sur les

= I + Fk

ou` Fk 0
k

Rk Lk = (I + RFk R1 )R

Les matrices I + RFk R1 admettent une factorisation QR avec Rii > 0 car R est inversible
I + RFk R1 = Q k
R k
La suite Q k etant borne, ceci implique lexistence dune sous-suite convergente. Par abus
de langage, on notera de nouveau cette suite par Q k Q . Donc,
R k R

avec

R ii > 0

et
I=
Q R .
Par unicite de la factorisation QR, on a que Q = R = I . On notera que toutes les soussuites
convergent vers la matrice identite I . Donc la suite enti`ere converge vers I .
Revenons a` lexpression de
Ak

Ak = Q(Rk Lk )k U
= Q(Q k R k R)k U
= (QQ k )(R k Rk U )

qui est une autre factoristion QR de la matrice Ak . Toutefois, rien garantie que le facteur R
verifie Rii >
0.
Pour cela, intercalons une matrice diagonale Dk avec |(Dk )ii = 1| de sorte que la matrice
triangulaire superieure (Dk R k Rk U )ii > 0, i = 1, . . . , n. On peut donc conclure par
unicite que
QQ k Dk =
k
Passons a` letape finale qui consiste a` etudier la suite Ak . On a
Ak+1 = kt Ak k
= (Dk Qk Q )(QRR1 Q1 )(QQ k Dk )
= D Q RR1 Q k
k k Dk
car A = P P 1 et P = QR.
Or
Dk Q RR1 Q k
RR1
k
k

dont le resultat est de la


forme

RR1

... ... ...


1

0 2 . . . . . .
=

0 ...


. . . . .

.
0

. . . . . . n

Dautre part

h
(D Dk Dk )ij = D Q RR1 Q k
i
Dk k k
k

= (D k )ii (Dk )jj (Dk )ij

ij

Cette egalite se traduit par les relations


i=j
i=j

(D Dk Dk )ii = (Dk )ii (RR1 )ii = i


k
(D Dk Dk )ij = (D k )ii (Dk )jj (Dk )ij 0
k

Remarques :
1. Dans le cas
ou`

plusieurs valeurs propres ont le meme module (cas des valeurs propres

complexes pour une matrice reelle), moyennant une hypoth`ese de factorisation LU


par blocs par P 1 , on peut montrer que le comportement asymptotique des matrices
Ak a lallure suivante.
Par exemple
|1 | = |2 | = |3 | > |4 | > 5 | >

x x x x x x

x x x x x x

x x x x x x

0 0 0 x x x

0 0 0 0 x x

0 0 0 0 x x

0 0 0 0 x x

0 0 0 0 x x

|6 | = |7 | = |8 |

x x

x x

x x

x x

x x

x x

x x

x x

Les (Ak )ij ne converge pas necessairement mais les valeurs propres de chaque sousmatrices convergent vers les valeurs propres du module considere.
2. Dans la pratique, on commence par mettre la matrice A sous une forme plus simple dite

de Hessenberg

Cette

x x

x x

A = 0 x

. ..
.
.

0 ...

... ... x

. . . . . . x

..
. . . . .

.. ..
.
. .

0
x x

mise preliminaire seffectue avec des matrices de Householder dune facon

analogue a` la reduction a` la forme tridiagonale dans le cas symetrique. Lavantage


provient du fait que la suite Ak reste sous la forme de Hessenberg.

5.5

Methodes de puissance

Supposons que lon desire calculer un seul vecteur propre correspondant a` une valeur propre

d
connue.
ej
La methode des iterations inverses est definie par

u
= donne
0
u

k+1 = (A I )
1

(5.1)

uk

ou` est une valeur proche de . Le calcul de uk+1 sobtient en resolvant le syst`eme lin
eaire
(A I )uk+1 = uk
.
Notons que la matrice A I nest pas inversible si est une valeur propre de A.
Voici comment la suite des uk peut etre utilise pour approcher un vecteur propre
correspondant a` la valeur propre .
Theor`eme 25 Convergence de la methode des iterations inverses
Soit A une matrice carree diagonalisable et une valeur propre de A. On se donne un
nombre complexe verifiant
=

et

| | < | | sp(A) \ {}

(5.2)

De plus, supposons que le vecteur initial u0 nest pas contenu dans le sous-espace propre associe
`a , alors
lim

( )k uk
=q
| |k ||uk ||

est un vecteur propre lie `a


.
Preuve : soit B = {pi}ni=1 une base de vecteurs propres de A associee aux valeurs propres
{i }ni=1 .
On a que
u0 =

n
X

i pi =

i=1

i =

= p +

i pi +
X

i pi

i =

i pi

i =

Par hypoth`ese, p = 0.
uk = (A I )1 uk
1

uk = (A I ) u0 =

uk =

n
X

(1 )k
0

i=1

(i )k i pi +

uk =
i =

p
(
)k

( )k uk = p +

i =

X (
)k

i =

| |k ||uk || ||p|| (i
)k
( )k uk
p

||p||
=q
| | ||uk
||

...

(2 )k 0

0
...

...

..

...

. . . (n )k

(i )k i pi

uk =

(i )k i pi

i =

i pi
(i
)k
i pi p

1

.
.


..

n

et q fait partie du sous-espace propre associe a` .

k uk
A noter que si > , on a que||uku||k q. Sinon < , on a que (1)
q.
||uk ||

Remarques :
1. En pratique, on ne sait pas si >

ou < . Il faut etudier la convergence des


deux

suites
uk
||uk ||

(1)k

ou bien

uk
||uk ||

2. On sait quil faut prendre = . Par contre, selon lexpression de ( )k uk ci-dessus,


il
est preferable de prendre aussi voisin que possible de pour accelerer la
convergence. Toutefois, la matrice A I devient mal conditionne.
3. Si on choisit = 0, lhypoth`ese (5.2) devient
|| < ||

sp(A) \ {}

ce qui revient a` dire que la methode iterative va converger vers le vecteur propre
corres- pondant a` la plus faible valeur propre en module.
Algorithme de puissance inverse :

donne

Au
k+1 = uk
4. Prenons A1 au lieu de A et aussi = 0. Lhypoth`ese (5.2) secrit maintenant
1
1
<
||
||

sp(A) \ {}

|| < ||

sp(A) \ {}

ce qui est equivalent


a`

donc lalgorithme converge vers le vecteur propre de plus grand module. Lalgorithme
secrit.
Algorithme de puissance ordinaire :

donne

u
k+1 = Auk

5. Pour calculer la valeur propre correspondant au vecteur propre q, il suffit de calculer son
quotient de Rayleigh
k =

(Aqk , qk )
(qk , qk )

Si qk est une bonne approximation de q, alors k sera une bonne appproximation .


6. Finalement, lhypoth`ese sur u0 est en general satisfaite car il est peu probable
que la composante de u dans lespace propre correspondant a` soit egal a` zero.