You are on page 1of 33

Recherche des valeurs et vecteurs propres

A la fin du chapitre, ltudiant doit tre capable de :


1. Dcrire la mthode de la puissance itre pour la dtermination des
vecteurs propres
2. Dcrire lalgorithme de Jacobi pour la diagonalisation des matrices et
expliquer ses faiblesses
3. Dfinir la transformation de Householder pour lannulation de
presque toutes les composantes dun vecteur quelconque
4. Expliquer comment les transformations de Housholder peuvent tre
utiliser pour raliser la factorisation QR dune matrice, pour obtenir la
forme Hessenberg dune matrice.
5. Dcrire lalgorithme QR pour la dtermination des valeurs propres
dune matrice
6. Faire un choix clair entre les mthodes du cours pour la rsolution
dun problme donn
Introduction
Deux grandes classes de problmes en algbre linaire :
Rsoudre un systme linaire dquations
Dj vu au chapitre prcdent
b AX =
Trouver les lments propres dune matrices
X: vecteur propre
: valeur propre
Lobjectif de ce chapitre
X AX =
Pourquoi faire ?
La dtermination des lments propres dune
matrice carre a de multiples applications:
rsonnance (balanoire, pont),
traitement dimage,
gomtrie, gomtrie,
recherche sur le web,
Vibration (voiture, bruit de cabine,)
march financier,
rsolution de certaines quations aux drives partielles
(quation de la chaleur),
des systmes dquations diffrentielles ordinaires (EDO),

Rsolution de AX=X
Rappel du cours sur les systmes linaires:
singulire est que dit on , cas le Dans
: si solutions de infinit une ou 0 -
: si unique solution 1 -
: admet carre matrice avec
M 0 det(M)
0 det(M)
0 det(M)
M b MX
=
=

=
Consquence pour le problme aux valeurs propres:
( )
( ) 0 I A det
A
I A M 0 X
X I A 0 X
=
=
= =

: quation l'
rsolvant en de propres valeurs les cherche on dit Autrement
singulire est o cas le dans place se on , solutions des
cherche on l' que et 0 de solution rs est toujou Puisque
Rsolution de AX=X
Thoriquement, elle se fait en 3 tapes systmatiques:
1. Calcul du dterminant de A- I
2. Dtermination des racines du polynme 2. Dtermination des racines du polynme
caractristique obtenu en crivant : det(A- I)=0
3. Pour chaque racine (chaque valeur propre),
rsoudre le systme linaire AX= X afin de
dterminer le ou les vecteurs propres associs.
Quelques rsultats connatre
Thorme 1 :
Si A et T sont des matrices carres dordre n et si T est inversible, alors la
matrice B = T
-1
AT a les mmes valeurs propres que la matrice A et si X est le
vecteur propre de A attach , le vecteur propre de B attach cette
mme valeur propre est Z = T
-1
X .
Cas particulier important : T = R orthogonale (R
-1
= R
T
). Cas particulier important : T = R orthogonale (R = R ).
Thorme 2 :
La somme des carrs des lments dune matrice symtrique est gale la
somme des carrs de ses valeurs propres (2nd invariant)
Thorme 3 :
Si A est diagonale, les valeurs propres de A sont gales aux coefficients sur
la diagonale.
En pratique, cette dmarche nest pas exploitable pour les
systmes de taille suprieure 4 ou 5 car le calcul formel de
det(A-I) est rapidement monstrueux
On prfre donc les mthodes itratives dans lesquelles on
sapproche pas pas des valeurs propres.
Recherche des valeurs et vecteurs propres
Dans ce cours :
Puissance itre: la plus simple, mais aussi trs limite
Mthode de Jacobi: trs lente et non pratique pour des
problmes de taille suprieure 10
Algorithme QR: la mthode de rfrence pour des problmes
de taille infrieure quelques milliers.
I- Mthode de la puissance itre et de dflation
I-1 Puissance itre
Matrice A relle quelconque diagonalisable
On note ses valeurs propres et V
1
, V
2
,,
V , V les vecteurs propres associs
Recherche des valeurs et vecteurs propres
n n
<
1 2 1
L
V
n-1
, V
n
les vecteurs propres associs
On se donne un vecteur initial X
0
non nul. Ce vecteur peut
sexprimer dans la base propre de A:
Si lon calcule X
1
= A X
0
, on obtient un vecteur qui scrit:
n n
V c V c V c X + + + = L
2 2 1 1 0
n n n
V c V c V c X + + + = L
2 2 2 1 1 1 1
Plus gnralement, le k
me
itr X
k
= A X
k-1
sexprime de la
manire suivante dans la base propre de A:
Deux utilisations possibles de la puissance itre:
1. Si la valeur propre
n
est dj connue (calcule par une autre
mthode comme QR), la suite des vecteurs tend vers
n
k
n n
k k
k
V c V c V c X + + + = L
2 2 2 1 1 1
k
n k
X /
un vecteur colinaire au vecteur propre V
n
car:
2. Dans le cas contraire, la suite des vecteurs tend
vers un vecteur unitaire, colinaire au vecteur propre . La
valeur propre est la limite de la suite
n n n
k
n
n
n
k
n
k
n
k
n
k
V c V c V c V c
X
+
|
|

