10 Numerische lineare Algebra: Eigenwertprobleme

Transcription

10 Numerische lineare Algebra: Eigenwertprobleme
261
Numerik I. Version: 05.07.07
10
Numerische lineare Algebra: Eigenwertprobleme
Wir sind schon auf verschiedene Eigenwertprobleme getroffen. Hier ist eine kurze Liste:
• Bestimmung der Nullstellen der Orthopolynome (Kapitel 5.11).
• Bestimmung der Konditionszahl mittels des Spektralradius (Kapitel 3.8).
• Gleichgewichtsprobleme in der Statik. Betrachten wir noch einmal den Stab aus Kapitel
2.1. Nehmen wir an, dass eine horizontale Druckkraft d auf die beiden Enden des Stabs
wirkt, die den Stab zu zermalmen versucht. Der Effekt der horizontalen Druckkraft auf
einen gekrummten Stab ist eine vertikale Kraft, die die Krümmung vergrößern will. Diese
Kraft ist proportional zur Druckkraft d und zum Abstand des Stabes von der geraden
Linie; im Massenpunkt i wird es cdfi sein (c ist eine Konstante). Die Elastizitätskraft aus
der Krümmung im Massenpunkt i, (Af)i , wird dieser vertikalen Kraft entgegenwirken:
Af = −cdf
In diesem Fall vernachlässigen wir die Schwerkraft. Die Lösung f = 0 ist eine instabile
Lösung des physikalischen Problems. Die stabile Lösung ist durch ein Eigenvektorproblem gegeben.
• Lösung eines linearen Differentialgleichungssystems: Die quadratische Matrix A und der
Anfangsvektor sind vorgegeben. Gesucht ist der (zeitabhängige) Vektor x = x(t), der
die Differentialgleichung
d
x(t) = Ax(t)
dt
löst. In Analogie zum eindimensionalen Fall,
d
x(t) = ax(t)
dt
(10.1)
x(t) = eat x(0),
=⇒
kann man naiv die Lösung in der Form
x(t) = eAt x(0)
(10.2)
ansetzen. Falls die formalen Ableitungsregeln gelten würden, wäre es einfach zu überprüfen, dass die Vektorfunktion (10.2) die Gleichung (10.1) löst. Aber was bedeutet
Exponentialfunktion einer Matrix in (10.2)? Wie kann man einfach
a b
e c d
262
Numerik I. Version: 05.07.07
definieren? Der elementweise Versuch ist falsch:
a b
e c d
6=
ea
ec
eb
ed
(!!!)
(in ähnlicher Weise, wie die elementweise Multiplikation von Matrizen sinnlos ist, weil sie
die erwartete Kompositionseigenschaft nicht besitzt), z.B. wird die erwartete Eigenschaft
eA eA = e2A
nicht erfüllt sein.
Es gibt zwei korrekte (äquivalente) Definitionen. Entweder definiert man eA durch die
Taylor-Entwicklung
eA := I + A +
1 2 1 3
A + A + ...
2!
3!
(10.3)
oder man diagonalisiert A in der Form
A = V DV −1 ,


λ1



λ2
D=
..
.
λn




und dann definiert man
eA := V eD V −1 ,


eλ1

eD := 

eλ2

..
.
eλn




(10.4)
(d.h. die Exponentialfunktion diagonaler Matrizen kann elementweise gebildet werden).
Dieses letzte Beispiel ist besonders wichtig. In ähnlicher Weise kann man andere Funktionen
f (A) einer Matrix A definieren, falls die Funktion f auf dem Spektrum (= Menge der
Eigenwerte) definiert ist:
f (A) := V f (D)V
−1
,
f (D) :=






f (λ2 )
Der Nachteil ist, dass nicht alle Matrizen diagonalisierbar sind.
Aufgabe 10.1

f (λ1 )
..
.
f (λn )





i) Beweisen Sie, dass die Reihe in (10.3) in Norm konvergent ist, somit
ist eA durch (10.3) wohldefiniert.
263
Numerik I. Version: 05.07.07
ii) Beweisen Sie, dass mit dieser Definition etA esA = e(t+s)A für alle t, s ∈ R gilt.
iii) Beweisen Sie, dass
eA eB = eA+B
(10.5)
gilt, wenn AB = BA (A und B kommutieren), aber nicht im Allgemeinen.
iv) Finden Sie ein Gegenbeispiel, das zeigt, dass (10.5) nicht immer gilt.
Aufgabe 10.2 Sei A diagonalisierbar. Beweisen Sie, dass die zwei Definitionen (10.3) und
(10.4) für die Exponentialfunktion dieser Matrix äquivalent sind.
Der Nachteil der ersten Definition (10.3) ist, dass man eA durch einen Limesübergang
bestimmen muss. Außerdem ist diese Definition für unendlich dimensionale Matrizen (so genannte lineare Operatoren in unendlich dimensionalen Räumen) mit kAk = ∞ nicht verwend-
bar. Der Nachteil der zweiten Definition (10.4) ist, dass man die Matrix zuerst diagonalisieren
muss, und nicht alle Matrizen diagonalisierbar sind. Der Ausweg ist die Tatsache, dass jede
Matrix eine Jordansche Normalform besitzt: A = V JV −1 ,
J=

J1




J2
..


.
Jk


,

Ji =







λ
1
λ
1
..
.







1
..
.
λ
λ ist ein Eigenwert von A
λ
(wobei die verschiedenen Jordan-Blöcke, Ji , nicht unbedingt verschiedene Eigenwerte enthalten
müssen), und wir definieren
eA := V eJ V −1
mit
J
e :=






eJ1
eJ2
..
.
eJk


,

Ji
λ
e =e

1





1
1!
1
1
2!
1
1!
..
.
1
3!
1
2!
..
.
..
.
Aufgabe 10.3 Beweisen Sie, dass mit dieser Definition
eαA eβA = e(α+β)A
für jede quadratische Matrix A und Konstanten α, β.
Der folgende Satz wurde (hoffentlich) in lineare Algebra bewiesen.
1
4!
1
3!
..
.
..
.
...



.
.. 
.

1
4!
..
.
264
Numerik I. Version: 05.07.07
Satz 10.4 Sei A eine n × n Matrix. Das lineare Differentialgleichungssystem
d
x(t) = Ax(t)
dt
mit vorgegebene Startwert x(0) ist eindeutig lösbar und die Formel
x(t) = eAt x(0)
liefert die Lösung mit der obrigen Definition der Matrixexponential.
10.1
Theoretische Grundlagen
10.1.1
Basiswechsel (Wiederholung)
Die Matrixmultiplikation kann als eine lineare Abbildung von Rn nach Rn betrachtet werden:
x → Ax
Aber die Matrix A kann nur auf eine n-Tupel von Zahlen wirken nicht direkt auf einen abstrakten Vektor x:


x1
x 
A 2
..
.
Sie sollten an x als ein bestimmtes Element des Vektorraums Rn ohne Koordinatisierung
denken. Dies ist eine schwierige Abstraktion, weil die Elemente von Rn ganz natürlich durch
die Koordinatendarstellung
x = x1 e1 + x2 e2 + . . .
(10.6)
gegeben sind. Aber beachten Sie, dass die Definitionen der grundsätzlichen Operationen in
einem Vektorraum (Addition, Skalarmultikation usw.) keine Koordinatendarstellung benutzen. Wenn Sie auch an Rn als einen abstrakten Vektorraum denken, dann sehen Sie, dass die
Koordinatendarstellung willkürlich ist: sie hängt von der Wahl der Basis ab.
Noch schlimmer (oder besser...): wenn man lineare Algebra für einen Vektorrau unterschiedlich von Rn , Cn , verwendet, muss man zuerst die Elemente dieses Vektorraums in die
Sprache der n-Folgen von Zahlen übersetzen. Manchmal gibt es keine “natürliche” Basis und
man muss mit der Festlegung einer Basis beginnen. Sobald eine Basis gegeben ist, kann man
jedes Element des abstrakten Vektorraums als eine n-Folge von Zahlen (Elemente des Rn oder
Cn ) darstellen, und wir sind in das Reich der (üblichen) Vektoren und Matrizen zurückgekommen.
265
Numerik I. Version: 05.07.07
Wenn man die Basis wechselt, z.B. von der Standardbasis auf eine andere Basis v1 , v2 , . . .,
dann werden sich die Koordinaten desselben Vektors x ändern:
x = y1 v1 + y2 v2 + . . .
Der Vektor x bleibt derselbe, aber seine Darstellung, d.h. die n-Folgen der darstellenden Zahlen
(x1 , . . . , xn ), (y1 , . . . , yn ), sind ganz anders.
Wie wirkt die Matrix auf den Vektor x, wenn dieser Vektor durch die Zahlen (y1 , y2 , . . .)
dargestellt ist? Die “ursprünglichen” Koordinaten (x1 , x2 , . . .) sind nicht erlaubt gesehen zu
werden.




y10
y1
 0
 
A  y2  =  y2 
..
..
.
.
berechnen, aber diese neuen Koordinaten werden nicht den ursprünglichen Bildvektor Ax
wiedergeben (weder in der Basis e, noch in der Basis v). Man muss die Matrix A verändern,
so dass die Matrixmultiplikation angewandt auf die neuen Koordinaten des Vektors x, die
neuen Koordinaten des Bildvektors Ax ergibt. Wir fassen diese Bemerkungen zusammen.
Satz 10.5 Sei A : Rn → Rn , x → A(x) eine lineare Abbildung, die in der Standardbasis
durch die Multiplikation mit einer Matrix A


x1
 x2 

 . 
x → A(x) := A 
 .. 
