Arnoldi-Verfahren

In der numerischen Mathematik ist das Arnoldi-Verfahren wie das Lanczos-Verfahren ein iteratives Verfahren zur Bestimmung einiger Eigenwerte und zugehöriger Eigenvektoren. Es ist nach Walter Edwin Arnoldi benannt. Im Arnoldi-Verfahren wird zu einer gegebenen Matrix A C n × n {\displaystyle A\in \mathbb {C} ^{n\times n}} und einem gegebenen Startvektor q C n {\displaystyle q\in \mathbb {C} ^{n}} eine orthonormale Basis des zugeordneten Krylowraumes

K m ( A , q ) = span { q , A q , A 2 q , A m 1 q } {\displaystyle {\mathcal {K}}_{m}(A,q)={\mbox{span}}\{q,Aq,A^{2}q,\ldots \,A^{m-1}q\}}

berechnet. Da die Spalten A i q {\displaystyle A^{i}q} bis auf eine etwaige Skalierung genau den in der Potenzmethode berechneten Vektoren entsprechen, ist es klar, dass der Algorithmus instabil wird, wenn zuerst diese Basis berechnet würde und anschließend, zum Beispiel nach Gram-Schmidt, orthonormalisiert würde.

Der Algorithmus kommt allerdings ohne die vorherige Aufstellung der sogenannten Krylowmatrix K m ( A , q ) = ( q , A q , A 2 q , , A m 1 q ) {\displaystyle K_{m}(A,q)=\left(q,Aq,A^{2}q,\ldots ,A^{m-1}q\right)} aus.

Der Algorithmus (MGS-Variante)

Gegeben sei eine quadratische Matrix A C n × n {\displaystyle A\in \mathbb {C} ^{n\times n}} und ein (nicht notwendig normierter) Startvektor r 0 C n {\displaystyle r_{0}\in \mathbb {C} ^{n}} .

for k N {\displaystyle k\in \mathbb {N} } and r k 1 0 {\displaystyle r_{k-1}\not =0} do

h k , k 1 r k 1 {\displaystyle h_{k,k-1}\leftarrow \|r_{k-1}\|}
q k r k 1 / h k , k 1 {\displaystyle q_{k}\leftarrow r_{k-1}/h_{k,k-1}}
r k A q k {\displaystyle r_{k}\leftarrow Aq_{k}}
for j = 1 , , k {\displaystyle j=1,\ldots ,k} do
h j k q j , r k {\displaystyle h_{jk}\leftarrow \langle q_{j},r_{k}\rangle }
r k r k q j h j k {\displaystyle r_{k}\leftarrow r_{k}-q_{j}h_{jk}}
end for

end for

Einsatz beim Eigenwertproblem

Nach m {\displaystyle m} Schritten hat das Arnoldi-Verfahren im Wesentlichen eine Orthonormalbasis in der Matrix Q m = ( q 1 , , q m ) {\displaystyle Q_{m}=(q_{1},\ldots ,q_{m})} bestimmt und eine Hessenbergmatrix

H m = ( h 11 h 12 h 1 m h 21 h 22 h 2 m 0 h m , m 1 h m m ) . {\displaystyle H_{m}={\begin{pmatrix}h_{11}&h_{12}&\ldots &h_{1m}\\h_{21}&h_{22}&\ldots &h_{2m}\\0&\ddots &\ddots &\vdots \\&&h_{m,m-1}&h_{mm}\end{pmatrix}}.}

Für diese im Arnoldi-Verfahren berechneten Größen gilt der Zusammenhang

A Q m = Q m H m + h m + 1 , m q m + 1 e m T {\displaystyle AQ_{m}=Q_{m}H_{m}+h_{m+1,m}q_{m+1}e_{m}^{T}}

wo e m {\displaystyle e_{m}} der m {\displaystyle m} -te Einheitsvektor ist. Daraus folgt:

  • Für h m + 1 , m = 0 {\displaystyle h_{m+1,m}=0} definiert die Gleichung A Q m = Q m H m {\displaystyle AQ_{m}=Q_{m}H_{m}} einen invarianten Unterraum der Matrix A {\displaystyle A} und alle m {\displaystyle m} Eigenwerte der Matrix H m {\displaystyle H_{m}} sind auch Eigenwerte von A {\displaystyle A} . In diesem Fall bricht das Arnoldi-Verfahren vorzeitig ab aufgrund der zweiten Bedingung r k 1 0 {\displaystyle r_{k-1}\not =0} .
  • Wenn h m + 1 , m {\displaystyle h_{m+1,m}} klein ist, sind die Eigenwerte von H m {\displaystyle H_{m}} gute Approximationen an einzelne Eigenwerte von A {\displaystyle A} . Insbesondere Eigenwerte am Rand des Spektrums werden gut approximiert ähnlich wie beim Lanczos-Verfahren.

Anwendung auf Lineare Systeme, FOM und GMRES

Das Arnoldi-Verfahren ist außerdem der Kern-Algorithmus des GMRES-Verfahrens zur Lösung Linearer Gleichungssysteme und der Full Orthogonalization Method (FOM). In der FOM baut man den Krylow-Unterraum und die Basen Q m {\displaystyle Q_{m}} mit dem Startvektor r 0 = b {\displaystyle r_{0}=b} auf und ersetzt beim linearen System A x = b {\displaystyle Ax=b} die Matrix A {\displaystyle A} durch die Approximation Q m H m Q m T {\displaystyle Q_{m}H_{m}Q_{m}^{T}} . Die rechte Seite ist also Element des Krylowraums, b = β q 1 {\displaystyle b=\beta q_{1}} . Die Näherungslösung x m K m ( A , b ) {\displaystyle x_{m}\in K_{m}(A,b)} im Krylow-Raum wird in der Basisdarstellung x m = Q m y m {\displaystyle x_{m}=Q_{m}y_{m}} bestimmt anhand des Systems

H m y m = β e 1 . {\displaystyle H_{m}y_{m}=\beta e_{1}.}

Dies entspricht der Bedingung Q m T ( b A x m ) = 0 {\displaystyle Q_{m}^{T}(b-Ax_{m})=0} und definiert die Lösung x m {\displaystyle x_{m}} durch die Orthogonalitätsbedingung b A x m K m ( A , q ) {\displaystyle b-Ax_{m}\perp K_{m}(A,q)} . Daher ist die FOM ein Galerkin-Verfahren. Löst man das kleine System H m y m = β e 1 {\displaystyle H_{m}y_{m}=\beta e_{1}} mit einer QR-Zerlegung von H m {\displaystyle H_{m}} , so unterscheidet sich die Methode nur minimal vom Pseudocode im Artikel GMRES-Verfahren.

Literatur

  • W.E. Arnoldi: The Principle of Minimized Iterations in the Solution of the Matrix Eigenvalue Problem. In: Quarterly of Applied Mathematics. 9. Jahrgang, 1951, S. 17–29. 
  • Gene H. Golub, Charles F. Van Loan: Matrix Computations. 3. Auflage. The Johns Hopkins University Press, 1996, ISBN 0-8018-5414-8.