Potenzmethode

Aus testwiki
Zur Navigation springen Zur Suche springen

Die Potenzmethode, Vektoriteration oder Von-Mises-Iteration (nach Richard von Mises)[1] ist ein numerisches Verfahren zur Berechnung des betragsgrößten Eigenwertes und des dazugehörigen Eigenvektors einer Matrix. Der Name kommt daher, dass Matrixpotenzen Akx gebildet werden, wesentlicher Aufwand sind also Matrix-Vektor-Produkte. Deswegen ist das Verfahren insbesondere für dünnbesetzte Matrizen geeignet. Eine direkte Verallgemeinerung zur Berechnung mehrerer betragsgrößter Eigenwerte dünnbesetzter Matrizen ist die Unterraumiteration.

Die Potenzmethode lässt sich als nicht-optimales Krylow-Unterraum-Verfahren interpretieren, welches nur den jeweils letzten berechneten Vektor zur Eigenwertnäherung verwendet. Die Potenzmethode ist hinsichtlich der Konvergenzgeschwindigkeit den anderen Krylow-Raum-Verfahren, wie etwa dem Verfahren von Lanczos oder dem Verfahren von Arnoldi unterlegen. Dafür schneidet die Potenzmethode hinsichtlich der Stabilitätsanalyse besser ab.[2]

Algorithmus

Motivation

Aus der Stochastik abgeleitet gibt es folgenden naiven Ansatz zur Eigenwertberechnung: Betrachtet man einen stochastischen Startvektor v0 und eine spaltenstochastische Matrix S, dann ist die Wahrscheinlichkeitsverteilung einer Markow-Kette zum Zeitpunkt t genau vt=Svt1. Falls nun die vt gegen einen Vektor v konvergieren, so ist Sv=v und wir haben eine vom Anfangszustand unabhängige stationäre Verteilung und damit auch einen Eigenvektor zum Eigenwert 1 gefunden. Formal ist also v=limiSiv0, es wurden Matrixpotenzen gebildet. Dieses Verfahren lässt sich nun für beliebige Matrizen verallgemeinern.

Allgemeiner Algorithmus

Gegeben sei eine quadratische Matrix An×n und ein Startvektor r0n. Der Algorithmus approximiert den betragsmäßig größten Eigenwert λ1 von A unter der Voraussetzung, dass der Eigenwert halbeinfach ist und sein Betrag strikt größer als der aller anderen Eigenwerte. Zudem sei der Startvektor nicht orthogonal zum Eigenraum von λ1. In jedem Iterationsschritt wird die Matrix A auf die aktuelle Näherung rk angewandt und dann normiert.

rk+1=ArkArk

oder in geschlossener Form

rk+1=Ak+1r0Ak+1r0

Die Vektoren rk konvergieren gegen einen Eigenvektor zum betragsgrößten Eigenwert, sofern dieser Eigenwert halbeinfach ist und alle anderen Eigenwerte einen echt kleineren Betrag haben. Es existiert also ein Index d, so dass für die Eigenwerte gilt λ1==λd und |λd|>|λd+1||λn|. Hierbei ist d die geometrische (und algebraische) Vielfachheit des Eigenwerts λ1.

Der zum Vektor rk gehörende approximierte Eigenwert kann auf zwei Arten berechnet werden:

  1. Bildet man die Skalare θk=rk,Arkrk,rk=rk,Arkrk22 (den sogenannten Rayleigh-Quotienten), so konvergiert θk gegen λ1. Dies folgt direkt aus der Konvergenz von rk gegen einen Eigenvektor.
  2. Ist man nicht am Vorzeichen des Eigenwertes interessiert, so bietet sich ein einfacher Ansatz an: Da rk gegen einen Eigenvektor konvergiert und in jedem Schritt auf 1 normiert wird, konvergiert Ark gegen |λ1| (unabhängig von der verwendeten Norm).

Ist A=VJV1 die Darstellung der quadratischen Matrix in der jordanschen Normalform, dann ergibt sich daraus Ak=(VJV1)k=VJkV1, also AkV=VJk. Ist nun x=Vx~ ein zufälliger Vektor, dann gilt

Akx=AkVx~=VJkx~=i=1nviλikx~i

Ausklammern eines konstanten Faktors ergibt

Akx=λ1ki=1nvi(λiλ1)kx~i

Dann gilt limk(λiλ1)k=0 für jedes i>1 und für große k ist Akx und damit rk fast parallel zu (λ1/|λ1|)kv1, da nach Voraussetzung x~10 (was z. B. durch eine zufällige Wahl des Vektors sichergestellt werden kann).Somit konvergiert rk gegen einen normierten Eigenvektor zum Eigenwert λ1.[3][4]

Beweis der Konvergenz

Wir geben hier einen Beweis unter der Annahme, dass die Matrix A diagonalisierbar ist. Der Beweis für den nichtdiagonalisierbaren Fall läuft analog.

O.B.d.A. seien die Eigenwerte wie oben angeordnet. Sei V die Basiswechselmatrix zur Matrix A. Dann ist Ak=VDkV1 wobei D nach Voraussetzung eine Diagonalmatrix ist, welche die Eigenwerte enthält. Sei nun v1,,vn eine Basis aus Eigenvektoren (die Spaltenvektoren von V) und r0 ein Startvektor mit

r0=i=1nβivimitβ1v1++βdvd0

Dann ist

