Unterraumiteration

Die Unterraumiteration dient in der numerischen Mathematik der Approximation von Eigenwerten einer quadratischen Matrix A C n × n {\displaystyle A\in \mathbb {C} ^{n\times n}} und der dazugehörigen Eigenvektoren. Sie ist eine Verallgemeinerung der einfachen Vektoriteration (Von-Mises-Iteration) und benötigt wie diese die Matrix A {\displaystyle A} nur in Form von Matrix-Vektor-Produkten A v {\displaystyle A\cdot v} , ist also besonders geeignet für dünnbesetzte Matrizen. Im Unterschied zur Vektoriteration kann man damit aber mehrere Eigenwerte mit den größten Beträgen bestimmen. Tatsächlich lässt sich über die Unterraum-Iteration auch das Standardverfahren zur Berechnung aller Eigenwerte herleiten, der QR-Algorithmus.

Motivation

Der Artikel Potenzmethode zeigt, dass sich ein genügend allgemeiner Startvektor u 0 C n {\displaystyle u_{0}\in \mathbb {C} ^{n}} bei k {\displaystyle k} -facher Anwendung der Matrix wie in A k u 0 {\displaystyle A^{k}u_{0}} langsam in die Richtung eines Eigenvektors v 1 {\displaystyle v_{1}} zum betragsgrößten Eigenwert λ 1 {\displaystyle \lambda _{1}} dreht. Um ein zu großes Anwachsen der Werte zu verhindern, wird der Vektor dabei aber nach jedem Schritt in eine Richtungsinformation und eine Größeninformation aufgespaltet,

u k A u k 1 := A u k 1 . {\displaystyle u_{k}\|Au_{k-1}\|:=Au_{k-1}.}

Die Unterraumiteration verallgemeinert dieses Vorgehen, indem man es gleichzeitig auf m n {\displaystyle m\leq n} (i. d. R. m n {\displaystyle m\ll n} ) Vektoren anwendet. Wenn diese genügend allgemein sind, bilden sie die Basis eines m {\displaystyle m} -dimensionalen Untervektorraums, die man in einer Basismatrix U 0 C n × m {\displaystyle U_{0}\in \mathbb {C} ^{n\times m}} zusammenfassen kann. Der Basisschritt im Verfahren ist wieder die Multiplikation mit der Matrix, also A U 0 , A ( A U 0 ) , {\displaystyle AU_{0},A(AU_{0}),\ldots } . Nach jeder Multiplikation macht man aber wie bei der Potenzmethode wieder eine Aufspaltung in Richtungs- und Größeninformation. Dabei gibt es verschiedene Möglichkeiten, eine numerisch besonders günstige Version ist die Verwendung von Orthonormalbasen (ONB), wobei dann U 0 U 0 = I m R m × m {\displaystyle U_{0}^{\ast }U_{0}=I_{m}\in \mathbb {R} ^{m\times m}} gilt mit der Einheitsmatrix I m {\displaystyle I_{m}} und U 0 = U ¯ 0 T {\displaystyle U_{0}^{\ast }={\bar {U}}_{0}^{T}} . Nach Multiplikation der Basismatrix U {\displaystyle U} mit A {\displaystyle A} erfolgt die Aufspaltung in Richtungsinformation (ONB) und Größeninformation mit Hilfe der QR-Zerlegung.

Ablauf der Unterraumiteration

Das Verfahren startet mit einer orthogonalen Matrix U ^ 0 C n × m ,   m n , {\displaystyle {\hat {U}}_{0}\in \mathbb {C} ^{n\times m},\ m\leq n,} , d. h. U ^ 0 U ^ 0 = I m R m × m {\displaystyle {\hat {U}}_{0}^{\ast }{\hat {U}}_{0}=I_{m}\in \mathbb {R} ^{m\times m}} . Im k {\displaystyle k} -ten Schritt des Verfahrens berechnet man aus der Matrix U ^ k 1 C n × m ,   m n , {\displaystyle {\hat {U}}_{k-1}\in \mathbb {C} ^{n\times m},\ m\leq n,} die Matrizen U ^ k , R ^ k {\displaystyle {\hat {U}}_{k},{\hat {R}}_{k}} über eine reduzierte QR-Zerlegung,

U ^ k R ^ k = A U ^ k 1 . {\displaystyle {\hat {U}}_{k}\cdot {\hat {R}}_{k}=A{\hat {U}}_{k-1}.}

