Lanczos-Verfahren
# Lanczos-Verfahren

Das Lanczos-Verfahren (nach Cornelius Lanczos) ist sowohl ein iterativer Algorithmus zur Bestimmung einiger Eigenwerte und eventuell der zugehörigen Eigenvektoren einer Matrix als auch ein iterativer Algorithmus zur approximativen Lösung eines linearen Gleichungssystems. Der Algorithmus für Eigenwerte konvergiert am schnellsten gegen die gut von den anderen Eigenwerten separierten, meist gegen die betragsgrößten Eigenwerte. Der Algorithmus für lineare Gleichungssysteme ist im allgemeinen Fall dem BiCG-Verfahren und für spezielle Matrizen dem CG-Verfahren mathematisch äquivalent.

## Allgemeines

Das Verfahren der minimierten Iterierten, wie Lanczos es in seinen Originalarbeiten aus den Jahren 1950 (Eigenwerte) und 1952 (lineare Gleichungssysteme) nannte, basiert auf Projektionen auf Krylow-Unterräume. Je nach den Eigenschaften der Matrix, deren Eigenwerte berechnet werden sollen, werden ein oder zwei Krylow-Unterräume aufgespannt. Das generelle Verfahren basiert auf zwei Krylow-Unterräumen ${\mathcal {K}}={\mathcal {K}}(A,q)$ und ${\hat {\mathcal {K}}}={\mathcal {K}}(A^{H},{\hat {q}})$, wobei die zwei Startvektoren $q\in \mathbb {C} ^{n}$ und ${\hat {q}}\in \mathbb {C} ^{n}$ biorthogonal zueinander gewählt werden, also ${\hat {q}}^{H}q=1$. Die Basen der Krylow-Räume werden gegeneinander mittels einer zweiseitigen Variante des Verfahrens von Gram-Schmidt biorthogonalisiert.

## Eigenwertnäherung

Zur Eigenwertnäherung werden die beiden obengenannten Basen und die schiefe Projektion der gegebenen Matrix, meist auf eine Tridiagonalmatrix, herangezogen. Das resultierende unsymmetrische Lanczos-Verfahren ist nicht immer mittels einer Kurztermrekursion durchführbar. Einen Ausweg stellen die aufgrund der Verbindung zu den formal orthogonalen Polynomen (FOPs) konstruierten Look-ahead-Varianten dar.
Wenn die Matrix $A\in \mathbb {C} ^{n\times n}$ hermitesch oder gar reell symmetrisch ist, erzwingt die Wahl von normalisiertem ${\hat {q}}=q$ eine Übereinstimmung der beiden Krylow-Räume und verhindert einen Zusammenbruch der Biorthogonalisierung, welche jetzt eine Orthogonalisierung darstellt. In diesem speziellen Fall ist das resultierende symmetrische Lanczos-Verfahren dem Verfahren von Arnoldi mathematisch äquivalent, die (einzige) Basis ist eine Orthogonalbasis und die resultierende orthogonale Projektion der Matrix ist (in aller Regel) eine hermitesche Tridiagonalmatrix. Gravierende Unterschiede zwischen dem Arnoldi-Verfahren und dem symmetrischen Lanczos-Verfahren werden erst bei der Ausführung in endlicher Genauigkeit, also unter Einfluss von Rundungsfehlern deutlich.

## Varianten

Es existieren auch andere Varianten des Lanczos-Verfahrens, unter anderem eine Variante für das Eigenwertproblem für symplektische Matrizen, welches diese auf sogenannte Butterfly-Form abbildet und eine Variante für komplexe symmetrische Matrizen.

## Approximative Lösung von Gleichungssystemen

Lanczos’ Verfahren zur approximativen Lösung von Gleichungssystemen wird selten in der ursprünglichen Form verwendet, stattdessen wird es als BiCG-Verfahren oder als CG-Verfahren eingesetzt.

## Verwandtschaften und geschichtlicher Kontext

