Potenzmethode

Die Potenzmethode, Vektoriteration oder von-Mises-Iteration (nach Richard von Mises) ist ein numerisches Verfahren zur Berechnung des betragsgrößten Eigenwertes und des dazugehörigen Eigenvektors einer Matrix. Der Name kommt daher, dass Matrixpotenzen A^{k}x 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.

Der Algorithmus

Motivation

Aus der Stochastik abgeleitet gibt es folgenden naiven Ansatz zur Eigenwertberechnung: Betrachtet man einen stochastischen Startvektor v_{0} und eine spaltenstochastische Matrix S, dann ist die Wahrscheinlichkeitsverteilung einer Markow-Kette zum Zeitpunkt t genau v_{t}=Sv_{{t-1}}. Falls nun die v_{t} 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=\lim _{{i\rightarrow \infty }}S^{i}v_{0}, es wurden Matrixpotenzen gebildet. Dieses Verfahren lässt sich nun für beliebige Matrizen verallgemeinern.

Allgemeiner Algorithmus

Gegeben sei eine quadratische Matrix A\in {\mathbb  {C}}^{{n\times n}} und ein Startvektor r_{0}\in {\mathbb  {C}}^{n} mit Ar_{0}\neq 0. In jedem Iterationsschritt wird die Matrix A auf die aktuelle Näherung r_{k} angewandt und dann normiert.

r_{{k+1}}={\frac  {Ar_{k}}{\Vert Ar_{k}\Vert }}

oder in geschlossener Form

r_{{k+1}}={\frac  {A^{{k+1}}r_{0}}{\Vert A^{{k+1}}r_{0}\Vert }}

Die Vektoren r_{k} 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 \lambda _{1}=\ldots =\lambda _{d} und |\lambda _{d}|>|\lambda _{{d+1}}|\geq \ldots \geq |\lambda _{n}|. Hierbei ist  d die geometrische (und algebraische) Vielfachheit des Eigenwerts \lambda _{1}.

Der zum Vektor r_{k} gehörende approximierte Eigenwert kann auf zwei Arten berechnet werden:

  1. Bildet man die Skalare \theta _{k}={\frac  {\langle r_{k},\,Ar_{k}\rangle }{\langle r_{k},\,r_{k}\rangle }}={\frac  {\langle r_{k},\,r_{{k+1}}\rangle }{\Vert r_{k}\Vert _{2}^{2}}} (den sogenannten Rayleigh-Quotient), so konvergiert \theta _{k} gegen \lambda_1. Dies folgt direkt aus der Konvergenz von r_{k} gegen einen Eigenvektor.
  2. Ist man nicht am Vorzeichen des Eigenwertes interessiert, so bietet sich ein einfacher Ansatz an: Da r_{k} gegen einen Eigenvektor konvergiert und in jedem Schritt auf 1 normiert wird, konvergiert \Vert Ar_{k}\Vert gegen |\lambda _{1}| (unabhängig von der verwendeten Norm).

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 A^{k}=VD^{k}V^{{-1}} wobei D nach Voraussetzung eine Diagonalmatrix ist, welche die Eigenwerte enthält. Sei nun v_{1},\ldots ,v_{n} eine Basis aus Eigenvektoren (die Spaltenvektoren von V) und r_{0} ein Startvektor mit

r_{0}=\sum _{{i=1}}^{n}\beta _{i}v_{i}\quad {\text{mit}}\;\beta _{1}v_{1}+\ldots +\beta _{d}v_{d}\neq 0

Dann ist

\displaystyle {\begin{aligned}A^{k}r_{0}&=VD^{k}V^{{-1}}r_{0}\\&=VD^{k}(\beta _{1}e_{1}+\ldots +\beta _{n}e_{n})\\&=\lambda _{1}^{k}V\left(\beta _{1}e_{1}+\ldots +\beta _{d}e_{d}+\sum _{{i=d+1}}^{n}\left({\frac  {\lambda _{i}}{\lambda _{1}}}\right)^{k}e_{i}\right)\\&=\lambda _{1}^{k}\left(\beta _{1}v_{1}+\ldots +\beta _{d}v_{d}+\underbrace {\sum _{{i=d+1}}^{n}\left({\frac  {\lambda _{i}}{\lambda _{1}}}\right)^{k}v_{i}}_{{\to 0{\text{ für }}k\to \infty }}\right)\end{aligned}}

Da nach der Voraussetzung gilt, dass {\tfrac  {|\lambda _{i}|}{|\lambda _{1}|}}<1\;{\text{für}}\;i\geq d+1. Wegen

\lim _{{k\to \infty }}\lambda _{1}^{k}={\begin{cases}\pm \infty &\;{\text{für}}\;|\lambda _{1}|>1\\0&\;{\text{für}}\;|\lambda _{1}|<1\end{cases}}

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 \Vert r_{k}-e\Vert _{\infty } 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 |\lambda _{2}|/|\lambda _{1}|, wobei die Eigenwerte dem Betrage nach abfallend sortiert angenommen werden, |\lambda _{1}|>|\lambda _{2}|\geq \ldots \geq |\lambda _{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={\begin{pmatrix}1&0&0&0\\0&0.8&0&0\\0&0&0.8&0\\0&0&0&0.8\end{pmatrix}}\quad {\text{mit}}\quad A^{n}={\begin{pmatrix}1&0&0&0\\0&0.8^{n}&0&0\\0&0&0.8^{n}&0\\0&0&0&0.8^{n}\end{pmatrix}}

und

B={\begin{pmatrix}1&0&0&0\\0&0.8&1&0\\0&0&0.8&1\\0&0&0&0.8\end{pmatrix}}\quad {\text{mit}}\quad B^{n}={\begin{pmatrix}1&0&0&0\\0&0.8^{n}&n\cdot 0.8^{{n-1}}&{\tfrac  {n(n-1)}{2}}\cdot 0.8^{{n-2}}\\0&0&0.8^{n}&n\cdot 0.8^{{n-1}}\\0&0&0&0.8^{n}\end{pmatrix}}

Beide haben den Eigenvektor e=(1,0,0,0)^{T} zum betragsgrößten Eigenwert \lambda _{1}=1 und die Separation der Eigenwerte ist |\lambda _{2}/\lambda _{1}|=0.8. Unter Verwendung der Maximumsnorm \|x\|_{{\infty }}:=\max(|x_{1}|,\ldots ,|x_{n}|) und des Startvektors r_{0}=(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.

Varianten

Hat man einen Eigenwert \lambda ausgerechnet, kann man das Verfahren auf die Matrix A-\lambda I anwenden, um ein weiteres Eigenwert-Eigenvektor-Paar zu bestimmen. Darüber hinaus gibt es die inverse Iteration, bei der das Verfahren auf (A-\lambda 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.

Trenner
Basierend auf einem Artikel in: Extern Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung:  Jena, den: 31.03. 2023