Akr0=VDkV1r0=VDk(β1e1++βnen)=λ1kV(β1e1++βded+i=d+1n(λiλ1)kei)=λ1k(β1v1++βdvd+i=d+1n(λiλ1)kvi0 für k)

Da nach der Voraussetzung gilt, dass |λi||λ1|<1fürid+1. Wegen

limkλ1k={±für|λ1|>10für|λ1|<1

wird in jedem Schritt die Normierung des Vektors auf 1 durchgeführt. Die oben angegebene Bedingung an den Startvektor besagt, dass er einen Nichtnullanteil in Richtung des Eigenvektors haben muss. Dies ist aber meist nicht einschränkend, da sich diese Bedingung durch Rundungsfehler in der Praxis oftmals von alleine ergibt.

Konvergenzgeschwindigkeit

Konvergenzgeschwindigkeit der Potenzmethode für die Matrizen A (blau) und B (grün). Es ist jeweils rke gegen die Anzahl der Iterationsschritte aufgetragen.

Unter der häufigen starken Voraussetzung, dass der Eigenwert einfach, betragsmäßig einfach und gut separiert ist, konvergieren sowohl die Eigenwertnäherungen als auch die Eigenvektornäherungen linear mit der Konvergenzgeschwindigkeit |λ2|/|λ1|, wobei die Eigenwerte dem Betrage nach abfallend sortiert angenommen werden, |λ1|>|λ2||λn|. Diese Voraussetzung ist zum Beispiel nach dem Satz von Perron-Frobenius bei Matrizen mit positiven Einträgen erfüllt. Des Weiteren haben noch Jordanblöcke einen Einfluss auf die Konvergenzgeschwindigkeit. Betrachte dazu als Beispiel die Matrizen

A=(100000,800000,800000,8)mitAn=(100000,8n00000,8n00000,8n)

und

B=(100000,810000,810000,8)mitBn=(100000,8nn0,8n1n(n1)20,8n2000,8nn0,8n10000,8n)

Beide haben den Eigenvektor e=(1,0,0,0)T zum betragsgrößten Eigenwert λ1=1 und die Separation der Eigenwerte ist |λ2/λ1|=0,8. Unter Verwendung der Maximumsnorm x:=max(|x1|,,|xn|) und des Startvektors r0=(1,1,1,1)T konvergiert die Matrix A mit linearer Konvergenzgeschwindigkeit, während die Matrix B erst nach ca. 60 Iterationsschritten ein brauchbares Ergebnis liefert (vergleiche Bild).

Verwendung

Da zur Berechnung des Gleichgewichtszustandes großer Markow-Ketten nur der Eigenvektor zum betragsgrößten Eigenwert bestimmt werden muss, kann hierfür die Potenzmethode verwendet werden, wie bereits im Abschnitt „Motivation“ beschrieben wurde. Insbesondere kann hier auf die Normierung in jedem Rechenschritt verzichtet werden, da die betrachtete Matrix stochastisch ist und damit die Betragsnorm des stochastischen Vektors erhält. Ein Beispiel dafür ist die Berechnung der PageRanks eines großen gerichteten Graphen als betragsgrößten Eigenvektor der Google-Matrix. Insbesondere sind bei der Google-Matrix die Eigenwerte gut separiert, sodass eine schlechte Konvergenzgeschwindigkeit ausgeschlossen werden kann.[5]

Varianten

Hat man einen Eigenwert λ ausgerechnet, kann man das Verfahren auf die Matrix AλV anwenden, um ein weiteres Eigenwert-Eigenvektor-Paar zu bestimmen. Hierbei sei V das Kronecker-Produkt des Eigenvektors zum jeweiligen Eigenwert λ mit sich selbst. Dabei wird vorausgesetzt, dass A unitär diagonalisierbar ist. AλV erhält dabei alle Eigenwerte von A mit Ausnahme von λ (λ=0).

Darüber hinaus gibt es die inverse Iteration, bei der das Verfahren auf (AλI)1 angewandt wird, indem in jedem Schritt lineare Gleichungssysteme gelöst werden.

Vergleiche mit anderen Krylowraum-Verfahren

Die Potenzmethode ist den anderen Krylowraum-Verfahren sehr ähnlich. Es finden sich die typischen Bestandteile der komplexeren Verfahren wieder, so etwa die Normierung der konstruierten Basisvektoren, die Erweiterung des Krylowraumes und die Berechnung von (Elementen von) Projektionen im letzten Schritt.

Literatur

  • Hans R. Schwarz, Norbert Köckler: Numerische Mathematik. 5. Auflage. Teubner, Stuttgart 2004, ISBN 3-519-42960-8.
  • Vorlage:Literatur
  • Josef Stoer, Roland Bulirsch: Numerische Mathematik 2. 5. Auflage. Springer, Berlin/Heidelberg/New York 2005, ISBN 978-3-540-23777-8.

Einzelnachweise

  1. R. von Mises und H. Pollaczek-Geiringer, Praktische Verfahren der Gleichungsauflösung, ZAMM - Zeitschrift für Angewandte Mathematik und Mechanik 9, 152–164 (1929).
  2. J. H. Wilkinson, The Algebraic Eigenvalue Problem, Oxford University Press (1965).
  3. Vorlage:Literatur
  4. Cornell University: Power iteration.
  5. The Second Eigenvalue of the Google Matrix . Website der Stanford University . Abgerufen am 30. August 2013.