Die beiden von Lanczos veröffentlichten Verfahren sind Krylow-Unterraum-Verfahren. Dieser Sachverhalt, besser, diese Verwandtschaft, wurde bereits vor der ersten Veröffentlichung von Alexander Markowitsch Ostrowski Lanczos kundgetan, wovon eine Fußnote auf der ersten Seite der ersten Veröffentlichung von Lanczos zeugt. Dort steht im Originalartikel:
   “The literature available to the author showed no evidence that the methods and results of the present investigation have been found before. However, A. M. Ostrowski of the University of Basle and the Institute for Numerical Analysis informed the author that his method parallels the earlier work of some Russian scientists: the references given by Ostrowski are: A. Krylov, Izv. Akad. Nauk SSSR 7, 491 to 539 (1931); N. Luzin, Izv. Akad. Nauk. SSSR 7, 903 to 958 (1931). On the basis of the reviews of these papers in the Zentralblatt, the author believes that the two methods coincide only in the point of departure. The author has not, however, read these Russian papers.”
   „In der dem Autor zugänglichen Literatur fand sich kein Hinweis darauf, dass die Methoden und Resultate dieser Untersuchung bereits zuvor entdeckt worden waren. Allerdings unterrichtete A. M. Ostrowski von der Universität Basel vom Institut für Numerische Analysis den Autor darüber, dass seine Methode den früheren Arbeiten einiger russischer Wissenschaftler entspricht. Die von Ostrowski gegebenen Referenzen sind: A. Krylov, Izv. Akad. Nauk SSSR 7, 491 bis 539 (1931); N. Luzin, Izv. Akad. Nauk. SSSR 7, 903 bis 958 (1931). Aufgrund der Besprechungen dieser Artikel im Zentralblatt glaubt der Autor, dass die beiden Methoden nur im Ausgangspunkt übereinstimmen. Der Autor hat diese russischen Veröffentlichungen selbst allerdings nie gelesen.“
Eine Darstellung von dem von Krylow entwickelten Verfahren findet sich im Buch von Faddejew und Faddejewa Numerische Methoden der linearen Algebra.
Wenn die Matrix selbstadjungiert (symmetrisch reell oder hermitesch) ist, ist die berechnete Basis orthogonal. Aufbauend auf Lanczos' Arbeit brachte das Walter Edwin Arnoldi auf die Idee, immer eine orthogonale Basis zu erzwingen, was zur Folge hat, dass die projizierte Matrix keine Tridiagonalmatrix mehr, sondern nur noch eine obere Hessenbergmatrix ist. Der resultierende Algorithmus ist das 1951 veröffentlichte Arnoldi-Verfahren.
Das Verfahren ist im allgemeinen Fall dem BiCG-Verfahren und im Falle einer symmetrischen reellen (nicht notwendig positiv definiten) oder hermiteschen (ebenfalls nicht notwendig positiv definiten) Matrix dem kurz darauf veröffentlichten CG-Verfahren von Magnus Rudolph Hestenes und Eduard Stiefel äquivalent. Die Verwandtschaft mit dem CG-Verfahren war auch den beiden Autoren bereits bekannt. Auf Seite 410 (der zweiten Seite) ihrer Veröffentlichung schreiben sie:
   “Recently, C. Lanczos developed a closely related routine based on his earlier paper on eigenvalue problem.”
   „Kürzlich entwickelte C. Lanczos ein eng [mit dem CG-Verfahren] verwandtes, auf seiner früheren Veröffentlichung über das Eigenwertproblem basierendes Verfahren.“

## Ablauf des Lanczos-Verfahrens bei hermiteschen Matrizen

Obwohl das Lanczos-Verfahren das geringfügig ältere Verfahren ist, lohnt sich im interessantesten, dem hermiteschen Fall der Vergleich als Spezialfall des Arnoldi-Verfahrens. Das Arnoldi-Verfahren berechnet bei einer Matrix $A\in \mathbb {C} ^{n\times n}$ nach $m$ Schritten eine Orthonormalbasis $Q_{m}=(q_{1},\ldots ,q_{m})\in \mathbb {C} ^{n\times m}$ eines Krylow-Unterraums, für welche gilt
    $AQ_{m}=Q_{m}H_{m}+h_{m+1,m}q_{m+1}e_{m}^{T}.$