\
|
+ +
|
|

\
|
+
|
|

\
|
=

1
1
1 2
2
2 1
1
1

L
n k
k k
X X /
2
/
k k k
X X AX
I-2 Exemple 22
10 0
9 1
A
| |
=
|

\
Les valeurs propres sont
1
= 1 et
2
= 10, et les vecteurs propres
associs sont respectivement V
1
= (0,1)
t
et V
2
= (1,-1)
t
,
On choisit X
0
= (1,2)
t
et on obtient:
Itration (k)
k k
X X /
2
/
k k k
X X AX
1 0.4472 0.8944 -0.8000
2 0.8192 -0.5735 11.2685
3 0.7178 -0.6963 10.1349
4 0.7082 -0.7060 10.0135
5 0.7072 -0.7070 10.0013
6 0.7071 -0.7071 10.0001
7 0.7071 -0.7071 10.0000
k k
/
k k k
X X AX
Remarques
La convergence est dautant plus rapide que le rapport
n
/
n-1
est
grand
La mthode ncessite un produit matrice-vecteur chaque
itration; A doit donc de prfrence tre de faible dimension, ou
trs creuse
La convergence peut tre acclrer en utilisant la mthode
shifted inverse dans laquelle on applique la puissance itre
la matrice (A-I)
-1
, o est une (bonne) approximation de la
valeur propre recherche.
Malgr ces amliorations, la puissance itre conserve le dfaut
principal de ne converger que vers une seule valeur propre la
fois (mme si une technique appele dflation permet dliminer
la convergence vers la valeur propre de plus grand module)
Principes de base des mthodes de calcul des valeurs propres
Deux matrices semblables partagent les mmes valeurs propres
Les valeurs propres dune matrice triangulaire sont ses lments
diagonaux
Ide gnrale: Faire apparatre, laide dune succession de
transformations lmentaires, des zros sur les lments extra-
diagonaux et obtenir:
B = T
-1
A T
avec D matrice triangulaire (suprieure) et T inversible
Pour se faciliter les choses, on demande galement que T soit
orthogonale de sorte que son inversion ne cote rien. On a alors:
B = T
t
A T
La mthode de Jacobi est la plus simple des mthodes de cette
catgorie
Principe de la mthode de Jacobi (sur une matrice 33)
1 0 0
0 cos sin R
| |
|
=
|
T
1 0 0
0 cos sin R
| |
|
=
|
Lide est dliminer rotation aprs rotation, les poids hors diagonale.
Comme le poids global se conserve, tout ce qui disparat hors diagonal a
des chances de se retrouver sur la diagonale.
par exemple, a
23
est le terme hors diagonal le plus lourd ;
la rotation R associe scrit :
11 12 13
a a a
A a a a
| |
|
=
|
0 cos sin
0 sin cos
R
|
=
|
|

\
T
0 cos sin
0 sin cos
R
|
=
|
|

\
T
B R AR =
11 21 31 21 31
2 2
22 33
21 31 22 23 33 23
2 2
22 33
21 31 23 22 23 33
cos sin sin cos
( )
cos sin cos sin2 sin cos2 sin2
2
( )
sin cos cos2 sin2 sin sin2 cos
2
a a a a a
a a
B a a a a a a
a a
a a a a a a
| |
| +
|

|
= + +
|
|

| + + + +
\
on calcule alors
12 22 23
13 23 33
A a a a
a a a
|
=
|
|
\
en fait, on a seulement besoin de connatre cos et sin pour construire R.
22 33
23 23
( )
cos2 sin2
2
a a
b a

= +
23
1
22 33
2
tg2
( )
a
a a