xn
gegeben ist. Dieselbe Abbildung wird in der Basis v1 , v2 , . . . , vn durch die Matrix
V −1 AV
gegeben werden, wobei
V := [v1 |v2 | . . . |vn ]
die Matrix mit Spalten v1 , v2 , . . . , vn ist. Hier sind diese Basisvektoren in der Standardbasis
dargestellt. Dies bedeutet, dass die Koordinaten des Bildes A(x) in der neuen Basis durch die
Formel


y1


 y2 

V −1 AV 
 .. 
 . 
yn
gegeben sind. Hier sind y1 , y2 , . . . , yn die Koordinaten des Vektors x in der Basis v1 , v2 , . . . , vn :
x = y1 v1 + y2 v2 + . . . + yn vn .
266
Numerik I. Version: 05.07.07
Diese Idee ist absolut fundamental. Wenn Sie etwa Zweifel haben, ob Sie sie perfekt
verstanden haben und verwenden können, wiederholen Sie bitte diesen Stoff aus der linearen
Algebra!
10.1.2
Diagonalisierung (Wiederholung)
Definition 10.6 Sei A quadratisch. Der (möglicherweise komplexe) Vektor v 6= 0 und die
(möglicherweise komplexe) Zahl λ heißen Eigenvektor und Eigenwert [eigenvektor, eigenvalue] von A, falls
Av = λv
Die Menge der Eigenwerten heißt das Spektrum der Matrix A und wird durch σ(A) ⊂ C
bezeichnet.
Bemerkung 10.7
• λ ist ein Eigenvektor genau dann, wenn Ker(A−λI) nichttrivial ist,
d.h., Ker(A − λI) 6= {0}.
• Der Nullvektor ist kein Eigenvektor, aber λ = 0 kann ein Eigenwert sein (falls Ker(A)
nichttrivial ist, d.h. Ker(A) 6= {0}).
• Der Eigenvektor und Eigenwert gehören zusammen. Der Eigenwert zugehörig zu einem
Eigenvektor ist eindeutig. Der Eigenvektor v zugehörig zu einem Eigenwert ist nicht
eindeutig aus zweien Gründe. Der triviale Grund ist, dass cv mit einer beliebigen Konstante c 6= 0 auch ein Eigenvektor ist (deshalb wäre es besser, von Eigenrichtungen zu
sprechen). Der nichttriviale Grund ist, dass die Dimension von Ker(A−λI) auch größer
als 1 sein kann. In diesem Fall spannen die Eigenvektoren zugehörig zum Eigenwert λ
einen mehrdimensionalen Unterraum auf.
• Der Eigenvektor und Eigenwert können komplex sein, auch wenn A nur reelle Elemente
enthält.
Definition 10.8 Die quadratische n × n Matrix A heißt diagonalisierbar [diagonalizable],
falls eine diagonale Matrix D und eine reguläre Matrix V existieren mit
A = V DV −1 .
WICHTIGE BEMERKUNG: Die Diagonalisierung ist eine Wende der Ansicht. Eine
beliebige Matrix A definiert eine lineare Abbildung


x1
 x2 


wobei x = x1 e1 + x2 e2 + . . . + xn en
x → A(x) := A  ..  ,
 . 
xn
267
Numerik I. Version: 05.07.07
in der Standardbasis dargestellt ist. Die Basis ist “schön”, aber die Matrix kann kompliziert
sein. Die Grundidee der Diagonalisierung ist, dass man dieselbe lineare Abbildung durch
eine andere, viel “schönere” Matrix, V −1 AV = D darstellen (z.B. diagonale Matrix) kann,
falls man die Basis entsprechend wechselt. Die Basis ist “komplizierter”, aber die Matrix ist
“schöner”.
Definition 10.9 Zwei quadratische Matrizen, A, B, heißen ähnlich [similar], falls es eine
reguläre Matrix T gibt, so dass
B = T AT −1 .
Lemma 10.10 Ähnliche Matrizen besitzen dasselbe Spektrum
σ(A) = σ(T AT −1 ).
(10.7)
Was dieses Lemma behauptet ist, dass das Spektrum unabhängig von der Basisdarstellung
einer linearen Abbildung ist. Das Spektrum enthält die Kerninformation über eine
lineare Abbildung.
Eine Matrix ist diagonalisierbar genau dann, wenn sie zu einer Diagonalmatrix ähnlich ist.
Falls A diagonalisierbar ist, dann sind die Spalten von V = [v1 |v2 | . . . |vn ] alle Eigen-
vektoren von A. Umgekehrt: Die Existenz einer Basis aus Eigenvektoren ist äquivalent zur
Diagonalisierbarkeit.
Wie kann man eine gegebene Matrix diagonalisieren?
Definition 10.11 Sei A eine quadratische n × n Matrix. Das Polynom
p(λ) := det(A − λI)
in der Variable λ heißt das charakteristische Polynom [characteristic polynom] von A.
Offensichtlich ist p(λ) ein Polynom vom Grad n mit führendem Koeffizienten
p(λ) = (−λ)n + . . .
Satz 10.12 Die Eigenwerte von A sind genau die Nullstellen des charakteristischen Polynoms. Jede n × n Matrix besitzt genau n (im Allgemeinen komplexe) Eigenwerte gezählt mit
Vielfachheiten [Fundamentalsatz der Algebra]. Die zugehörigen Eigenvektoren sind die nicht-
trivialen Elemente des Kerns Ker(A − λI). Die Matrix A ist diagonalisierbar genau dann,
wenn
h
i
dim Ker(A − λI) = mult(λ)
(10.8)
für jeden Eigenwert λ gilt, wobei mult(λ) die algebraische Vielfachheit des Eigenwertes λ ist.
268
Numerik I. Version: 05.07.07
Insbesondere sind alle Matrizen mit einfachen Eigenwerten diagonalisierbar.
Nicht alle Matrizen sind diagonalisierbar.
Aufgabe 10.13 Beweisen Sie direkt, dass die Matrix
A=
1 1
0 1
keine Zerlegung der Form A = V DV −1 besitzt.
Falls A diagonalisierbar ist, ist die Diagonalmatrix D eindeutig bis auf eine Permutation der
Diagonalelemente. Die Matrix V hat mehrere Freiheitsgrade. Zuerst kann die Matrix V durch
eine Matrix V C, mit einer beliebigen regulären Diagonalmatrix C, ersetzt werden (Skalierung
der Eigenvektoren). Diese Freiheit kann sich auf eine Freiheit des Vorzeichens ±vk reduzieren,
wenn man normalisierte Eigenvektoren kvk k = 1 fordert. Falls vielfache Eigenwerte existieren,
kann man eine beliebige Basis im Unterraum Ker(A − λI) wählen. Z.B. für einen zweifachen
Eigenwert λ bietet sich ein Rotationsfreiheitsgrad darüber hinaus der Skalierungsfreiheitsgrad.
Eine wichtige Klasse der Matrizen sind die symmetrischen (im komplexen Fall: hermite-
schen) Matrizen. Diese Matrizen sind immer diagonalisierbar, d.h. (10.8) gilt auch für mehrfache Eigenwerte. Dieser Satz wurde schon im Kapitel 6.5 (Teil b) des Satzes 6.17) für den
Fall der positiv definiten Matrizen diskutiert:
Satz 10.14 [Spektralsatz] Sei A eine symmetrische quadratische Matrix. Dann sind alle Eigenwerte λ1 , . . . λn von A reell und es existiert eine Basis aus orthonormalen Eigenvektoren,
v1 , v2 , . . . , vn . Die Eigenvektoren, die zu unterschiedlichen Eigenwerten gehören, sind immer
orthogonal. Die Matrix

|

Q :=  v1
|
|
v2
|

... |

. . . vn 
... |
ist orthogonal (QQt = Qt Q = I) und sie diagonalisiert die Matrix A:
A = QDQt ,


λ1

mit D := 


λ2
..
.
λn
Diese Relation kann man auch in der folgenden Form aufschreiben:
A=
n
X
λj vj vjt


.

(10.9)
j=1
Im Fall des komplexen Körpers müssen alle Transponierten durch die Adjungierten ersetzt
werden.
269
Numerik I. Version: 05.07.07
Aufgabe 10.15 Bestimmen Sie die Spektralzerlegung der Matrix


2 2

A =  2 −1
1 −2
1
−2 

2
Lösung: Das charakteristische Polynom ist
p(λ) = det(A − λ) = −λ3 + 3λ2 + 9λ − 27
und es läßt sich faktorisieren:
−λ3 + 3λ2 + 9λ − 27 = −λ2 (λ − 3) + 9(λ − 3) = −(λ + 3)(λ − 3)2
Der Eigenwert λ1 = −3 ist einfach, und ein möglicher Eigenvektor ist


−1


v1 =  2  .
1
Der andere Eigenwert ist doppelt: λ2 = λ3 = 3, wir müssen eine orthonormale Basis in
Ker(A − 3I) finden. Mit anderen Worten lösen wir die Gleichung (A − 3I)x = 0. Durch
Gauß-Elimination erhalten wir




−1 2
1
−1 2 1




A − 3I =  2 −4 −2  =⇒  0 0 0 
1 −2 −1
0 0 0
und
Ker(A − 3I) =
Die Vektoren
 
1
 
v2 =  0  ,
1
(
   
1
2
   
0,1
1
0
)
 
2
v3 =
 
1
0
sind linear unabhängig, also ist die Matrix der Eigenvektoren
und A = V DV −1 mit




−1 1 2


V =  2 0 1
1 1 0
−3 0 0


D =  0 3 0.
0 0 3
.
270
Numerik I. Version: 05.07.07
Dies ist eine Diagonalisierung von A, aber die Eigenvektoren sind noch nicht orthonormal.
Die Eigenvektoren, die zu unterschiedlichen Unterräumen gehören, sind orthogonal; in diesem
Fall gilt automatisch v1 ⊥ v2 , v3 . Normalisieren wir


−1
v1
1 

