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