5 Numerische Berechnung von Eigenwerten und Eigenvektoren 5. Motivation Die Berechnung der Eigenwerte einer Matrix A IR n n als Lösungen der charakteristischen Gleichung (vgl. Kapitel 45) ist für n 5 unpraktikabel, da für allgemeine Polynomgleichungen höheren als vierten Grades keine algebraische Auflösungsformel existiert. Daher sind numerische Näherungsverfahren notwendig. 5.2 Einfache Vektoriteration Andere Bezeichnungen: Potenzmethode, von-mises-verfahren Idee: Es sei A IR n n symmetrisch und u 0 IR n ein beliebiger Vektor. Wir betrachten die Iterationsvorschrift u k+ = Au k, k = 0,,... ( ) Was lässt sich über die Folge (u k ) aussagen? Im Folgenden seien λ,..., λ n die (reellen) Eigenwerte der Matrix A und v,..., v n zugehörige orthonormale Eigenvektoren. Ohne Einschränkung der Allgemeingültigkeit gelte λ λ 2... λ n. Es sei nun u 0 = α i v i die Darstellung von u 0 bezüglich der Basis {v,..., v n }. Dann gilt i= u = Au 0 = α i Av i = i= α i λ i v i. i= Allgemein ergibt sich (vgl. Satz 45.5) ( u k = A k u 0 = α i λ k i v i = λ k α v + i= 84 i=2 λ k i λ k α i v i ).
Falls λ > λ 2 (man sagt in diesem Falle, λ ist dominanter Eigenwert), so ( ) λ konvergiert k i λ k α λ k i v i für k gegen den Nullvektor (da i geometrische i=2 Folge mit einem Quotienten betragsmäßig kleiner als ist). Ist daher der Startvektor u 0 allgemein gewählt (präzise: so, dass α 0), so konvergieren die Vektoren u k gegen α v, also bis auf Normierung gegen den λ k dominanten Eigenvektor v. Die Konvergenz ist um so schneller, je kleiner die λ i für i = 2,..., n sind. λ Weiterhin konvergiert auch der Rayleigh-Koeffizient λ k gegen R A (u k ) = ut k Au k u T k u k = ut k u k+ u T k u k lim R A(u k ) = (α v ) T (λ α v ) = λ k (α v ) T. (α v ) Ergebnis: Die Vektoriteration ( ) ist ein einfaches Verfahren zur numerischen Annäherung des dominanten Eigenwertes (und damit der Spektralnorm) sowie des dominanten Eigenvektors einer symmetrischen Matrix. In der Praxis möchte man die durch den Faktor λ k erzeugten sehr großen (falls λ > ) oder sehr kleinen (falls λ < ) numerischen Werte vermeiden. Man normiert u k daher nach jedem Iterationsschritt. 85
5.3 Beispiel ( ) 0,9635,4266 Gegeben sei A = und der (bereits normierte) Anfangsvektor,4266 0,0365 ( ) 0 u 0 =. Wir berechnen mit 4 Nachkommastellen i u i := Aũ i ũ i := u i u i 0 0 0,4266 0,9997 0,0365 0,0256 0,9997 0,5737 2,427 0,890,72 0,8970 3 0,8483 0,442,4950 0,7557 4,2958 0,6550,6625 0,8335 5,020 0,5525,593 0,7962 6,2092 0,6050,6302 0,853 7,579 0,579,67 0,8059 8,842 0,592,622 0,806 9,73 0,5856,664 0,8082 0,778 0,5889 R A (ũ i ) 0,0365,0358,6824,937,9780,9944,9985,9996,9999 2,0000 Tatsächlich ist (auf 4 Nachkommastellen) der dominante Eigenwert von A gleich ( ) 0,8090 2 und der zugehörige normierte Eigenvektor. 0,5878 86
Kann man auch die nicht dominanten Eigenwerte und Eigenvektoren bestimmen? Wir lernen jetzt ein einfaches und robustes Verfahren zur Bestimmung aller Eigenwerte und Eigenvektoren einer symmetrischen Matrix kennen. 5.4 Das Jacobi-Verfahren Grundidee: Wendet man auf eine symmetrische Matrix A eine orthogonale Matrix Q an, so erhält man die Matrix Q T AQ, die dieselben Eigenwerte wie A besitzt, vgl. 44.8 (Wechsel zwischen Orthonormalbasen) und 46.4 (Hauptachsentransformation). Man transformiert nun A mithilfe einer Folge (Q k ) orthogonaler Matrizen auf Diagonalgestalt. Damit wird (numerisch angenähert) die Hauptachsenform A = QΛQ T erzeugt, aus der die Eigenwerte und Eigenvektoren abgelesen werden können. Algorithmische Umsetzung: Als orthogonale Transformationen verwendet man Rotationsmatrizen vom Typ 0... 0 0... cos ϕ... sin ϕ Q(i, j, ϕ) :=....... sin ϕ... cos ϕ... 0 0... 0 (die Rotationsmatrixeinträge stehen in der i-ten und j-ten Zeile und Spalte). Die Anwendung von Q(i, j, ϕ) verändert nur die i-te und j-te Zeile und Spalte von A. Man iteriert nun über die Nichtdiagonalelemente a ij. Wird im Iterationsschritt k das Element a ij, i j, betrachtet, so wählt man den Rotationswinkel ϕ k so, 87
dass Q = Q(i, j, ϕ k ) gerade die Einträge a ij und a ji zu Null macht: Mit ϕ k := 2 arccot a jj a ii 2a ij erhält man a ii a ij cos ϕk sin ϕ k aii a ij cos ϕk sin ϕ k = sin ϕ k cos ϕ k a ji a jj sin ϕ k cos ϕ k a ji = a jj wobei wegen cos 2 ϕ k a ii 2 cos ϕ k sin ϕ k a ij + sin 2 ϕ k a jj cos ϕ k sin ϕ k (a ii a jj ) + (cos 2 ϕ k sin 2 ϕ k )a ij cos ϕ k sin ϕ k (a ii a jj ) +(cos 2 ϕ k sin 2 ϕ k )a ij sin 2 ϕ k a ii + 2 cos ϕ k sin ϕ k a ij + cos 2 ϕ k a jj cos 2 ϕ k sin 2 ϕ k 2 cos ϕ k sin ϕ k = cos(2ϕ k) sin(2ϕ k ) = cot(2ϕ k) = a jj a ii 2a ij die Nebendiagonaleinträge a ij = a ji verschwinden., Bei wiederholtem Durchlauf über alle Nichtdiagonaleinträge entsteht so eine Kette von orthogonalen Transformationen Q, Q 2,..., und man kann zeigen, dass Q T k... QT 2 QT AQ Q 2... Q k diag(λ,..., λ n ) für k. Zugleich enthält die i-te Spalte der orthogonalen Matrix P k := Q Q 2... Q k eine Approximation des Eigenvektors zum Eigenwert λ i. Auch im Falle mehrfacher Eigenwerte entsteht automatisch ein orthonormales Eigenvektorsystem (keine Gram-Schmidt-Orthonormalisierung erforderlich). Ein ausgearbeiteter Algorithmus zum Jacobi-Verfahren ist zu finden in H. R. Schwarz: Numerische Mathematik. Teubner, Stuttgart. Komplexität: Im Falle einer n n-matrix werden pro Zyklus (einmaliges Durchlaufen aller Nichtdiagonaleinträge) etwa 32n 3 Multiplikationen benötigt. Typischerweise sind etwa sechs bis acht Zyklen erforderlich. 88
Bemerkungen: Die numerische Berechnung von Eigenwerten (und Eigenvektoren) ist rechenaufwändig. Sowohl für symmetrische Matrizen als auch im allgemeineren Fall nichtsymmetrischer Matrizen gibt es weitere, kompliziertere Verfahren zur Eigenwertbestimmung. 89