q1 =
=√  2 
kv1 k
6
1
und statt v1 betrachten wir q1 als einen Eigenvektor zu λ1 .
Die Vektoren v2 , v3 sind noch nicht orthogonal, da wir die Basis in Ker(A − 3I) fast
willkürlich ausgewählt haben. Wir müssen ein Gram-Schmidt-Verfahren auf diese Vektoren
anwenden.
und
somit
 
1
v2
1  
q2 :=
= √ 0
kv2 k
2 1


1


w3 = v3 − (v3 · q2 )q2 =  1 
−1


1
w3
1 

q3 :=
=√  1 
kw3 k
3 −1
Die Vektoren q1 , q2 , q3 bilden eine orthonormale Eigenbasis und folglich ist:
√
√
√ 

−1/√ 6 1/ 2 1/√3


Q :=  2/√6
0√
1/ √3 
1/ 6 1/ 2 −1/ 3
Man kann die Relation A = QDQt einfach überprüfen.
10.1.3
Jordan-Zerlegung (Wiederholung)
Was kann man mit nichtdiagonalisierbaren Matrizen tun? Falls man auf die diagonale Form
verzichtet, dann können alle Matrizen in eine kanonische Form gebracht werden:
Satz 10.16 Jede quadratische Matrix A besitzt eine Jordansche Zerlegung [Jordan decomposition]
A = V JV −1
mit einer invertierbaren Matrix V und einer Jordan-Matrix J der Gestalt


λ 1


J1


λ 1






J
2
..
..




.
.
λ ist ein Eigenwert von A

,
J
=
J =
i
.


..




λ 1

Jk
λ
271
Numerik I. Version: 05.07.07
(wobei die verschiedenen Jordan-Blöcke, Ji , nicht unbedingt verschiedene Eigenwerte enthalten
müssen)
Die Bestimmung der Jordanschen Faktorisierung ist schlecht konditioniert. Die Matrix
1 1
0 1
1 1
0 1
A=
hat Jordansche Form
A=
1 0
0 1
1 0
0 1
Mit einer kleinen Störung von A,
0
A =
1
1
,
0 1+ε
ändert sich die Faktorisierung ganz drastisch:
0
A =
10.1.4
1 1/ε
0 1
1
0
0 1+ε
1 −1/ε
0
1
Schur-Zerlegung
Wegen der Instabilität der Jordan-Zerlegung wird stattdessen die sogenannte Schur-Faktorisierung
in numerischen Verfahren verwendet. Die Schur-Faktorisierung ist gut-konditioniert.
Satz 10.17 (Komplexe Schur-Faktorisierung) Zu jeder (möglicherweise komplexen) n ×
n Matrix A gibt es eine unitäre Matrix U (d.h. UU ∗ = U ∗ U = I), so dass
A = URU ∗
mit einer oberen Dreiecksmatrix




R := 
λ1
∗
λ2
∗
∗
..
.

...
...

,
.. 
. 
(10.10)
λn
wobei die Diagonalelemente die Eigenwerte von A sind.
Dieser Satz wird in den meisten Vorlesungen über lineare Algebra nicht erwähnt. Hier ist
eine konstruktiver Beweis:
Beweis. Vollständige Induktion nach n. Sei λ ein Eigenwert von A mit Eigenvektor v, kvk =
1. Ergänzen Sie v zu einer orthonormalen Basis von Cn , {v, v2, . . . , vn } und konstruieren Sie
die unitäre Matrix
V := [v, v2 , . . . , vn ].
272
Numerik I. Version: 05.07.07
Berechne
V ∗ AV = [λV ∗ v, V ∗ Av2 , . . . , V ∗ Avn ].
Wegen

 

v·v
1
 v2 · v 
0


 
V ∗ v =  ..  =  ..  ,
 . 
.
0
vn · v
sind alle Elemente in der ersten Spalte von V ∗ AV eliminiert:
V ∗ AV =

λ ∗
∗
∗
0 ∗
0

 ..
.
∗
∗
∗
∗


λ ∗

...


... 
0
=.
... 
 ..

...
0
∗
...
A1





.



A1 ist eine (n − 1) × (n − 1) Matrix. Aus der Induktion folgt die Existenz einer unitären
(n − 1) × (n − 1) Matrix U1 , so dass
U1∗ A1 U1 = R1
eine obere Dreiecksmatrix ist, d.h.



0

.
.
.

|
1 0
0
Dann gilt
0
U1∗
{z
e1∗
=:U
...



0

 .
 .
 .

}
λ ∗
0
∗
...
A1



0

 .
 .
 .

|
1 0
0
0
U1
{z
e1
=:U
...










}
=


0

.
.
.

|
λ ∗
0
∗
R1
{z
=:R
...





.



}
Ue1∗ V ∗ AV Ue1 = R
und damit ist A = URU ∗ mit U := V Ue1 bewiesen. Die Diagonalelemente von R sind die
Eigenwerte von A, weil
σ(A) = σ(URU ∗ ) = σ(URU −1 ) = σ(R)
wegen der Unitarität und (10.7) gilt. 2
Wir erwähnen die reelle Variante ohne Beweis.
Satz 10.18 (Reelle Schur-Faktorisierung) Zu jeder reellen n × n Matrix gibt es eine or-
thogonale Matrix Q (d.h. QQt = I), so dass
A = QRQt
273
Numerik I. Version: 05.07.07
gilt, mit einer Matrix von Quasi-oberer-Dreiecksform:




R := 
R11
∗
R22
∗
∗
..
.
...
...
..
.
Rmm



,

wobei für jedes i entweder Rii ∈ R oder Rii ∈ R2×2 . Im letzten Fall hat Rii zwei konjugiert
komplexe Eigenwerte.
Beachten Sie, dass die Schur-Faktorisierungen orthogonale Matrizen verwenden. Diese Tatsache garantiert die Stabilität.
10.1.5
Singulärwertzerlegung
Alle bisherigen Faktorisierungen gelten für quadratische Matrizen. In diesem Kapitel betrachten wir eine allgemeine m × n Matrix A. Die Matrix A ist einfach die Matrix der linearen
Abbildung
x → A(x) := Ax,
A : Rn → Rm
in der Standardbasis. Beachten Sie, dass die zwei Vektorräume (Definitionsbereich und Bildbereich [domain und range]) unterschiedlich sind. Die Frage ist immer, ob man eine gute Basis
wählen kann, so dass die entsprechende Matrix derselben linearen Abbildung A möglichst
einfach ist.
Im Fall der linearen Abbildungen eines Raums in sich (A : Rn → Rn ) erwartete man,
dass Rn als Definitionsbereich und Rn als Bildbereich mit derselben Basis ausgestattet ist,
und diese Aufgabe hat uns zur Diagonalisierung geführt. Im Fall der unterschiedlichen Räume
bietet sich die zusätzliche Freiheit, zwei geeignete Basen in Rn und Rm unabhängig zu wählen.
Wegen dieser Freiheit hat diese Aufgabe eine viel “angenehmere” Lösung als die Diagonalisierungsaufgabe. Der folgende Satz behauptet, dass man jede Matrix mit zwei orthogonalen
Matrizen “diagonalisieren” kann. Mit anderen Worten kann man eine orthonormale Basis in
Rn , und eine andere in Rm finden, so dass die Matrix der linearen Abbildung A “diagonal”
ist.
Natürlich muss der Begriff “diagonale Matrix” für rechteckige Matrizen verallgemeinert
werden: Ein rechteckige m × n Matrix S ist von Diagonalform, falls sij = 0 für alle i 6= j.
274
Numerik I. Version: 05.07.07
Für m ≥ n

s11
 0

 .
 ..


S= 0

 0

 ..
 .
0
und für m ≤ n

s11
 0

S =  ..
 .
0
0
s22
0
0
s22
0
0
0

... 0
... 0 

.. 
..
.
e
. 

S

=

. . . snn 
0
... 0 

.. 
. 
... 0
...
0
...
0
..
..
.
.
. . . smm
0
0
0
0
e
mit der Diagonalmatrix S.
...
...
...
...

0
0

e
 = [S|0]
0
0
Satz 10.19 (Singulärwertzerlegung) (Singular value decomposition, SVD) Sei A eine m×
n Matrix, m ≥ n. Dann existieren orthogonale Matrizen U ∈ Rm×m und V ∈ Rn×n und eine
Matrix S ∈ Rm×n von Diagonalform
S=
Σ
,
0


σ1



mit der Diagonalmatrix Σ = 
σ2
..
.
σn




so dass
A = USV t .
Die Diagonalelemente σj der Matrix Σ heißen die Singulärwerte [singular values] der Matrix
A. Sie sind nicht negativ und normalerweise sind sie abnehmend geordnet
σ1 ≥ σ2 ≥ . . . σp > σp+1 = . . . = σn = 0
wobei p = rg(A). Die Zerlegung A = USV t kann auch in folgender Form aufgeschrieben
werden:
A=
p
X
σi ui vit
(10.11)
i=1
wobei U = [u1 |u2 | . . . |um ] und V = [v1 |v2 | . . . |vn ]. Die Vektoren ui und vi heißen (Linksoder Rechts-) Singulärvektoren [singular vector].
Bemerkung 10.20 Die Zerlegung ist ganz ähnlich für den Fall m < n:
A = USV t ,
S = [Σ|0],
Σ ∈ Rm×m , 0 ∈ Rm×(n−m)
275
Numerik I. Version: 05.07.07
Beweis. Betrachen wir die symmetrische, positiv semidefinite Matrix At A. Wegen des Spektralsatzes 10.14 existiert eine orthogonale Matrix V , die die Matrix At A diagonalisiert:




d2
V t (At A)V = 
mit dj ≥ 0. Seien σj :=
q

d1
..
.
dn