et on dtermine alors pour que b


23
=0

en fait, on a seulement besoin de connatre cos et sin pour construire R.


On pose alors :
2

23
a =
( )
1
22 33
2
a a =
2 2 2
2
2 2 2
1
1 tg 2 1
cos 2
+
+ = = + =

4 4


R =

2 tan
2 2
cos2

=
+
2 2
sin2 sgn

= =
+
Do
et comme
2 2
cos 2 sin 2 1 + =
Or :
2 2 2
1 1 1
2 2 2
cos (1 cos2 ) (1 1 sin 2 ) (1 1 ) = + = + = +
( )
Par ailleurs, sin2 2sin cos , on obtient : =
( )
2
1
cos 1 1
2
= +
( )
2
sin
2 1 1

=
+
b cas gnral
Les calculs prcdents se gnralisent aux cas nn.
A chaque nouvelle itration (r), on veut liminer le terme hors diagonale
de plus fort poids.
( )
( )
( )
r
pq
Soit, ce terme hors diagonale.On construit alors
r
pq
a R
1 0 0 0
0 cos sin 0
| |
|

|
|
L L L
L L L
p
( )
( )
0 1 0
- sin cos
0 0
0 0 0 1
r
pq
R
|
|
|
=
|
|

|
|
|
\
M L L M
M L L O L L M
M L L L M
L L L L O
L L L
q
p q
( )
( ) ( )
( ) ( )
1 1
1
r r
r r
r
a a
a a
A
+ +
+
| |
|
|
|
|
|
=
L L L L L
M L L L M
M O L L L M
M L L O L L M
p
Dans le cas gnral, on peut montrer que dans le produit
les coefficients de A
(r+1)
ne diffrent de ceux de A
(r)
que dans
les lignes et les colonnes p, q.
( )
( )
( ) ( )
( )
( ) 1
T
r r r r
pq pq
A R A R
+
=
( )
( ) ( )
( ) ( )
1
1 1
r
r r
r r
A
a a
a a
+
+ +
|
=
|
|
|
|
|
|
\
M L L O L L M
M L L L M
M L L L L O L
L L L L L
q
p
q
( ) ( )
( ) ( )
1
( )
cos2 sin2
2
r r
pp qq r r
pq pq
a a
a a
+

= +
On retrouve en particulier un rsultat de la forme :
( ) 1
0 1 6 0 0 0
1 0 2 7 0 0
6 2 0 3 8 0
0 7 3 0 4 9
0 0 8 4 0 5
0 0 0 9 5 0
A
| |
|
|
|
=
|
|
|
|
|
\
( ) 31
16.61 0 0 0 0 0
0 5.94 0 0 0 0
0 0 2.46 0 0 0
0 0 0 12.13 0 0
0 0 0 0 10.06 0
0 0 0 0 0 2.20
A
| |
|
|
|
=
|

|
|

|
|
\
Dtermination des vecteurs propres :
Il existe deux stratgies possibles:
1. Utiliser la mthode de la puissance itre en mode shift and
invert pour dterminer les vecteurs propres associs chaque
valeur propre
2. Poursuivre lalgorithme de Jacobi jusqu obtenir une matrice 2. Poursuivre lalgorithme de Jacobi jusqu obtenir une matrice
diagonale semblable A:
D = T
t
A T, avec D matrice diagonale.
Les vecteurs propres sont alors les colonnes de T.
Remarques
Chaque rotation modifie certains des coefficients prcdemment
annuls puisque lensemble des entres des lignes et colonnes p
et q est modifi
Globalement la contribution des termes extra-diagonaux diminue
donc lalgorithme converge. On ne sait cependant pas dire a priori donc lalgorithme converge. On ne sait cependant pas dire a priori
combien de rotations devront tre faites pour obtenir une matrice
triangulaire de la matrice
Pour viter ce problme, et pour gagner en efficacit, une autre
stratgie consiste ne pas annuler les entres les unes aprs les
autres, mais plutt colonne (ou bout de colonne) par colonne
Transformation de Householder
Une transformation orthogonale permet en un seul coup de faire
apparatre des zros sur toute une colonne: cest la
transformation de Householder
Pour X vecteur j quelconque de taille m, on dfinit:
( )
t
43 42 1
L0 , , 0 , 0 , 1 o , avec = + = =
1 1
2
t
e e X X V
V
VV
2 I H
On vrifie facilement que H=H
t
puis que HH
t
= I. Par suite, on
obtient H
-1
=H
t
et donc H est bien orthogonale en plus dtre
symtrique
Un calcul simple permet alors de vrifier que:
m
43 42 1
s composante
V
( )
t
0 , , 0 , 0 , L X e X HX
1
= =
Factoristion QR
Partant dune matrice A quelconque, on peut faire apparatre les
vecteurs colonnes suivants

