4.6 Berechnung von Eigenwerten

Transcription

4.6 Berechnung von Eigenwerten
4.6 Berechnung von Eigenwerten
4.6 Berechnung von Eigenwerten
In diesem Abschnitt befassen wir uns mit dem Eigenwertproblem: zu gegebener Matrix
A ∈ Rn×n sind die Eigenwerte (und gegebenenfalls Eigenvektoren) gesucht. Wir erinnern
an Definition 4.9 und formulieren
Satz 4.70 (Eigenwert). Es sei A ∈ Rn×n . Dann gilt:
• Die Matrix A hat genau n Eigenwerte, ihrer Vielfachheit nach gezählt.
• Die Eigenwerte sind Nullstellen des charakteristischen Polynoms:
det(A − λI) = 0.
• Reelle Matrizen können komplexe Eigenwerte haben, komplexe Eigenwerte treten
stets als konjugierte Paare λ, λ̄ auf.
• Eigenvektoren zu unterschiedlichen Eigenwerten sind linear unabhängig.
• Falls n linear unabhängige Eigenvektoren existieren, so existiert eine reguläre Matrix
S ∈ Rn×n , so dass S −1 AS = D eine Diagonalmatrix ist. Die Spaltenvektoren von S
sind die Eigenvektoren und die Diagonaleinträge von D die Eigenwerte.
• Symmetrische Matrizen A = AT haben nur reelle Eigenwerte. Es existiert eine Orthonormalbasis von Eigenvektoren und eine Diagonalisierung QT AQ = D mit einer
orthogonalen Matrix.
• Bei Dreiecksmatrizen stehen die Eigenwerte auf der Diagonalen.
Zu einem Eigenwert λ sind die Eigenvektoren als Lösung des homogenen linearen Gleichungssystems bestimmt:
(A − λI)w = 0.
Umgekehrt gilt:
Definition 4.71 (Rayleigh-Quotient). Sei A ∈ Rn×n sowie w ∈ Rn ein Eigenvektor.
Dann ist durch den Rayleigh-Quotienten der zugehörige Eigenwert gegeben:
λ=
(Aw, w)2
.
kwk22
Mit Hilfe dieser Definition folgt eine einfache Schranke für die Eigenwerte:
kAk2 kwk22
(Aw, w)2
≤
= kAk2 .
2
kwk2
kwk22
w6=0
|λ| ≤ sup
Wir haben in Abschnitt 4.1 bereits gesehen, dass diese Schranke für die Beträge der Eigenwerte in jeder Matrixnorm mit verträglicher Vektornorm gilt.
169
4 Numerische Lineare Algebra
4.6.1 Konditionierung der Eigenwertaufgabe
Bevor wir auf konkrete Verfahren zur Eigenwertberechnung eingehen, analysieren wir die
Kondition der Aufgabe, d.h. die Abhängigkeit der Eigenwerte von der Störung der Matrix.
Hierfür benötigen wir zunächst einen Hilfsatz:
Hilfsatz 4.72. Es seien A, B ∈ Rn×n beliebige Matrizen. Dann gilt für jeden Eigenwert
λ von A, der nicht zugleich Eigenwert von B für jede natürliche Matrizennorm die Abschätzung:
k(λI − B)−1 (A − B)k ≥ 1.
Beweis: Es sei w 6= 0 ein Eigenvektor zu λ. Dann gilt:
(A − B)w = (λI − B)w.
Wenn λ kein Eigenwert von B ist, so ist die Matrix (λI − B) regulär, d.h. es folgt:
(λI − B)−1 (A − B)w = w.
Und schließlich durch Normbilden:
1=
k(λI − B)−1 (A − B)wk
k(λI − B)−1 (A − B)xk
≤ sup
= k(λI − B)−1 (A − B)k.
kwk
kxk
x
Auf dieser Basis erhalten wir ein einfaches Kriterium zur Eingrenzung der Eigenwerte einer
Matrix:
Satz 4.73 (Gerschgorin-Kreise). Es sei A ∈ Rn×n . Alle Eigenwerte λ von A liegen in der
Vereinigung der Gerschgorin-Kreise:
Ki = {z ∈ C : |z − aii | ≤
n
X
|aik |},
i = 1, . . . , n.
k=1,k6=i
′ = {1, . . . , n} \ I
Angenommen zu den Indexmengen Im = {i1 , . . . , im } und Im
m seien
S
S
′
die Vereinigungen Um = i∈Im Ki und Um = i∈Im
′ Ki disjunkt. Dann liegen genau m
Eigenwerte (ihrer algebraischen Vielfachheit nach gezählt) in Um und n − m Eigenwerte
′ .
in Um
Beweis: (i) Es sei D ∈ Rn×n die Diagonalmatrix D = diag(aii ). Weiter sei λ ein Eigenwert
von A mit λ 6= aii . (In diesem Fall wäre die Aussage des Satzes trivial erfüllt). Hilfsatz 4.72
besagt bei Wahl der maximalen Zeilensummennorm:
1 ≤ k(λI−D)−1 (A−D)k∞ = max
i
170