dj , j = 1, 2, . . . , n abnehmend angeordnet. Es gilt
rg(V t (At A)V ) = rg(At A) = rg(A) = p
also sind genau p Diagonalemente, d1 ≥ d2 ≥ . . . ≥ dp von Null verschieden. Dann gilt
V t (At A)V = Σ2
Spalten wir V auf in:
V = [V1 |V2 ]
V1 ∈ Rn×p ,
so merken wir
V1t At AV1 = Σ21 ∈ Rp×p ,
V2 ∈ Rn×(n−p),




σ2
Σ1 := 
und

σ1
..
.
σp




V2t At AV2 = 0 ∈ R(n−p)×(n−p) ⇐⇒ AV2 = 0 ∈ Rn×(n−p)
Definieren wir dann
m×p
U1 := AV1 Σ−1
,
1 ∈ R
(10.12)
so gilt
t t
−1
U1t U1 = Σ−1
1 V1 A AV1 Σ1 = I
d.h. die Spalten von U1 sind orthonormal. Ergänzen wir U1 mit weiteren (m−p) orthonormalen
Spalten U2 ∈ Rm×(m−p) (Z.B. mittels Gram-Schmidt) und definieren U = [U1 |U2 ]. Dann gilt
U t AV =
U1t
A[V1 |V2 ] =
U2t
U1t AV1
U2t AV1
U1t AV2
U2t AV2
=
Σ
0
da AV2 = 0 und AV1 = U1 Σ1 . 2
Der Beweis liefert einen Algorithmus für die Bestimmung der Singulärwertzerlegung. Zuerst
berechnet man die Spektralzerlegung von At A um die Singulärwerte und die V -Matrix zu
bestimmen. Dann definieren wir die Matrix U1 (10.12) und ergänzen ihre Spalten zu einer
orthogonalen Matrix U.
276
Numerik I. Version: 05.07.07
10.1.6
Verwendung der Singulärwertzerlegung in Bildkompression
[Dieses Kapitel folgt der Präsentation des Buches Applied Numerical Linear Algebra von
James Demmel, (SIAM, 1997), Seiten 114-116.]
Ein Bild auf dem Rechnerschirm kann in einer rechteckigen Matrix A kodiert werden. Falls
der Bildschirm n × m Pixel hat (z.B. n = 320 Zeilen und m = 400 Spalten) und die Helligkeit
eines Pixels ist durch eine reelle Zahl zwischen 0 und 1 gegeben ist, dann wird das Bild von
der Matrix A = (aij ) kodiert, wobei aij die Helligkeit des Pixels in der i-ten Zeile und j-ten
Spalte ist. Farbbilder können durch drei Matrizen kodiert werden: eine für die rote Farbe, eine
für die grüne und eine für die blaue.
Eine große Matrix A enthält viele Informationen und es ist sehr aufwendig solche Matrizen
zu speichern und im Internet weiterzuschicken. Wie kann man die Größe reduzieren und
die relevante Mehrheit der Informationen behalten? Man kann z.B. jedes zweite oder jedes
zehnte Pixel behalten, aber dieses Verfahren ist nicht effektiv. Das Bild hat “langweilige” Teile
(z.B. der gleichfarbige Hintergrund), wo die Beibehaltung jedes zehnten Pixels hinreichend ist,
alle anderen Pixel können einfach approximiert werden. Aber dieses Verfahren verwirrt die
“interessanten” Teile des Bildes (scharfe Umrisse, feine Details). In diesem Bereich möchten
wir alle Pixel behalten. Wir müssen dem Rechner zeigen, wie er die “langweiligen” und die
“interessanten” Teile erkennen kann.
Es gibt viele verfeinerte Methoden. Hier diskutieren wir die einfachste Version und die
Grundidee. Sei
A=
p
X
σi ui vit
i=1
die Singulärwertzerlegung der Matrix A (10.11) mit p ≤ n ≤ m. Es ist (fast) zweimal so
aufwendig die Matrizen U und V (oder ihre Spaltenvektoren) zu speichern als die Matrix
A . Die Matrix A benötigt nm Zahlen zur Speicherung, die Singulärwertzerlegung speichert
n2 + m2 + n Zahlen (etwas weniger, wenn man die Nullvektoren nicht speichert).
Die Idee ist, dass die Singulärvektoren mit ganz kleinen Singulärwerten von winziger Bedeutung sind. Diese Vektoren entsprechen dem “langweiligen” Teil des Bildes (genauer: sie kodieren die kleinen Abweichungen des ursprünglichen Bildes vom gleichfarbigen Hintergrund).
Legen wir k ≤ n fest und definieren die folgende Matrix
Ak =
k
X
σi ui vit
i=1
d.h. wir berechnen die Matrix A unter Beibehaltung der k größten Singulärwerte und bei
Vernachlässigung der restlichen Singulärwerte (zusammen mit den Singulärvektoren) ab. Falls
277
Numerik I. Version: 05.07.07
k n, so ist der Speicheraufwand O(km) O(nm), d.h. viel kleiner als der Speicheraufwand
für A.
Die Frage ist: wie gut ist das approximierende Bild. Natürlich ist Ak 6= A, aber es ist eine
ziemlich gute Näherung. Im gewissen Sinne ist Ak die beste Approximation mit bestimmtem
Speicheraufwand. Der folgende Satz [ohne Beweis] stellt diese Aussage genauer fest:
Satz 10.21 Für beliebige k ≤ n ≤ m minimiert die Matrix Ak den Abstand von A zur Menge
aller Matrizen mit Rang k in der Frobeniusnorm (3.29):
n
kA − Ak kF rob = min kA − BkF rob : rg(B) = k
o
Natürlich ist es eine andere Frage, ob die Empfindlichkeit unserer Augen durch die Frobeniusnorm angemessen beschrieben wird. Die Bilder auf meiner Internetseite zeigen, dass wenn
man ein Bild der üblichen Größe (z.B. 320 × 400) mit einer Matrix A20 vom Rang k = 20
approximiert, ist das Bild schon ziemlich gut, und der Speicheraufwand ist etwa 20-mal kleiner.
Noch ein Vorteil der Speicherung eines Bildes mit der Singulärwertzerlegung. Das Herunterladen eines Bildes vom Internet kann ganz langsam sein. In den meisten Fällen möchte
man zuerst das Bild nur oberflächig sehen, um zu entscheiden, ob man weiterklickt oder nicht.
Wenn das Bild nun Zeile um Zeile auf dem Bildschirm auftaucht, sieht man alle Details der
oberen Teile des Bildes (meistens nur den blauen Himmel) bevor man die wesentlichen Teile erfasst. Bessere Programme benutzen etwa so genannte “coarse-graining” Verfahren, d.h.
man sieht sofort das ganze Bild aber ganz grob, und später wird es verfeinert. Die Folge der
Matrizen A1 , A2 , . . . liefern genau diese Näherungen. Nach der Übersendung der Matrix A20
ist die Übersendung der nächsten Matrix A21 ganz einfach: man schickt die Vektoren u21 und
t
v21 und die Zahl σ21 und der Empfänger addiert die Matrix σ21 u21 v21
zum vorherigen Bild.
10.2
Störungsresultate für die Eigenwerte
Das Problem der Diagonalisierung (und ihrer Verwandten) erfordert die Bestimmung der
Eigenwerte. Tatsächlich ist diese Aufgabe schwieriger; sobald die Eigenwerte bekannt sind,
können die Eigenvektoren durch Lösung linearer Gleichungssysteme bestimmt werden.
Eigenwerte treten als Nullstellen des charakteristischen Polynoms auf. Jedes Polynom kann
das charakteristische Polynom irgendeiner Matrix sein (Aufgabe 10.22) und wir wissen von
der Galois-Theorie aus Algebra, dass es kein endliches Verfahren für die Bestimmung der Nullstellen eines Polynoms vom Grad ≥ 5 gibt. Deshalb muss unser Vorgehen für die Bestimmung
der Eigenwerte iterativ sein.
278
Numerik I. Version: 05.07.07
10.2.1
Kondition des Eigenwertsproblems
Die Bestimmung der Eigenwerte kann eine ganz schlecht konditionierte Aufgabe sein.
Beispiel. Betrachten Sie die n × n Matrix

0
1 0


1 0



1 0
Aε = 

1



ε
0
..
.
..
.
1
0