Les vecteurs colonne X


1
, X
2
, ,X
k
, et X
n-1
ont pour taille n, n-1, , n-k+1, et 2
respectivement,

X
1
X
2
X
k
X
n-2
X
n-1
Lide est dappliquer une transformation de
Householder adquate successivement
chacun de ces vecteurs afin dannuler tous
les termes sous diagonaux
Plus prcisment
Factoristion QR
Pour annuler les n-1 dernires composantes de X
1
:

( )
t
n
43 42 1
L
s composante
1 1
1
0 , , 0 , 0 , 1 o
, avec

=
+ =
=
1
1
2
t
e
e X X V
V
VV
2 I H
=

0
0
.
.
0
Pour annuler les n-2 dernires composantes du nouveau X
2
:
( )
t
n
43 42 1
L
s composante 1
2 2
0 , , 0 , 0 , 1 o
, avec

=
+ =
=
1
1
2
t
2
e
e X X V
V
VV
2 I H
=

1
0
.
.
.
0
0 0 . . . . . . . . 0
0
0
.
.
0
0
.
.
0
U
1
U
2
Factoristion QR
Pour annuler les n-k dernires composantes du nouveau X
k
:
( )
t
k k
k
43 42 1
L0 , , 0 , 0 , 1 o
, avec

=
+ =
=
1
1
2
t
e
e X X V
V
VV
2 I H
=

1
0
.
.
.
0
0 0 . . . . . . . . 0
0
0
.
.
0
0
.
.
O
1

0
0
.
.
0
0
.
.
0
.
0
Au final, aprs avoir appliqu n-1 transformations de Householder
bien choisies on obtient (en posant Q
t
= U
n-1
U
n-2
U
2
U
1
) la
factorisation QR de la matrice A:
A = QR
avec Q matrice orthogonale et R matrice triangulaire suprieure
k n
43 42 1
s composante 1 +
1

0 0
0