n
 X

j=1,j6=i


|(λ − aii )−1 aij |



= max |λ − aii |−1
i

n
X
j=1,j6=i


|aij | .

4.6 Berechnung von Eigenwerten
D.h. es existiert zu jedem λ ein Index i ∈ {1, . . . , n} so dass gilt:
|λ − aii | ≤
n
X
|aij |.
j=1,j6=i
′ Indexmengen mit oben genannter Eigenschaft gegeben. Wir
(ii) Es seien durch Im und Im
definieren die Matrix
As := D + s(A − D),
mit A0 = D und A1 = A. Entsprechend definieren wir die Vereinigungen:
Um,s :=
[
Ki (As ),
′
:=
Um,s
i∈Im
[
Ki (As ),
Ki (As ) = {z ∈ C, |z − aii | ≤ s
X
|aij |}.
j6=i
′
i∈Im
′
Aufgrund der stetigen Abhängigkeit der Kreisradien von s gilt Um,s ∩ Um,s
= ∅ für s ∈
[0, 1]. Im Fall s = 0 gilt A0 = D und jeder Eigenwert von A0 liegt im Mittelpunkt (also
λi = aii ) des trivialen Kreises mit Radius Null. Das Ergebnis folgt nun durch die stetige
Abhängigkeit der Eigenwerte von s.
Wir betrachten hierzu ein Beispiel:
Beispiel 4.74 (Gerschgorin-Kreise). Wir betrachten die Matrix


2
0.1 −0.5


3
0.5  ,
A =  0.2
−0.4 0.1
5
mit den Eigenwerten spr(A) ≈ {1.91, 3.01, 5.08}. Eine erste Schranke liefern verschiedene
mit Vektornormen verträgliche Matrixnormen von A:
kAk∞ = 5.5,
kAk1 = 6,
kAk2 ≈ 5.1.
Die Gerschgorin-Kreise von A sind:
K1 = {z ∈ C, |z −2| ≤ 0.6},
K2 = {z ∈ C, |z −3| ≤ 0.7},
K3 = {z ∈ C, |z −5| ≤ 0.5}.
Diese Abschätzung kann verfeinert werden, da A und AT die gleichen Eigenwerte besitzen.
Die Radien der Gerschgorin-Kreise können auch als Summe der Spaltenbeträge berechnet
werden. Zusammen ergibt sich:
K1 = {z ∈ C, |z −2| ≤ 0.6},
K2 = {z ∈ C, |z −3| ≤ 0.2},
K3 = {z ∈ C, |z −5| ≤ 0.5}.
Alle drei Kreise sind disjunkt.
Wir können nun den allgemeinen Stabilitätssatz für das Eigenwertproblem beweisen:
171
4 Numerische Lineare Algebra
Satz 4.75 (Stabilität des Eigenwertproblems). Es sei A ∈ Rn×n eine Matrix mit n linear
unabhängigen Eigenvektoren w1 , . . . , wn . Durch à = A + δA sei eine beliebig gestörte
Matrix gegeben. Dann existiert zu jedem Eigenwert λ(Ã) von à = A + δA ein Eigenwert
λ(A) von A so dass mit der Matrix W := (w1 , . . . , wn ) gilt:
|λ(A) − λ(Ã)| ≤ cond2 (W )kδAk.
Beweis: Es gilt für i = 1, . . . , n die Beziehung Awi = λi (A)wi , oder in Matrixschreibweise
AW = W diag(λi (A)), also
W −1 AW = diag(λi (A)).
Wir betrachten nun einen Eigenwert λ̃ = λ(Ã). Falls λ̃ auch Eigenwert von A ist, so gilt
die Behauptung. Also sei λ̃ nun kein Eigenwert von A. Dann folgt:
k(λ̃I − A)−1 k2 = kW −1 [λ̃I − diag(λ̃i (A))]−1 W k2 ≤ cond2 (W )k[λ̃I − diag(λi (A))]−1 k2 .
Für die (symmetrische) Diagonalmatrix λ̃I − diag(λi (A)) gilt
k[λ̃I − diag(λi (A))]−1 k2 = max |λ̃ − λi (A)|−1 .
i=1,...,n
Mit Hilfsatz 4.72 folgt das gewünschte Ergebnis:
1 ≤ k[λ̃I − A)−1 δAk2 ≤ k[λ̃I − A)−1 k kδAk2 ≤ cond2 (W ) max |λ̃ − λi (A)|−1
2 kδAk2 .
i=1,...,n
Die Konditionierung des Eigenwertproblems einer Matrix A hängt von der Konditionszahl
der Matrix der Eigenvektoren ab. Für symmetrische (hermitesche) Matrizen existiert eine
Orthonormalbasis von Eigenvektoren mit cond2 (W ) = 1. Für solche Matrizen ist das
Eigenwertproblem gut konditioniert. Für allgemeine Matrizen kann das Eigenwertproblem
beliebig schlecht konditioniert sein.
4.6.2 Direkte Methode zur Eigenwertberechnung
Die Eigenwerte einer Matrix A können prinzipiell als Nullstellen des charakteristischen
Polynoms χA (z) = det(zI − A) berechnet werden. Die Berechnung der Nullstellen kann
zum Beispiel mit dem Newton-Verfahren geschehen, Startwerte können mit Hilfe der
Gerschgorin-Kreise bestimmt werden.
In Kapitel 2 haben die Berechnung von Nullstellen eines Polynoms jedoch als ein sehr
schlecht konditioniertes Problem kennengelernt. Wir betrachten hierzu ein Beispiel.
Beispiel 4.76 (Direkte Berechnung von Eigenwerten). Es sei A ∈ R5×5 eine Matrix mit
den Eigenwerten λi = 1, i = 1, . . . , 5. Dann gilt:
χA (z) =
5
Y
i=1
172
(z − i) = z 5 − 15z 4 + 85x3 − 225x2 + 274z − 120.
4.6 Berechnung von Eigenwerten
Der Koeffizient −55 vor z 9 sei mit einem relativen Fehler von 0.1% gestört:
χ̃A (z) = z 5 − 0.999 · 15z 4 + 85x3 − 225x2 + 274z − 120.
Dieses gestörte Polynom hat die Nullstellen (d.h. Eigenwerte):
λ1 ≈ 0.999,
λ2 ≈ 2.05,
λ3 ≈ 2.76,
λ4/5 ≈ 4.59 ± 0.430i.
Die Eigenwerte können also nur mit einem (ab λ3 ) wesentlichen Fehler bestimmt werden.
Es gilt etwa:
|4.59 + 0.43i − 5|
≈ 0.1,
5
d.h. der Fehler in den Eigenwerten beträgt 10%, eine Fehlerverstärkung von 100.
Das Aufstellen des charakteristischen Polynoms erfordert eine Vielzahl schlecht konditionierter Additionen sowie Multiplikationen. Für allgemeine Matrizen verbietet sich dieses
direkte Verfahren. Lediglich für spezielle Matrizen wie Tridiagonalsysteme lassen die Eigenwerte bestimmen, ohne das zunächst die Koeffizienten des charakteristischen Polynoms
explizit berechnet werden müssen.
4.6.3 Iterative Verfahren zur Eigenwertberechnung
Das vorangegangene Beispiel widerspricht scheinbar zunächst der (auf jeden bei hermiteschen Matrizen) guten Konditionierung der Eigenwertsuche. Wir leiten nun stabile numerische Verfahren her, die die Eigenwerte nicht mehr direkt berechnen, sondern sie iterativ
approximieren.
Zur Herleitung eines ersten einfachen Iterationsverfahren machen wir die folgende Beobachtung: angenommen, zu gegebener Matrix A ∈ Rn×n existiere eine Basis aus Eigenvektoren {w1 , . . . , wn }, d.h. die Matrix sei diagonalisierbar. Weiter gelte |λn | > |λn−1 | ≥ · · · ≥
|λ1 | > 0. Dann sei x ∈ Rn in Basisdarstellung:
x(0) =
n
X
αj wj .
j=1
Wir nehmen an, dass αn 6= 0, dass also die Komponente zum Eigenvektor des betragsmäßig
größten Eigenwertes nicht trivial ist. Wir definieren die Iteration
x(i+1) =
Ax(i)
.
kAx(i) k
Dann gilt
(i−1)
(i+1)
x
=
Ax
A kAx
(i−1) k
Ax(i−1)
kA kAx(i−1) k k
=
Ai+1 x(0)
A2 x(i−1) kAx(i−1) k
=
·
·
·
=
.
kA2 x(i−1) k kAx(i−1) k
kAi+1 x(0) k
(4.10)
173
4 Numerische Lineare Algebra
Weiter gilt mit der Basisdarstellung von x(0) :
Ai x(0) =
n
X
j=1

αj λij wj = αn λin wn +
n−1
X
j=1

αj λij 
.
αn λin
(4.11)
Es gilt |λj /λn | < 1 für j < n, daher folgt:
i (0)
Ax
=
n
X
αj λij wj = αn λin (wn + o(1)) ,
j=1
Hieraus folgt durch Normierung:
Ai x(0)
=
kAi x(0) k
αn λin
|αn λin |
!
wn
+ o(1) → span{wn }
kwn k
(i → ∞).
Die Iteration läuft in den Raum, der durch wn aufgespannt wird. Für einen Vektor w, der
Vielfaches eines Eigenvektors ist w = swn gilt:
Aw = sAwn = sλn wn = λn w.
Diese vektorwertige Gleichung gilt in jeder Komponente, kann daher nach dem Eigenwert
aufgelöst werden:
[Aw]k
λn =
.
wk
Wir fassen zusammen:
Satz 4.77 (Potenzmethode nach von Mises). Es sei A ∈ Rn×n eine Matrix n linear unabhängigen Eigenvektoren {w1 , . . . , wn }. Der betragsmäßig größte Eigenwert sei separiert
|λn | > |λn−1 | ≥ · · · ≥ |λ1 |. Es sei x(0) ∈ Rn ein Startwert mit nichttrivialer Komponente
in Bezug auf wn . Für einen beliebigen Index k ∈ {1, . . . , n} konvergiert die Iteration
x̃(i) = Ax(i−1) ,
x(i) :=
(i)
x̃(i)
,
kx̃(i) k
λ(i) :=
x̃k
(i−1)
xk
,
gegen den betragsmäßig größten Eigenwert:
|λ(i+1) − λn | = O
!
λn−1 i
λ ,
i → ∞.
n
Beweis: Wir knüpfen an der Vorbereitung des Beweises (4.10) an. Es gilt:
(i)
λ(i) =
174
x̃k
(i−1)
xk
=
[Ax(i−1) ]k
(i−1)
xk
=
[Ai x(0) ]k
.
[Ai−1 x(0) ]k
4.6 Berechnung von Eigenwerten
Weiter, mit (4.11) gilt:
λ(i) =
an λin
[wn ]k +
[wn ]k +
an λi−1
n
Pn−1 αj λij
j=1 αn λin [wj ]k
Pn−1
j=1
i−1
αj λj
αn λi−1
n
[wj ]k
= λn
[wn ]k +
[wn ]k +
λn−1 i
[wn ]k + ααn−1
+
o(1)
λn [wn ]k
n
= λn
= λn
λn−1 i−1
[wn ]k + ααn−1
+
o(1)
[w
]
n
k
λn
n
Pn−1 αj λij
j=1 αn λin [wj ]k
Pn−1 αk λi−1
j
j=1 αn i−1 [wj ]k
1+O
Die letzte Abschätzung nutzt die Reihenentwicklung:
λn
!!
λn−1 i−1
.
λ n
1 + xn+1
= 1 + O(|x|n ).
1 + xn
Die Potenzmethode ist eine sehr einfache und numerisch stabile Iteration. Sie kann allerdings nur den betragsmäßig größten Eigenwert ermitteln. Der Konvergenzbeweis kann
verallgemeinert werden auf Matrizen, deren größter Eigenwert mehrfach vorkommt. Konvergenz gilt jedoch nur dann, wenn aus |λn | = |λi | auch λn = λi folgt. Es darf also nicht
zwei verschiedene Eigenwerte geben, die beide den gleichen, größten Betrag annehmen.
Dies schließt zum Beispiel den Fall zweier komplex konjugierter Eigenwerten λ und λ̄ als
beträgsgrößte aus.
Bemerkung 4.78 (Potenzmethode bei symmetrischen Matrizen). Die Potenzmethode
kann im Fall symmetrischer Matrizen durch Verwenden des Rayleigh-Quotienten verbessert werden. Die Iteration
λ(i) =
(Ax(i−1) , x(i−1) )2
= (x̃(i) , x(i−1) )2 ,
(x(i−1) , x(i−1) )2
liefert die Fehlerabschätzung:
λ(i) = λn + O
!
λn−1 2i
.
λ n
Beispiel 4.79 (Potenzmethode nach von Mises). Es sei:


2 1 2


A = −1 2 1 ,
1 2 4
mit den Eigenwerten:
λ1 ≈ 0.80131,
λ2 = 2.2865,
λ3 = 4.9122.
175
4 Numerische Lineare Algebra
Wir starten die Potenzmethode mit x(0) = (1, 1, 1)T , und wählen zur Normierung die
Maximumsnorm. Weiter wählen wir als Index k = 1:
i=1:
i=2:
i=3:
i=4:
i=5:
i=6:
176
x̃(1) = Ax(0)
x̃(2) = Ax(1)
x̃(3) = Ax(2)
(4)
x̃
(3)
= Ax
x̃(5) = Ax(4)
(6)
x̃
(5)
= Ax
 
5
 
= 2 ,
7
x(1) =










3.71


= 0.857 ,
5.29
3.57


= 0.124 ,
1
3.54


= 0.538 ,
4.96
3.54


= 0.502 ,
4.93
3.54


= 0.486 ,
4.92
x(2) =
x(3) =
(4)
x
=
x(5) =
(6)
x
=
x̃(1)
kx̃(1) k∞
x̃(2)
kx̃(2) k∞
x̃(3)
kx̃(3) k∞
x̃(4)
kx̃(4) k∞
x̃(5)
kx̃(5) k∞
x̃(6)
kx̃(6) k∞


λ(1) =
x̃1


λ(2) =
x̃1


λ(3) =
x̃1


λ
=
x̃1


λ(5) =
x̃1
0.714


≈ 0.286 ,
1
0.702


≈ 0.162 ,
1
0.710


≈ 0.124 ,
1
0.715


≈ 0.108 ,
1
0.717


≈ 0.102 ,
1


0.719


≈ 0.0988 ,
1
(1)
(0)
x1
≈ 5,
(2)
(1)
x1
≈ 5.19,
(3)
(2)
x1
≈ 5.077,
(4)
(4)
(3)
x1
≈ 4.999,
(5)
(4)
x1
≈ 4.950,
(6)
λ
(6)
=
x̃1
(5)
x1
≈ 4.930.