Dabei ist $H_{m}=Q_{m}^{H}AQ_{m}$ eine Hessenbergmatrix. Im hermiteschen Fall mit $A^{H}=A$ ist dann aber auch $H_{m}^{H}=Q_{m}^{H}A^{H}Q_{m}=Q_{m}^{H}AQ_{m}=H_{m}$ hermitesch, also sogar eine hermitesche Tridiagonalmatrix
    $H_{m}=T_{m}={\begin{pmatrix}\alpha _{1}&\beta _{1}&0&\ldots &0&\\\beta _{1}&\alpha _{2}&\beta _{2}&\ddots &\vdots \\0&\ddots &\ddots &\ddots &0\\\vdots &\ddots &\beta _{m-2}&\ddots &\beta _{m-1}\\0&\dots &0&\beta _{m-1}&\alpha _{m}\end{pmatrix}}.$
Betrachtet man nun mit dieser Information die $k$-te Spalte $Aq_{k}$ von $AQ_{m}$, erhält man die einfache Beziehung
    $Aq_{k}=\beta _{k-1}q_{k-1}+\alpha _{k}q_{k}+\beta _{k}q_{k+1}.$
Wegen $\alpha _{k}=q_{k}^{H}Aq_{k}$ kann man diese nach den einzigen Unbekannten $r_{k}:=\beta _{k}q_{k+1}$ auflösen, wobei $\beta _{k}$ wegen $\|q_{k+1}\|_{2}=1$ die Norm von $r_{k}$ ist. Damit vereinfacht sich der Algorithmus aus dem Artikel Arnoldi-Verfahren mit einem nichttrivialen Startvektor $r_{0}\in \mathbb {C} ^{n}$ zum hermiteschen (symmetrischen) Lanczos-Verfahren
    $q_{0}\leftarrow 0,\beta _{0}\leftarrow 1,$
    for $k\in \mathbb {N}$ and $r_{k-1}\not =0$ do
       $\beta _{k-1}\leftarrow \|r_{k-1}\|$
       $q_{k}\leftarrow r_{k-1}/\beta _{k-1}$
       $r_{k}\leftarrow Aq_{k}$
       $\alpha _{k}\leftarrow q_{k}^{H}r_{k}$
       $r_{k}\leftarrow r_{k}-q_{k}\alpha _{k}-q_{k-1}\beta _{k-1}$
    end for
Im Vergleich zum Arnoldi-Verfahren (für beliebige quadratische Matrizen geeignet), welches bis zum Schritt $m\leq n$ einen quadratisch wachsenden Aufwand von $O(m^{2}\cdot n)$ Operationen alleine für die Orthogonalisierung benötigt, braucht dieser Algorithmus (für hermitesche oder symmetrische Matrizen) zusätzlich zu den $m$ Matrix-Vektor-Multiplikationen nur $O(m\cdot n)$ Operationen, ist also erheblich effizienter. Auch die Berechnung aller Eigenwerte von $T_{m}$ als Approximation an die von $A$ kostet wegen der schnellen Konvergenz des QR-Algorithmus nur wenig Aufwand.
Allerdings gelten die Aussagen nur bei exakter Rechnung, der Algorithmus ist anfällig gegen Rundungsfehler. Denn obwohl eine Orthogonalisierung von $q_{k+1}$ im Lanczos-Verfahren nur gegen den vorherigen Basivektor $q_{k}$ erfolgt, sind in der Theorie dennoch alle Basisvektoren paarweise orthogonal. Bei Rechnung mit endlicher Genauigkeit geht diese Orthogonalität allerdings oft verloren, da sich sozusagen große Eigenwerte von $A$, die schon in einer Matrix $T_{k}$ repräsentiert sind, über Rundungsfehler nochmal einschleichen und in Matrizen $T_{m},\ m\gg k,$ dann für falsche Geister-Eigenwerte sorgen. Diesen Problemen begegnet man mit Re-Orthogonalisierungen. Um den Aufwand dabei in Grenzen zu halten, verwendet man eine selektive Re-Orthogonalisierung gegen einige, schon berechnete, Näherungs-Eigenvektoren.