wobei ε 1 ganz klein ist. Das charakteristische Polynom von Aε ist
p(λ) = λn − ε.
(Aufgabe!). Für ε = 0 sind alle Eigenwerte Null. Für ε > 0 besitzt Aε genau n komplexe
Eigenwerte, ε1/n , die n-ten Einheitswurzeln [root of unity]. Das Problem ist sehr schlecht konditioniert. Sei n = 40 und sei der Störungsparameter ε := 10−40 , der ganz klein im Vergleich
zu den anderen Matrixelementen ist (10−40 /1 = 10−40 relativer Fehler). Doch einer der Eigenwerte ist λ = 10−1 = 0.1, der in einem Abstand 0.1 von den “ungestörten” Eigenwerten liegt.
Der relative Fehlerverstärkungsfaktor ist 1039 !
Diese dramatische Fehlerverstärkung wurde von der hohen Vielfachheit des ungestörten
Eigenwerts verursacht. Aber die Situation ist nicht viel besser für einfache Eigenwerte. Beim
Polynom (8.11) von Grad 20 trat ein Fehlerverstärkungsfaktor der Ordnung 107 auf. Die
Matrix wurde dort nicht konstruiert, aber Folgendes gilt:
Aufgabe 10.22 Zeigen Sie, dass jedes Polynom das charakteristische Polynom einer Matrix
ist.
Satz 10.23 (i) Sei die Matrix A ∈ Rn×n diagonalisierbar:
A = V DV −1 ,
D = diag(λ1 , . . . , λn ),
wobei D die Diagonalmatrix mit Elementen λ1 , . . . , λn und V regulär ist. Sei A + ∆A eine
Störung der Matrix A und sei µ ∈ σ(A + ∆A) ein Eigenwert der gestörten Matrix. Dann gilt
min |µ − λi | ≤ κ(V )k∆Ak
i=1,...,n
Diese Abschätzung bestimmt die Kondition des Eigenwertsproblems.
(10.13)
279
Numerik I. Version: 05.07.07
(ii) Sei die Matrix A ∈ Rn×n symmetrisch. Dann gilt für jede (nicht unbedingt symmetri-
sche) Matrix ∆A das Folgende:
min |µ − λi | ≤ k∆Ak,
i=1,...,n
für jedes µ ∈ σ(A + ∆A)
(10.14)
Das erste Resultat gilt für alle Vektornormen kvkp = (|v1 |p + . . . + |vn |p )1/p (und für die
induzierte Matrixnorm und Konditionszahl). Das zweite gilt nur für die euklidische Norm
(p = 2).
Beachten Sie, dass die Matrix V nicht eindeutig ist: man kann immer V 0 = V C mit einer
beliebigen regulären Diagonalmatrix C statt V einsetzen:
V 0 D(V 0 )−1 = V CDC −1 V −1 = V DV −1
(Diagonalmatrizen kommutieren). Die Konditionszahl κ(V ) hängt von dieser Wahl ab. Die
rechte Seite der Abschätzung (10.13) kann mit dem Faktor
n
o
min κ(V C) : C regulär, diagonal
optimiert werden.
(10.15)
Beweis. (i) Wir können annehmen, dass µ 6∈ σ(A) ist, sonst ist die Abschätzung offenbar.
Wegen A = V DV −1 gilt
(A − µI)−1 = V (D − µI)−1V −1
und damit
k(A − µI)−1 k ≤ κ(V ) max |µ − λi |−1 =
i=1,...,n
d.h.
min |µ − λi | ≤
i=1,...,n
Sei x ein Eigenvektor von A + ∆A zu µ:
(A + ∆A)x = µx,
κ(V )
,
mini=1,...,n |µ − λi |
κ(V )
k(A − µI)−1 k
(10.16)
x = −(A − µI)−1 (∆A)x.
Somit
1 ≤ k(A − µI)−1 (∆A)k ≤ k(A − µI)−1 k k∆Ak
(für die erste Ungleichung betrachten Sie den Testvektor x in der Definition der Norm). Diese
Abschätzung zusammen mit (10.16) liefert (10.13).
(ii) Der Beweis für den symmetrischen Fall ist ähnlich, aber die Matrix V kann orthogonal
gewählt werden (Spektralsatz) und dann ist κ(V ) = 1. 2
Der folgende Satz behandelt den allgemeinen Fall [für den Beweis siehe Plato: Kapitel
12.2.2]
280
Numerik I. Version: 05.07.07
Satz 10.24 Für die Eigenwerte von A + ∆A mit beliebigen Matrizen A, ∆A ∈ Rn×n gelten
die folgenden Abschätzungen für jedes µ ∈ σ(A + ∆A)
n
min |µ − λ| ≤ C max k∆Ak, k∆Ak1/n
λ∈σ(A)
mit
C := max{θ, θ1/n },
wobei θ :=
n−1
X
k=0
o
e k
kRk
2
e der nichtdiagonale Anteil aus der Dreiecksmatrix R in einer Schur-Faktorisierung
Hier ist R
e wobei R durch die Formel (10.10) gegeben ist.
der Matrix A, d.h. R = Diagonalmatrix + R,
In den meisten Fällen ist k∆Ak ≤ 1, also
min |µ − λ| ≤ C k∆Ak1/n .
λ∈σ(A)
Diese n-te Wurzel ist dieselbe, die in dem einführenden Beispiel aufgetaucht ist.
10.2.2
Lokalisierung der Eigenwerte
Da die Methoden für die Bestimmung der Eigenwerten iterativ sind, ist es ganz wichtig die
Iteration mit einer guten Näherung als Startwert anzufangen (siehe Newton-Verfahren). Dafür
sind verschiedene Resultate für a priori Lokalisierung der Eigenwerte nützlich. Die folgende
Eigenschaften sind unmittelbar. [Wiederholung oder Aufgabe]
Lemma 10.25 (Wiederholung oder Aufgabe) Sei A, B ∈ Rn×n . Dann gilt
i)
λ ∈ σ(A)
⇐⇒
αλ + β ∈ σ(αA + βI),
α, β ∈ C beliebig
ii) Sei A regulär, dann
λ ∈ σ(A)
⇐⇒
λ−1 ∈ σ(A−1 ),
iii)
λ ∈ σ(A)
⇐⇒
λ ∈ σ(A)
⇐⇒
λ ∈ σ(At )
(gilt nicht für komplexe Matrizen!)
iv)
λ ∈ σ(A)
281
Numerik I. Version: 05.07.07
v)
σ(AB) = σ(BA)
vi)
σ(A) ⊂ {λ : |λ| ≤ kAk}
Das wichtigste Ergebnis über Lokalisierung der Eigenwerte ist der folgende Satz:
Satz 10.26 (Gerschgorin) Zu A ∈ Rn×n definiere die sogenannten Gerschgorin-Kreise
n
X
Ki := z ∈ C : |z − aii | ≤
Dann gilt
σ(A) ⊂
n
[
j6=i
o
|aij | .
Ki
i=1
d.h. die Eigenwerte liegen in der Vereinigung der Gerschgorin-Kreise.
Weiterhin gilt die folgende Verstärkung für jedes 1 ≤ j ≤ n: Falls die Vereinigung von j
Gerschgorin-Kreisen disjunkt von den anderen Kreisen ist, dann liegen genau j Eigenwerte
in dieser Vereinigung.
Beweis. Sei v ein Eigenvektor zugehörig zum Eigenwert λ und sei vi eine Koordinate, die
|vi | = kvk∞ = max |vj |
j=1,...n
genügt. Die i-te Gleichung des Gleichungssystems Av = λv lautet
X
aij vj = λvi ,
j
daraus folgt, dass
Damit ist λ ∈ Ki .
X
|aii − λ||vi| = j6=i
aij vj ≤ kvk∞
X
j6=i
|aij | = |vi |
X
j6=i
|aij |.
Der Beweis des zweiten Teils wird hier nicht diskutiert. 2
In der Anwendung dieses Satzes ist es ein guter Trick die Gerschgorin-Kreise von A und
auch von At zu betrachten, weil gilt:
σ(A) ⊂
wobei
Kit
t
n
[
i=1
Ki ∩
n
[
Kit ,
i=1
die Gerschgorin-Kreise von A sind.
Aufgabe 10.27 Lokalisiere so genau wie möglich die Eigenwerte von

3

A =  −1
1

1 0

5 2.
0 2
282
Numerik I. Version: 05.07.07
10.2.3
Variationsprinzip für symmetrische Matrizen
Satz 10.28 (Rayleigh/Ritz) Sei A ∈ Rn×n symmetrisch und seien
λ1 ≤ λ2 ≤ . . . ≤ λn
die Eigenwerte. Dann gilt
λ1 = min
x6=0
x · Ax
= min x · Ax
kxk=1
kxk2
λn = max
x6=0
x · Ax
= max x · Ax
kxk=1
kxk2
Beweis: Aus dem Spektralsatz in der Form (10.9):
A=
X
λi vi vit
i
folgt
x · Ax =
X
i
λi |x · vi |2 =:
X
i
λi |ci |2
wobei
x = c1 v1 + . . . + cn vn ,
und
X
i
mit ci := x · vi
|ci |2 = 1
aufgrund der Parseval-Identität (7.1). Dann gilt
X
i
λi |ci |2 ≤ max λi
i
X
i
|ci|2 = max λi = λn
i
und die untere Abschätzung ist analog. 2
10.3
Vektoriteration oder Potenzverfahren [Power method]
Diese Methode ist das “zweijährige-Kind” Verfahren für die Bestimmung der Eigenwerte. Sie
ist absolut einfach. Wählen Sie einen beliebigen Startvektor u0 , und erzeugen Sie die Folge
u1 := Au0 , u2 := Au1 , u3 := Au2 , . . .
(10.17)
d.h. multiplizieren Sie diesen Vektor sukzessiv mit der Matrix A. Der folgende Satz behauptet,
dass, außer wenn man ganz großes Pech hat, diese Folge der Vektoren den betragsmäßig
größten Eigenwert und die zugehörigen Eigenvektoren bestimmen.
283
Numerik I. Version: 05.07.07
Satz 10.29 Sei A eine quadratische k × k Matrix und sei λ1 , . . . , λk die Eigenwerte. Nehmen
wir an, dass
|λ1 | > |λ2 | ≥ |λ3 | ≥ . . .
(10.18)
d.h. der betragsmäßig größte Eigenwert bestimmt größer als alle andere Eigenwerte ist. Seien
die Vektoren u0 und w beliebig und die Folge {un }n∈N durch (10.17) definiert. Dann gilt
wt · un+1
lim
= λ1 .
n→∞ w t · un
für “fast alle” Startvektoren u0 und Testvektoren w. Im Falle der symmetrischen Matrizen
bedeutet dies, dass
u0 · v1 6= 0,
w · v1 6= 0,
(10.19)
wobei v1 einer Eigenvektor zum Eigenwert λ1 ist.
Zur eindeutigen Festlegung vom Eigenvektor, bezeichne v1 den normalisierten Eigenvektor (zum λ1 ) mit der Vorzeichenkonvention dass die erste, von null verschiedene Koordinate
positive ist. Dann die Folge der normalisierten Vektoren
e n := σn
u
un
kun k
konvergiert gegen v1 , wobei die Vorzeichen σn ∈ {+1, −1} so ausgewählt werden, dass die
e n positive ist.
erste, von null verschiedene Koordinate von u
Diese beiden Konvergenzgeschwindigkeiten sind exponentiell mit einer Rate |λ2 |/|λ1 |, d.h.
wt · u
n+1
wt · un
− λ1 λ n
2
,
≤ (Konst.)
λ1
(10.20)
wobei die Konstante von der Wahl von u0 und w abhängt.
Bemerkung 10.30 Der Begriff “fast alle” hat eine mathematische präzise Definition, aber
wir möchten das hier vermeiden. Grob gesagt bedeutet es hier, dass die Vektoren u0 , w sich
nicht in einem Unterraum von niedriger Dimension befinden sollten, z.B. die explizite Bedingung (10.19).
Beweis. Der Einfachheit halber diskutieren wir den symmetrischen Fall. Falls A diagonalisierbar ist, ist der Beweis ganz ähnlich (Aufgabe!). Falls A nicht diagonalisierbar ist, dann
ist der Beweis einbisschen komplizierter.
Aus dem Spektralsatz
A=
k
X
i=1
λi vi vit
284
Numerik I. Version: 05.07.07
folgt
n
A =
k
X
λni vi vit
i=1
und
t
t
n
w · un = w · A u0 =
Damit berechnen wir
k
X
i=1
λni (wt · vi )(vit · u0 ) .
k X
wt · un
λi n t
=
lim
(w · vi )(vit · u0 ) = (wt · v1 )(v1t · u0 )
n→∞
n→∞
λn1
λ
1
i=1
lim
da |λ1 | > |λi | für i > 1. Falls (10.19) gilt, erhalten wir
wt ·un+1
λn+1
1
wt ·un
λn
1
limn→∞
wt · un+1
lim
=
λ
1
n→∞ w t · un
limn→∞
= λ1
(wt · v1 )(v1t · u0 )
= λ1 ,
(wt · v1 )(v1t · u0 )
und dies komplettiert den Beweis der Konvergenz des Eigenwertes. Die Abschätzung für die
Konvergenzgeschwindigkeit (10.20) ist offenbar.
Für die Konvergenz des Eigenvektors beachten Sie
un = An u0 =
k
X
i=1
damit kun k =
qP
k
i=1 |λi |
2n (vt
i
· u0 )2 , also
P
λni vi (vit · u0 )
k
λn vi (vit · u0 )
un
en =
= qPi=1 i
u
k
kun k
|λi |2n (vt · u0 )2
=
λ1
|λ1 |
!n
·
(v1t
|(v1t
i
i=1
v1 +
Pk
t
λi n vi ·u0
λ1
v1t ·u0
· vi
i=2
· u0 )
· r
2n t
P
· u0 )|
(v ·u )2
1 + ki=2 λλ1i (vti ·u00 )2
(10.21)
1
e n offenbar gegen v1 . Das einzige
Falls |λ1 | > |λi | für alle i > 1, konvergiert der Vektor u
Problem ist, dass der Vorfaktor in (10.21) im Falle λ1 < 0 wie (−1)n oszillieren kann. Das ist
nur die Zweideutigkeit der Normalisierung. Man kann die Normalisierung z. B. so festlegen,
dass die erste von Null verschiedene Koordinate positiv sei. 2
Dieses Verfahren liefert nur den betragsmäßig größten Eigenwert. Mit einem kleinen Trick
kann man auch andere Eigenwerte erhalten.
Satz 10.31 Sei A eine quadratische k × k Matrix und sei p ∈ C eine komplexe Zahl, so dass
die Matrix A einen Eigenwert λp hat, der bestimmt näher bei p als alle anderen Eigenwerten
liegt:
0 < |λp − p| < |λi − p|,
∀i 6= p
(10.22)
285
Numerik I. Version: 05.07.07
Erzeugen Sie die Iterationsfolge
un+1 := (A − pI)−1 un
aus einem Startvektor u0 . Dann gilt für “fast alle” Vektoren u0 und w
wt · un+1
1
=
.
n→∞ w t · un
λp − p
lim
Deshalb ist λp aus
wt · un
+p
n→∞ w t · un+1
λp = lim
zu erhalten.
en =
Die normalisierten Vektoren u
Eigenwert λp .
un
kun k
konvergieren gegen den Eigenvektor zugehörig zum
Beweis. Beachten Sie einfach, dass (λ1 − p)−1 , (λ2 − p)−1 , . . ., die Eigenwerte von B :=
(A − pI)−1 sind, wobei λi die Eigenwerte von A sind (Lemma 10.25). Aus der Voraussetzung
(10.22) folgt, dass (λp − p)−1 der betragsmäßig größte Eigenwert von B ist, also folgen beide
Aussage aus dem Satz 10.29. 2.
Das Potenzverfahren liefert den betragsmäßig größten Eigenwert unmittelbar. Um den
betragsmäßig kleinsten Eigenwert zu erhalten, kann man die Iteration mit der Inversen der
Matrix A durchführen.
Wenn A symmetrisch ist, wissen wir schon, dass alle anderen Eigenwerte im Intervall
[λmin , λmax ] liegen. Sei
λmin + λmax
2
der Mittelpunkt. Falls weitere Eigenwerte außer λmin und λmax existieren, dann gibt es einen
p :=
Eigenwert, der näher zu p ist, als λmin und λmax , sei λp der nächeste. Im typischen Fall gibt
es nur einen nächesten Eigenwert. Diesen Eigenwert können wir mittels des Satzes 10.31
bestimmen. Dann können wir die Mittelpunkte der zwei Teilintervalle betrachten:
p1 =
λmin + λp
,
2
p2 :=
λp + λmax
2
und lassen die Vektoriteration aus dem Satz 10.31 für die beide Punkte laufen. Wir wissen
nicht genau, wo die anderen Eigenwerte liegen (außer wenn wir den Satz 10.26 verwenden
können). Es kann sein, dass, z.B., das ersten Intervall [λmin , λp ] keinen Eigenwert enthält und
die Iteration wird nicht gegen einen neuen Eigenwert konvergieren. Es kann auch passieren,
286
Numerik I. Version: 05.07.07
dass sie nicht konvergiert , da |λmin − p1 | = |λp − p1 |, aber diese Tatsache ist aus der Iterationsfolge erkennbar.
λ
λ
λp
min
min
λp
p
1
λ
p
p
λ
2
max
max
Potenzverfahren auf Teilintervallen mit Mittelpunkten.
Wir setzen dieses Verfahren bei der Bestimmung aller k Eigenwerte fort. Im Fall einer
nichtsymmetrischen Matrix A wissen wir nach der Bestimmung von λmin und λmax , dass alle
Eigenwerte im kompakten Ring
n
σ(A) ⊂ z ∈ C ; λmin ≤ |z| ≤ λmax
o
liegen. Man kann diesen Ring mit kleineren Kreisen überdecken und für die Zentren dieser
Kreise als Punkt p den Satz 10.31 verwenden. Die Gerschgorin-Kreise helfen dieses “ad hoc”
Verfahren ein bisschen zu beschleunigen.
Bemerkung 10.32 Das Potenzverfahren konvergiert nicht, wenn die Bedingung (10.18) nicht
erfüllt ist. Für reelle Matrizen tauchen die komplexen Eigenwerte in Paaren auf, und beide
Eigenwerte sind betragmäßig gleich. Im Ablauf des Verfahrens ist diese Tatsache als ein Zyklus erkennbar. Diese Symmetrie ist einfach zu brechen: Man muss ein komplexe Zahl p mit
Im(p) 6= 0 wählen.
Aufgabe 10.33
Bestimmen
Sie die Eigenwerte und die normalisierten Eigenvektoren der
3 1
Matrix A =
2 4
Lösung: Fangen wir die Iteration mit einem beliebigen Vektor, z.B. u0 =
wir w auch beliebig: w =
1
, an. Wählen
1
1
, d.h. wt · un testet die erste Koordinate. Die Iteration liefert
0
u1 = Au0 =
3 1
2 4
1
1
=
4
6
287
Numerik I. Version: 05.07.07
u2 = Au1 =
3 1
2 4
4
6
=
18
32
usw.
u3 =
86
164
u4 =
422
828
u5 =
2094
4156
u6 =
10438
20812
u7 =
52126
...
104124
Berechnen wir die aufeinander folgenden Verhältnisse der Zahlen wt · un , d.h. die ersten
Koordinaten:
4
=4
1
18
= 4.5
4
86
= 4.77
18
422
= 4.9
86
2094
= 4.96
422
52126
10438
= 4.984
= 4.993,
2094
10438
so folgt λ1 ≈ 5 und ist die Konvergenz ganz schnell.
0
Nur aus Neugier testen wir die Folge un mit dem Vektor w =
(zweite Koordinate)
1
6
=6
1
32
= 5.33
6
4156
= 5.02
828
d.h. der Limes ist derselbe.
164
= 5.12
32
20812
= 5.007
4156
828
= 5.04
164
104124
= 5.003
52126
Um den Eigenvektor zu finden, normalisiert man die Vektoren un :
1
u0
=√
v0 =
ku0 k
2
v3 =
0.464
0.885
1
1
=
v4 =
0.707
0.707
0.454
0.89
u1
1
v1 =
=√
ku1 k
60
v5 =
0.45
0.893
4
6
v6 =
=
0.55
0.83
0.448
0.8938
v2 =
v7 =
0.49
0.87
0.4476
0.8942
usw, also ist dies der (approximierende)
normalisierte Eigenvektor zu λ1 ≈ 5. Der genaue
1
Eigenwert ist 5 mit Eigenvektor
, d. h. nach der Normalisierung
2
√ 1/√5
0.4472
≈
.
2/ 5
0.8944
Der andere (kleinere) Eigenwert kann aus der Inversen der Matrix A mit derselben Iteration
bestimmt werden:
−1
A
=
Wählen wir den Startvektor u0 =
3 1
2 4
1
1
1
=
10
4 −1
−2 3
und erzeugen
1
u1 = A u0 =
10
−1
−1
4 −1
−2 3
1
1
1
=
10
3
1
288
Numerik I. Version: 05.07.07
1
u2 = A u1 =
10
−1
und
1
u3 = 3
10
4 −1
−2 3
1
u4 = 4
10
47
,
−31
1
106
u6 =
5251
,
−5123
1
10
1
=
100
1
u5 = 5
10
3
1
219
,
−187
u7 =
1
107
11
−3
26127
,
−25871
1063
−999
usw.
Berechnen wir die aufeinander folgenden Verhältnisse der Zahlen wt · un , d.h. die ersten
Koordinaten:
11/100
= 0.366,
3/10
3/10
= 0.3,
1
1063/105
= 0.485,
219/104
47/103
= 0.427,
11/100
5251/106
= 0.494,
1063/105
219/104
= 0.466,
47/103
26127/107
= 0.498
5251/106
−1
Die Folge konvergiert gegen den größten Eigenwert λ−1
2 ≈ 0.5 von A , wobei λ2 der kleinste
Eigenwert von A ist. Deshalb ist λ2 ≈ 2. Die normalisierten Vektoren, die den Eigenvektor
approximieren, sind
v0 =
v3 =
1
u0
=√
ku0 k
2
0.834
−0.55
=
0.707
0.707
v4 =
0.76
−0.649
1
1
Der wahre Eigenvektor ist
√1
2
v1 =
1
−1
u1
1
=√
ku1 k
10
v5 =
=
0.728
−0.684
0.7071...
−0.7071...
3
1
=
v6 =
0.948
0.316
0.715
−0.698
v2 =
0.964
−0.263
v7 =
0.710
−0.703
Aber vielleicht können wir eine bessere Wahl für p als p = 0 treffen? Die Gerschgorin-Kreise
für A und At bestimmen, dass alle Eigenwerte innerhalb der Menge
M := {|z − 3| ≤ 1} ∪ {|z − 4| ≤ 2} ∩ {|z − 3| ≤ 2} ∪ {|z − 4| ≤ 1}
|
liegen.
{z
Lage der Eigenwerte von A
}
|
{z
t
Lage der Eigenwerte von A
}
289
Numerik I. Version: 05.07.07
0
1
2
3
4
0
5
1
Gerschgorin Kreise von A
Wahl p=0
Wahl p=2.5
3
4
Gerschgorin Kreise von A
2
t
5
Gro"sste Eigenwert = 5
0
1
2
3
5
4
Durchschnitt dieser zwei Menge = Lage der Eigenwerte
Der Wert p = 0, der der Iteration mit der inversen Matrix A−1 entspricht, ist weit außerhalb
dieser Menge, also ist p = 0 nicht die beste Wahl. Die Konvergenzgeschwindigkeit wird durch
das Verhältnis
λmin ( 1 ) A−p λmax ( 1 ) A−p
bestimmt und diese Rate ist
2
5
=
|2 − p|
|5 − p|
im Fall p = 0.
Für schnellere Konvergenz brauchen wir einen Wert p, der weit entfernt von λ1 = 5 ist,
aber in der Nähe der unbekannten Eigenwerte liegt. Der Wert p = 0 ist weit außerhalb dieser
Menge, also ist es nicht die beste Wahl.
Wählen wir eine Zahl, die innerhalb dieser Menge liegt, aber weit von λ1 = 5 entfernt ist,
z. B. p = 5/2 = 2.5.
Also wir berechnen die Matrix
(A − 2.5)−1 =
0.5 1
2 1.5
−1
=
−1.2 0.8
1.6 −0.4
290
Numerik I. Version: 05.07.07
und lassen die Iteration laufen. Der Startvektor ist noch einmal u0 =
erste Koordinate. Die Iteration liefert
u1 =
u5 =
−1.2 0.8
u0 =
1.6 −0.4
u4 =
5.35
−5.3
−0.4
1.2
u2 =
−10.65
10.68
−1.2 0.8
u1 =
1.6 −0.4
u6 =
und die Verhältnisse der ersten Koordinaten sind
−0.4
= −0.4
1
1.44
= −3.6
−0.4
21.336
−21.327
−2.62
= −1.82
1.44
1
1
und wir testen die
u3 =
1.44
−1.12
u7 =
5.35
= −2.041
−2.62
−42.665
42.668
−2.62
2.75
−10.65
= −1.9906
5.35
42.665
21.336
= −2.0033
= −1.9996
−10.65
21.336
usw. Der Eigenwert ist etwa −2. Dies ist der Eigenwert von (A−2.5)−1 , und der entsprechende
Eigenwert von A wird aus der Gleichung (λ − 2.5)−1 ≈ −2 bestimmt, d.h. λ ≈ 2.
Die normalisierten Vektoren sind
v0 =
v4 =
0.707
0.707
0.7105
−0.7036
v1 =
v5 =
−0.316
0.948
−0.7064
0.7078
v2 =
v6 =
0.789
−0.613
0.7072
−0.7069
v3 =
−0.68
0.723
v7 =
−0.70707
0.70713
Beachten Sie, dass die Vektoren in einem strikten Sinne nicht konvergieren, weil die Vorzeichen
oszillieren. Dies ist die Zweideutigkeit der Normalisierung, die wir am Ende des Beweises des
Satzes 10.29 erwähnt haben. Wenn man die Normalisierung so festlegt, dass die erste von Null
verschiedene Koordinate positiv ist, dann sind die approximierende Eigenvektoren
v0 =
v4 =
0.707
0.707
0.7105
−0.7036
v1 =
v5 =
0.316
−0.948
0.7064
−0.7078
v2 =
0.789
−0.613
v6 =
0.7072
−0.7069
v3 =
mit Eigenwert λ2 = 2. Die Konvergenz ist ziemlich schnell, die Rate ist
1 5−2.5 1 2−2.5 =
|2 − 2.5|
1
=
|5 − 2.5|
5
0.68
−0.723
v7 =
und sie konvergieren gegen den genauen Eigenvektor
√ 0.707
1/ √2
≈
−1/ 2
−0.707
0.70707
−0.70713
291
Numerik I. Version: 05.07.07
Falls p = 3 ausgewählt wurde, erhält man eine langsamere Konvergenz:
(A − 3)
Die Iteration (mit u0 =
u1 =
0.37
−0.25
0 1
2 1
−1
=
0
1
u5 =
u2 =
−0.31
0.37
−1/2 1/2
u1 =
1
0
u6 =
0.335
u9 =
u8 =
−0.328
und die Verhältnisse der ersten Koordinaten sind
0
=0
1
−1/2 1/2
1
0
1
) liefert
1
=
−1/2 1/2
u0 =
1
0
u4 =
−1
1/2
=∞
0
−0.25
= −0.5
1/2
0.343
−0.312
1/2
0
−0.332
0.335
u3 =
u7 =
0.37
= −1.48
−0.25
−0.25
0.5
−0.328
0.343
−0.31
= −0.83
0.37
−0.328
0.335
−0.332
0.343
= −1.1
= −0.95
= −1.02
= −0.99
−0.31
0.343
−0.328
−0.335
usw. Der Eigenwert ist etwa −1. Dies ist der Eigenwert von (A − 3)−1 , und der entspre-
chende Eigenwert von A wird aus der Gleichung (λ − 3)−1 ≈ −1 bestimmt, d.h. λ ≈ 2. Die
normalisierten Vektoren sind
v0 =
0.707
0.707
v1 =
0
1
−0.64
0.74
v5 =
v6 =
0.76
−0.67
Die Rate der Konvergenz ist
v2 =
v7 =
1
0
1 5−3 1 2−3 −0.69
0.723
v3 =
−0.44
0.89
v8 =
v4 =
0.715
−0.698
0.83
−0.55
v9 =
−0.702
0.711
1
= ,
2
also langsamer als in den Fällen p = 0 oder p = 2.5.
10.4
QR-Verfahren
Sei die n × n Matrix A diagonalisierbar
A = V DV −1 .
Der Einfachheit halber nehmen wir an, dass alle Eigenwerte einfach sind. Das Ziel ist, die
Matrix A mit einer Folge der Ähnlichkeitstransformationen auf Diagonalform zu bringen:
A =: A(0) −→ A(1) −→ A(2) −→ . . .
292
Numerik I. Version: 05.07.07
mit
A(k+1) = Sk−1 A(k) Sk ,
Sk
regulär
Dann gilt
σ(A(k) ) = σ(A),
Definiere
∀k
Tk := S1 . . . Sk
dann gilt
A(k) = S1 . . . Sk
−1 −1
A S1 . . . Sk = S1 . . . Sk
V
−1
V DV −1 S1 . . . Sk = Tk DTk−1
Nehmen wir an, dass die Matrizen Sk so gewählt werden können, dass die Folge A(k) gegen
eine Diagonalmatrix konvergiert. Dann enthält diese Diagonalmatrix die Eigenwerte von A
wegen der Ähnlichkeit von A(k) und D.
Wie stabil ist dieses Verfahren gegenüber kleinen Störungen in der Matrix A(k) ? Wegen
der Abschätzung (10.13) hängt dies von der Konditionszahl κ(Tk ) ab, und
κ(Tk ) ≤ κ(S1 ) . . . κ(Sk )κ(V ).
Dieses Produkt entspricht auch der schlimmsten relativen Fehlervergrößerung während des
Verfahrens, da die Matrix Tk iterativ berechnet wurde.
Diese Fehlervergrößerung wird am kleinsten, falls alle Sj -Matrizen orthogonal sind. Die
Konditionszahl κ(V ) hängt von der ursprünglichen Matrix ab (auch bei der besten Wahl
von V , siehe (10.15)). Mit der Wahl der orthogonalen Matrizen Sj wird die Instabilität der
Bestimmung der Eigenwerte nicht höher als die Kondition der theoretischen Aufgabe (gegeben
durch (10.13)).
Es gibt verschiedene Methoden für die Bestimmung der Matrizen Sk . Eine theoretisch sehr
schöne Methode ist das sogenannte Jacobi-Verfahren für symmetrische Matrizen, das GivensRotationsmatrizen (7.25) als Sk benutzt. Es ist einfach zu sehen, dass man mit einer guten
Wahl der Givensmatrix Sk ein beliebiges nichtdiagonales Element aij (i 6= j) der Matrix A(k−1)
annullieren kann.
(k−1)
Sk A
Skt

(k−1)
a11
 .
 ..

= Sk 

...

..
.
...
(k−1)
aij
(k−1)
a1n
..
.
...
..
.



 t
 Sk



(k)

...
..
.
a11
 .
 ..
=

(k)

. . . a1n
.. 
. 
0


... 
..
.
= A(k)
293
Numerik I. Version: 05.07.07
Im nächsten Schritt kann dieses annullierte Element wieder verschieden von Null sein (im Gegensatz zum Verfahren der LR- oder QR-Zerlegung, wo man immer mehr Elemente annulliert).
Jedoch gilt die Abschätzung:
X
(k)
[aij ]2 =
i6=j
X
(k−1) 2
[aij
i6=j
(k−1) 2
] − 2[aij
] .
(k−1)
Also wenn man immer das betragmäßig größte Element aij
annulliert, konvergieren alle
nichtdiagonalen Elemente gegen Null, d.h. im Limes ist eine Diagonalmatrix erreicht. Man
kann darüber mehr in Kapitel 13.4. des Buches von Plato lesen.
Hier beschäftigen wir uns mit der einfachsten Variante der leistungsfähigsten Methode:
Das QR Verfahren. Der Algorithmus ist überraschend einfach:
Berechnen Sie die QR-Zerlegung von A = A(0) :
A(0) =: Q0 R0
dann definieren Sie
A(1) := R0 Q0 .
Berechnen Sie jetzt die QR-Zerlegung von A(1) :
A(1) = Q1 R1
und definieren
A(2) := R1 Q1 .
Im m-ten Schritt berechnen Sie die QR-Zerlegung von A(m) :
A(m) = Qm Rm
und definieren Sie
A(m+1) := Rm Qm .
Alle diese Matrizen sind ähnlich, da
A(m+1) = Rm Qm = Qtm Qm Rm Qm = Qtm A(m) Qm .
(10.23)
Tatsache ist, dass in vielen Fällen die Folge A(m) gegen eine Diagonalmatrix (falls A symmetrisch ist) oder eine Dreiecksmatrix (falls A nichtsymmetrisch ist) konvergiert. Zum Beispiel
gilt der folgende Satz für symmetrische Matrizen:
294
Numerik I. Version: 05.07.07
Satz 10.34 Sei A symmetrisch mit Eigenwerten λ1 , . . . , λn , so dass
|λ1 | > |λ2 | > . . . > |λn | > 0.
(10.24)
Dann gilt
lim Qm = I
m→∞
lim Pm = Q,
mit Pm := Q0 Q1 . . . Qm
m→∞
wobei die Spalten von Q enthälten die (normalisierte) Eigenvektoren von A und

lim A(m) = lim Rm = Λ := 

m→∞
m→∞
λ1
..

.
λn

.
(10.25)
Die Geschwindigkeit der Konvergenz gegen die Diagonalmatrix ist exponentiell und ist durch
(k)
λ k i
aij = O gegeben.
für i > j
λj
Mit einer genaueren Analyse kann man beweisen, dass das Verfahren im Fall der symmetrischen Matrizen auch für mehrfache Eigenwerte λi = . . . = λj konvergiert. Falls hingegen
λi = −λi+1 , so konvergiert das Verfahren nicht und 2 × 2 Blöcke bleiben in der Diagonale der
Limesmatrix stehen.
Ohne die Symmetrie der Matrix gilt derselbe Satz, aber statt (10.25) steht




lim A(m) = m→∞
lim Rm = Λ := 
m→∞
λ1
∗
λ2
∗
∗
..
.
...
...

∗
∗ 

,
.. 
. 
λn
d.h. die Folge der Matrizen A(m) konvergiert gegen eine obere Dreiecksmatrix mit den Eigenwerten von A auf der Diagonale (Beweis: Platos Buch, Theorem 13.26). Dies liefert die
Schur-Zerlegung.
Beachten Sie, dass die Bedingung (10.24) für reelle (nicht-symmetrische) Matrizen mit
komplexen Eigenwerten nicht erfüllt ist. Mittels reeller Verfahren (Multiplikation mit reellen
Matrizen) kann man keine komplexe Eigenwerte auf der Diagonale erreichen. In diesen Fall
ist das Ziel, gegen eine Matrix zu konvergieren, die entlang der Diagonale möglicherweise
auch 2 × 2 Blöcke enthält und in den meisten Fällen gilt diese Konvergenz. Wie bei den
Potenzverfahren (Bemerkung 10.32), kann man auch beim QR-Verfahren diese Symmetrie mit
einer Verschiebung brechen: Statt der Matrix A betrachtet man A − cI mit einer Konstante
295
Numerik I. Version: 05.07.07
c. Die Wahl dieser Konstante ist theoretisch fast beliebig: Fast jede Wahl wird die Symmetrie
brechen. Um die Symmetrie der zwei komplexen Eigenwerte zu brechen, muss man natürlich
eine komplexe Zahl mit Im(c) 6= 0 wählen.
(Partieller Beweis) des Satzes 10.34. (siehe z.B. Deuflhard-Hohmann: Numerische Mathe-
matik I, Satz 5.10, für den ganzen Beweis).
Seien v1 , . . . vn die Eigenvektoren von A. Der Einfachheit halber nehmen wir an, dass A
regulär ist und
 
1
e1 · v1 6= 0,
mit e1 =
0
 
 .. 
.
0
Mit Pm := Q0 Q1 . . . Qm gilt
Pm A(m+1) = APm
(10.26)
aus dem Algorithmus und
Pm Rm = Pm−1 Qm Rm = Pm−1 A(m) = APm−1 .
Multiplizieren wir diese Matrix mit e1 :
(m)
Pm Rm e1 = r11 Pm e1 = APm−1 e1 ,
da Rm obere Dreiecksmatrix ist. Sei
y0 := e1 ,
ym := Pm e1 ,
dann ist kym k = kPm e1 k = 1, weil Pm orthogonal ist. Darüber hinaus gilt
(m)
(m)
kAym−1 k = kr11 Pm e1 k = r11
(m)
(r11 > 0 wegen der Vorzeichenkonvention in der QR-Zerlegung!). Deshalb
ym =
Aym−1
→ ±v1
kAym−1 k
aufgrund des Potenzverfahrens (Satz 10.29). Die informelle Notation → ±v1 bedeutet, dass die
Häufungspunkte der Folge ym die Vektoren v1 und −v1 sind. Damit konvergiert Aym − λ1 ym
gegen Null, d.h.
Aym − λ1 ym = APm e1 − λ1 Pm e1 = Pm (A(m+1) e1 − λn e1 ) → 0
mit der Anwendung von (10.26). Deswegen
A(m+1) e1 → λ1 e1
296
Numerik I. Version: 05.07.07
d.h.
(m+1)
a11
(m+1)
→ λ1 ,
ai1
→ 0,
(i ≥ 2)
falls m → ∞. Die Geschwindigkeit der Konvergenz ist O(|λ2 /λ1 |m ) wie beim Potenzverfahren.
Dieses Argument zeigt nur die Konvergenz der ersten Spalte; die Idee ist ähnlich für die
anderen. Da alle Iterationsmatrizen symmetrisch sind (das Sandwiching (10.23) ändert die
Symmetrie nicht), folgt unmittelbar auch die Elimination der ersten Zeile aus der Elimination
der ersten Spalte.
2
Es gibt viele Verfeinerungen des QR-Verfahrens, die sich z. B. mit mehrfachen Eigenwerten beschäftigen. Eine der wichtigsten Ideen ist, die Matrix A zuerst mit Householder- (oder
Givens-) Transformationen in eine Hessenbergmatrix umzuformen. Eine obere Hessenbergmatrix besitzt die Form:


∗ ... ... ... ∗
∗
∗
∗



.. 
.
.
0
.
.
∗

.. 

 .. . .
.. ..
.
.
. .
.
0 ... 0
∗ ∗
Es ist einfach zu sehen, dass jede Matrix durch “Sandwiching” mit (n−2) Householdermatrizen
in eine Hessenbergmatrix umgeformt werden kann:
Hn−2 Hn−3 . . . H1 A H1 . . . Hn−2 = Hessenberg
Beachten Sie: dieses Verfahren ist ganz unterschiedlich zur QR-Zerlegung durch HouseholderMatrizen, wobei keine Ähnlichkeitstransformation gefordert wurde, d.h. nur Linksmultiplikationen mit Householder-Matrizen aufgetreten sind.
Im Fall der symmetrischen Matrizen führt die Hessenberg-Form zu einer tridiagonalen
Form (die Symmetrieeigenschaft bleibt nach dem Householder-Sandwiching erhalten, da H =
H t = H −1 ist). Man kann zeigen, dass die tridiagonale Gestalt der ursprünglichen Matrix A
auch für alle iterierten Matrizen A(1) , A(2) , . . . gilt. Damit sind die benötigten QR-Zerlegungen
wenig aufwendig. Weitere Details werden in Numerik II. diskutiert.

Documents pareils