Dabei bildet U ^ k C n × m {\displaystyle {\hat {U}}_{k}\in \mathbb {C} ^{n\times m}} eine neue Orthonormalbasis und R ^ k C m × m {\displaystyle {\hat {R}}_{k}\in \mathbb {C} ^{m\times m}} ist eine quadratische obere Dreiecksmatrix. Das Verfahren konvergiert, wenn bei den Eigenwerten λ 1 , , λ n {\displaystyle \lambda _{1},\ldots ,\lambda _{n}} von A {\displaystyle A} eine Lücke bei den Beträgen hinter dem m {\displaystyle m} -ten Eigenwert auftritt, | λ 1 | | λ m | > | λ m + 1 | {\displaystyle |\lambda _{1}|\geq \ldots \geq |\lambda _{m}|>|\lambda _{m+1}|\geq \ldots } . Dann konvergieren die von den Basen aufgespannten Unterräume V k := U ^ k C m {\displaystyle V_{k}:={\hat {U}}_{k}\mathbb {C} ^{m}} gegen einen invarianten Unterraum V {\displaystyle V} von A {\displaystyle A} mit A V V {\displaystyle AV\subseteq V} (vgl. Untervektorraum). Wenn U C n × m {\displaystyle U\in \mathbb {C} ^{n\times m}} eine Basismatrix von V {\displaystyle V} ist, bedeutet das, dass es eine Matrix S C m × m {\displaystyle S\in \mathbb {C} ^{m\times m}} gibt, so dass A U = U S {\displaystyle AU=US} gilt. Die m {\displaystyle m} Eigenwerte von S {\displaystyle S} sind dann genau die m {\displaystyle m} betragsgrößten Eigenwerte λ 1 , , λ m {\displaystyle \lambda _{1},\ldots ,\lambda _{m}} von oben. Bei der Unterraumiteration bekommt man die Grenzmatrix S {\displaystyle S} einfach als Grenzwert der Matrizen S k := U ^ k ( A U ^ k ) {\displaystyle S_{k}:={\hat {U}}_{k}^{\ast }(A{\hat {U}}_{k})} , wobei A U ^ k {\displaystyle A{\hat {U}}_{k}} im Verfahren sowieso berechnet wird. Die Eigenwerte von S k {\displaystyle S_{k}} sind daher natürlich auch für endliches k {\displaystyle k} Approximationen der betragsgrößten Eigenwerte.

Querverbindung zum LR- und QR-Algorithmus

Obwohl der eigentliche Einsatzbereich der Unterraumiteration die Berechnung weniger Eigenwerte ( m n {\displaystyle m\ll n} ) dünnbesetzter Matrizen ist, kann man das Verfahren auch für die volle Dimension m = n {\displaystyle m=n} betrachten. Die reduzierte QR-Zerlegung U ^ k R ^ k = A U ^ k 1 . {\displaystyle {\hat {U}}_{k}\cdot {\hat {R}}_{k}=A{\hat {U}}_{k-1}.} stimmt dann mit der vollständigen QR-Zerlegung U k R k = A U k 1 {\displaystyle U_{k}\cdot R_{k}=AU_{k-1}} überein, wo alle Matrizen quadratische n × n {\displaystyle n\times n} -Gestalt haben. Insbesondere sind die Matrizen U k {\displaystyle U_{k}} unitär, U k = U k 1 {\displaystyle U_{k}^{\ast }=U_{k}^{-1}} . Entscheidend sind wieder die Matrizen S k := U k A U ^ k {\displaystyle S_{k}:=U_{k}^{\ast }A{\hat {U}}_{k}} , denn sie enthalten die Eigenwert-Information. Überlegt man sich nun, wie S k {\displaystyle S_{k}} aus S k 1 {\displaystyle S_{k-1}} hervorgeht, bekommt man aus der Unterraumiteration die Gleichung

S k = U k A U k = ( U k A U k 1 ) U k 1 U k = R k ( U k 1 U k ) . {\displaystyle S_{k}=U_{k}^{\ast }AU_{k}=(U_{k}^{\ast }AU_{k-1})U_{k-1}^{\ast }U_{k}=R_{k}(U_{k-1}^{\ast }U_{k}).}

Auch das eingeklammerte Produkt Q k := U k 1 U k {\displaystyle Q_{k}:=U_{k-1}^{\ast }U_{k}} ist wieder unitär. Es gilt aber auch direkt

S k 1 = U k 1 ( A U k 1 ) = ( U k 1 U k ) R k = Q k R k . {\displaystyle S_{k-1}=U_{k-1}^{\ast }(AU_{k-1})=(U_{k-1}^{\ast }U_{k})R_{k}=Q_{k}R_{k}.}

Das bedeutet aber, dass man S k = R k Q k {\displaystyle S_{k}=R_{k}Q_{k}} ohne Rückgriff auf die Originalmatrix A {\displaystyle A} direkt aus der QR-Zerlegung von S k 1 = Q k R k {\displaystyle S_{k-1}=Q_{k}R_{k}} berechnen kann. Dies beschreibt genau die einfachste Variante des QR-Algorithmus. Der Zusammenhang mit dem älteren LR-Algorithmus ist analog, dort werden statt der unitären Transformationen untere Dreiecksmatrizen aus LR-Zerlegungen verwendet.

Literatur

  • G. Golub, Ch. van Loan: Matrix Computations. Johns Hopkins, Baltimore and London 1989, ISBN 0-8018-3739-1.