0
0 0
U
k
Exemple sur une matrice de taille 4:
(
(
(
(

=
4 3 2 1
1 2 1 2
2 1 2 1
1 2 3 1
A
(
(
(
(

=
(
(
(
(

+ =
(
(
(
(

=
1
2
1
6458 . 4
0
0
0
1
1
2
1
1
1 1 1 1
X X V X
(
0.3780 0.3780 0.3780 - 0.7559 -
On fait dabord apparaitre des zros sur la premire colonne:
(
(
(
(

= = =
0.9186 0.0814 - 0.0814 0.3780
0.0814 - 0.9186 0.0814 0.3780
0.0814 0.0814 0.9186 0.3780 -
0.3780 0.3780 0.3780 - 0.7559 -
2
2
1
t
1 1
1 1
V
V V
I H U
(
(
(
(

=
4.1339 3.4305 0.4593 - 0
1.1339 2.4305 0.5407 0
1.8661 0.5695 0.4593 0
0.3780 0.0000 4.1576 - 2.6458 -
A U
1
Exemple sur une matrice de taille 4:
2
2
2 2
2 2 2 2 2
2
0.4593 -
0.5407
1.3045
0
0
1
0.4593 -
0.5407
0.4593
V
V V
I H X X V X
t
=
(
(
(

=
(
(
(

+ =
(
(
(

=
(
(
(
(

=
0.5706 2.1945 0 0
0.5071 0.0000 0.8452 - 0
0.3780 0.0000 4.1576 - 2.6458 -
A U U
1 2
On procde de la mme manire pour les colonnes 2 et 3 avec:
(
(
(
(

=
0
0
0 0 0 1
2
2
H
U
(
(

4.6124 3.6310 0 0
0.5706 2.1945 0 0
(
(

0
0
2
H
2
3
3 3
3 3 3 3 3
2
3.6310
6.4371
0
1
6310 . 3
1945 . 2
V
V V
I H X X V X
t
=
(

=
(

+ =
(

=
4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 2 1
43 42 1
R
Q
1 2
A U U U
t
(
(
(
(

=
1.8974 0 0 0
4.2426 - 4.2426 - 0 0
0.5071 0.0000 0.8452 - 0
0.3780 0.0000 4.1576 - 2.6458 -
3
(
(
(
(

=
0 0
0 0
0 0 1 0
0 0 0 1
3
U
3
H
Remarques sur la factorisation QR
Toute matrice peut tre crite sous la forme QR
On utilise pour cela une combinaison de transformations de
Householder
Cette factorisation est trs importante en analyse linaire (un peu
comme la factorisation LU)
Comme det(Q)=1, elle permet notamment de calculer le Comme det(Q)=1, elle permet notamment de calculer le
dterminant de A comme le produit des termes diagonaux de R
Pour le calcul des valeurs propres, elle est la base dun
algorithme trs performant: lalgorithme QR
La suite
Partant de A on a donc obtenu par transformations orthogonale
une matrice R dont les valeurs propres se calculent de manire
immdiate (les termes diagonaux de R)
Oui mais les valeurs propres de A et de R ne sont pas les mmes
car ces matrices ne sont pas semblables !
Pour obtenir une matrice semblable A il faut une matrice de la Pour obtenir une matrice semblable A il faut une matrice de la
forme Q
t
AQ
Avec A = QR on obtient facilement: RQ = Q
t
AQ
Donc A est semblable RQ, qui nest pas triangulaire !!
Le problme est que la multiplication droite par la
transformation Q dtruit la triangularisation obtenue par Q
t

La suite
Pour surmonter cette difficult, lide consiste tre un petit peu
moins ambitieux et gnrer des zros en dessous de la sous
diagonale
Par exemple pour la premire colonne de A, on ne cherche
annuler que les n-2 dernires composantes en excluant le terme
diagonal du vecteur colonne Y
1
sur lequel est bas la diagonal du vecteur colonne Y
1
sur lequel est bas la
transformation de Householder :

0
.
.
0
( )
t
n
43 42 1
L
s composante 1
1
0 , , 0 , 0 , 1 o
, avec

=
+ =
=
1
1 1 1
2
t
e
e Y Y V
V
VV
2 I H
1
0
.
.
.
0
0 0 . . . . . . . . 0
Y
1
W
1
Forme de Hessenberg dun matrice
On procde alors comme pour la factorisation QR, en traitant
successivement toutes les colonnes de A mais en excluant tous
les termes diagonaux pour construire les transformations de
Householder successives W
1
,W
2
, et W
n-2
En posant T
t
= W
n-2
W
2
W
1
on dfinit donc une transformation
orthogonale telle que A = TB o B est une matrice dont tous les
coefficients en dessous de la sous-diagonale sont nuls. Cest une
matrice de Hessenberg
Lintrt est que la matrice K = BT = T
t
AT est semblable A tout
en conservant une forme de Hessenberg
Evidemment, lintrt est que A et K sont semblables et quelles
partagent les mmes valeurs propres, avec K ayant presque tous
ses lments sous diagonaux gaux zros
Forme de Hessenberg dun matrice
Pour rsumer:
n-1 transformations
de Housholder
T=T
t
=T
-1
0
Forme de Hessenberg
K = T
t
AT
sous diagonale
(n-1 termes)
Matrice
A
Les matrices de Hessenberg ne sont pas triangulaires et lon ne
connait donc pas directement leur valeurs propres
Leur intrt rside dans le fait que lon peut facilement les rendre
triangulaire avec une mthode dj rencontre: la mthode de
Jacobi
Factorisation QR
Partant dune matrice de Hessenberg, il faut exactement n-1
rotations pour gnrer une matrice triangulaire:
n-1 rotations
Hessenberg Triangulaire suprieure
sous diagonale
(n-1 termes)
Cest un processus rapide puisque ncessitant O(n) oprations
arithmtiques
On obtient alors la factorisation QR de la matrice de Hessenberg
K = QR
avec K Hessenberg, Q orthogonale, R triangulaire suprieure
0 0
(n-1 termes)
Algorithme QR
Lide de base est trs simple:
Partant de K = QR on obtient R=Q
t
K puis RQ=Q
t
KQ
Autrement dit la factorisation QR de K permet de produire une
matrice semblable K, soit la matrice RQ
Lalgorithme est alors le suivant:
K
(k)
= Q
(k)
R
(k)
K
(k)
= Q
(k)
R
(k)
K
(k+1)
= R
(k)
Q
(k)
A convergence, les valeurs propres de K sont les termes
diagonaux de R

You might also like