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.