Upload
phungcong
View
217
Download
0
Embed Size (px)
Citation preview
Cours de Calcul numér ique MATH 031
G. Bontempi,
A. da Silva Soares,
M. De Wulf
Département d'Informatique
Boulevard du Triomphe - CP212
http://www.ulb.ac.be/di
3
Compressed image. Size=29280 Normalised=0.18541
50 100 150 200 250 300
50
100
150
200
250
300
350
400
450
Compression d’ image (PCA)
» s_pca
Original uncompressed image. Size=157920 Normalised=1
50 100 150 200 250 300
50
100
150
200
250
300
350
400
450
4
PCA: Pr incipal component analysis1. Image comme une matrice A(N�n) de pixels.2. Normalisation de la matrice A� A*.3. Calcul de la matrice de corrélation C(n�n) = (A*)T A*
4. Calcul des valeurs et de la matrice V(n�n) des vecteurs propres de C.
5. Mise en ordre décroissante des valeurs propres et des vecteurs propres correspondants.
6. Sélection d’un sous-ensemble de h<n valeurs/vecteurs propres.
7. Transformation de la matrice A* dans une matrice
compressée de taille (N�h).
T
hnhn VVAA )()(
*^
*
××=
5
x1
x2
Les valeurs propres �1 et �2 mesurent la variation des données dans les directions représentées par les vecteurs propres x1 et x2
N=18, n=2
6
Valeurs propres
Un nombre (réel ou complexe) � est une valeur propred’une matrice A et un vecteur non nul x est le vecteur propre correspondant ssi
xAx λ=
Propr iété. � est une valeur propre de A ssi elle est un zéro du polynôme caractéristique pA(λ)=det(λI-A)
Si A a une taille (n�n) , le polynôme est d’ordre n et par conséquent A a n valeurs propres complexes.
7
Quotient de Raylegh
Si le vecteur propre x est connu, la valeur propre �correspondante est donnée par
2
2xAxx
xxAxx T
T
T
==λ
8
Approximation des valeurs propres• Nous aborderons l’approximation des valeurs et des
vecteurs propres d’une matrice réelleA(n�n) .• Le racines du polynôme caractéristique
pA(λ)=det(λI-A)sont calculables analytiquement seulement pour n<5.
• Les méthodes numériques pour calculer le racines de pA(λ) sont typiquement mal conditionnées.
• Donc, il est conseilléd’utiliser des méthodes itératives pour l’estimation des valeurs propres.
• Afin d’accélérer la convergence de ces méthodes, il est utile avoir une idée de leur localisation.
9
Localisation|λ| ≤ ρ(A) ≤ ||A|| pour toute norme matricielle consistante. (voir TP)
– toutes les valeurs propres sont contenues dans un disque de rayon ||A|| centréà l’origine du plan complexe.
Théorème des disques de Gershgor in. Si A est une matrice (n×n) , alors
�≠==
≤−∈=⊆n
ijjijiii
n
ii
aazzRRA,11
|}|||:{,)( ��σ
ou les ensembles Ri sont appelés disques (ligne) de Gershgorin.
10
Etant σ(A) = σ(AT) , on a aussi
�≠==
≤−∈=⊆n
jiiijiii
n
ii
aazzCCA,11
|}|||:{,)( ��σ
ou les ensembles Ci sont appelés disques (colonne) de Gershgorin. Il ensuit
Théorème. (premier théorème de Gershgor in)
����
���
���
��∈∈∀
==�� �n
ii
n
ii
CRA11
),( λσλ
11
Théorème (second théorème de Gershgor in). Soient 1≤m ≤n et
Si S1� S2=�, alors S1 contient exactement mvaleurs propres de A, chacune étant comptée avec sa multiplicité algébrique, les autres valeurs propres sont dans S2.
� �m
i
n
miii
RSRS1 1
21,
= +===
12-15 -10 -5 0 5 10 15-15
-10
-5
0
5
10
15
Re(z)
Im(z
)
Noir: norme. Rouge: disques lignes. Verte: disques colonnes
Exemple localisation
���
���
�
−−=310
121
3210
A 0.6928i} 2.6562 9.6876,{)( ±=Aσ
���������
» s_ger s
13
Méthodes numér iques• Méthodes partielles
– calcul approché des valeurs propres extrémales
– utiles dans beaucoup d’applications• réseau électrique, mécanique quantique, sismologie
• analyse des méthodes itératives
– Exemple: méthode de la puissance
• Méthodes globales– calcul approché de tout le spectre.
– elles sont basée sur une séries de transformations de la matriceA.
– Exemple: méthode QR.
• Méthodes ad hoc pour matrices symétriques.
14
Valeurs et vecteurs propres
• Certaines méthodes de calcul des valeurs propres permettent également le calcul des vecteurs propres.– méthode de la puissance
• D’autres méthodes requièrent une étape supplémentaire.– méthode QR.
15
Matr ice diagonalisableSur base de la définition de valeur propre
nixAx iii ,...,1, ==λ
on obtient
Λ=− AXX 1
[ ]����
����
�
=Λ=
n
nxxxX
λ
λλ
0
0
et,...,, 2
1
21 �
Si les vecteurs propres sont linéairement indépendants, alors X est non singulière et
et A est dite diagonalisable (condition suffisante).
La propriété est aussi nécessaire.
oùΛ=XAX
16
Autres propr iétés• Si x est un vecteur propre de A, cx avec c∈� est encore un vecteur propre.
• Si A(n�n) est réelle et symétrique, alors ses valeurs propres sont réelles et la matrice X des vecteur propres est orthogonale.
• Si A(n�n) est symétrique et définie positive alors ses valeurs propres sont positives.
• Les vecteurs propres correspondants à des valeurs propres distinctes sont linéairement indépendants.
– A est diagonalisablessi ses valeurs propres sont distinctes.
• Si λ est une valeur propre de A, alors λ-1 est une valeur propre de A-1
.
• Si x est un vecteur propre de A, alors il est aussi un vecteur propre de de A-1
.
17
Méthode de la puissanceProcédure itérative pour trouver la valeur propre dominanted’une matrice A.Soit A(n×n) une matrice diagonalisableet soit X∈�n×n la matrice de ses vecteurs propres xi, i=1,…,n. Supposons les valeurs propres ordonnées de la façon suivante
nλλλλ ≥≥> ...
321
où λ1 a multiplicitéalgébrique égale à1. Idée: convertir la relation de base Ax=�x dans une procédure itérative.
18
Méthode de la puissance: version simplifiée
Soit q(0)=[1,…,1] T la valeur approchée initiale du vecteur propre x, alors on calcule l’approximation suivante par
)1()( −= kk Aqz
L’ idée de la méthode est d’ itérer jusqu’à la convergence. Etant donné qu’un vecteur propre est défini à une constante multiplicative près, on peut normaliser z(k)
)()()( / k
m
kk zzq =
où zm(k) est le composant de z(k) ayant le plus grand module.
Par conséquence qm(k) aura module 1.
19
Soit q(k-1) le vecteur normalisé qui approche le vecteur propre dominant à l’étape k-1 de la méthode. On calcule
)1()1()( −− == kkk qAqz λ
et zm(k)/ qm
(k-1) est une approximation ν (k) de la valeur propre.
)(
)()(
)1(
)()(
)1()(
k
m
kk
k
m
k
mk
kk
zzq
qz
Aqz
=
=
=
−
−
ν approximation de la valeur propre dominante
approximation du vecteur propre dominant
20
Exemple
[ ] 24111
2044
775
1721
1
)0( ==���
���
�
−
−= λTqA
[ ] [ ]Tm
T qzAqz 74.070.01,27201927 )1()1()1()0()1( ===== ν
[ ]TAqz 1611.1518.25)1()2( ==
[ ]63.060.01,18.25 )2()2()2( === qzmν
[ ]TAqz 42.1397.1231.24)2()3( ==
[ ]55.053.01,31.24 )3()3()3( === qzmν
��
21
Méthode de la puissance: version avancée
Soit A(n×n) une matrice diagonalisableet soit X∈�n la matrice de ses vecteurs propres xi, i=1,…,n. Supposons les valeurs propres ordonnées de la façon suivante
où λ1 a multiplicitéalgébrique égale à1.
Etant donné un vecteur initial q(0) ∈�n de norme euclidienne égale à1, la version complète de la méthode de la puissance est
( ) )()()(
2
)()()(
)1()(
/kTkk
kkk
kk
Aqq
zzqAqz
=== −
ν
nλλλλ ≥≥> ...
321
22
Analyse de la méthode de la puissance
On peut montrer que2
)0(
)0()(
qAqAq k
kk =
Etant A diagonalisableet ses vecteurs propres xi linéairement indépendantes, on peut écrire �
==
n
iiixq
1
)0( α
2,1~ )(
112 11
111
)0(
2111
1 1
)0(
==���
����
����
���+=⇔
⇔+===
�
�� �
=
== =
kqxxqA
xxxxAqA
kkn
ii
k
iikk
n
ii
k
ii
kn
i
n
ii
k
iii
k
i
k
λαλλ
ααλα
λαλαλαα
Le vecteur q(k) s’aligne le long de la direction du vecteur propre x1 quand k�∞
i
k
ii
k
iii xxAxAx λλ =⇔=Notons que
23
Analyse de la méthode de la puissance
Théorème. Soit A(n×n) une matrice diagonalisableavec les valeurs propres ordonnées de la façon suivante
1~lim xq
kk=
∞→
( ) ( ) ( ) ( ) )()()(2
2
)(
)()(
~~~
kkTk
k
kTk
qAqq
qAq ν== 1
)(lim λν =∞→
k
k
En supposant α1≠0, on peut montrer que
nλλλλ ≥≥> ...
321
Grâce au quotient de Raylegh
24
Convergence de la méthode de la puissance
• La convergence est d’autant plus rapide que le quotient
|�2 | / | �1| est petit.
• Si |�2|≈| �1| la méthode est très lente. Elle n’est alors typiquement utilisée que pour avoir une estimation initiale.
• Si A est réelle et symétrique, la convergence de la suite νk
vers �1 est quadratique par rapport a |�2/ �1| .
• La méthode ne converge pas si les deux valeurs propres dominantes �1 et �2 sont complexes conjuguées.
25
Méthode de la puissance inverseSoit A(n×n) une matrice diagonalisableet soit X∈�n×n la matrice de ses vecteurs propres xi, i=1,…,n.
Soit (Mµ)-1=(A-µI)-1. Etant donnéque
),...,(diag)(1
11 µµµIXµIAXXMXnµ−−=−Λ=−= −− λλ
la matrice Mµ est aussi diagonalisableet ses valeurs propres sont ξi=(λi-µ). De plus, Mµ et A ont les mêmes vecteurs propres.
Donc les valeurs propres de (Mµ)-1 sont ξi=(λi-µ)-1.
La quantité µ est appelée shift.
Supposons qu’ il existe un entier m tel queminiµµ
im≠=∀−<− et,...,1λλ
26
Si λm est la valeur propre la plus proche de µ et λm a multiplicité1, alors ξm a multiplicité 1 et est la valeur propre de Mµ
-1 de plus grand module.
µλξ −=m
m1
Trouver la valeurs propres dominante de (Mµ)-1 permet le calcul de la valeur propre de A la plus proche a µ.
Sur la base de la propriétésus-mentionnée, la méthode de la puissance est capable d’estimer ξm et par conséquence λm.
Si µ=0, trouver la valeur propre dominante de (M0)-1 permet le calcul de la valeur propre la plus petite de A.
27
Méthode de la puissance inverse
( ) )()()(
2
)()()(
)1()(
/)(
kTkk
kkk
kk
Aqq
zzqqzµIA
==
=− −
σ
On doit résoudre à chaque itération k, un système linéaire de matrice Mµ.
En réalité, on calcule une seule fois la factorisation LU de Mµ et àchaque étape on n’a qu’à résoudre 2 systèmes triangulaires.
Notons que q(k) est une approximation du vecteur propre de Mµ-1qui est
associéà la valeur propre ξm. Mais, ayant Mµ-1 , Mµ et A les mêmes
vecteurs propres, on peut appliquer le quotient de Raylegh directement à la matrice A pour obtenir une approximation de λm.
approximation de la valeur propre λm
28
Propr iétés– La méthode de la puissance inverse est plus coûteuse que la
méthode directe.
– Elle peut converger vers n’ importe quelle valeur propre de A.
– Une fois µ fixé, la méthode de la puissance inverse converge vers la valeur propre de A la plus proche a µ.
– La convergence est d’autant plus rapide que λm est proche de µ.
– Si µ=0 la méthode de la puissance inverse converge vers la plus petite valeur propre de A.
– La méthode peut être utile pour raffiner une solution approchée et pour calculer le vecteur propre associé.
29
Code Quar teroni
• Méthode directe– f unct i on [ nu1, x1, ni t er , er r ] =power m( A, z0, t ol , nmax)
• où nu1 et x1 contient l’approximation de la valeur propre et du vecteur propre.
• Méthode inverse– f unct i on
[ si gma, x, ni t er , er r ] =i nvpower ( A, z0, mu, t ol , nmax)
30
Exemple ��
2 4 6 8 10 12 14 160
5
10
15
20
25
Iterations
Ext
rem
es e
igen
valu
es
� s_power
[ ] 824111
2044
775
1721
31
)0( ===���
���
�
−
−= λλqA
31
Conditionnement du problèmeSoit A une matrice diagonalisable et X la matrice des vecteurs propres. En ce qui concerne l’analyse de stabilité a priori, on a le théorème suivant:
Théorème Bauer-Fike. Si µ est une valeur propre de la matrice A+E, alors
ppAEµ κλ
σλ≤−
∈ )(min
ou κp(X)=||X||p||X-1||p est le conditionnement du problème aux valeurs propresde la matrice A.
Si X est orthogonale, le problème est bien conditionné.