Lanczos Methoden Stefan Grell Im Rahmen eines Proseminar zur Numerischen Mathematik unter der Leitung von Prof. Wolf Hofmann 15. Juni 2005 Lanczos-Methoden Lanczos-Methoden sind iterative Verfahren zur Approximation der Eigenwerte einer symmetrischen Matrix. Diese zeichnen sich dadurch aus, dass sie pro Iterationsschritt im wesentlichen mit nur einer Matrix Vektor Multiplikation auskommen. So sind sie besonders geeignet,die Eigenwert großer,dünnbesetzter Matrizen zu approximieren, deren Berechnung beispielsweise mit dem QR- Algorithmus einfach zu aufwendig wäre. C. Lanczos war ein ungarischer Mathematiker. Die Idee der Verfahren geht auf eine seiner Arbeiten aus dem Jahre 1950 zurück. Herleitung Zur Herleitung formulieren wir das Eigenwertproblem zunächst als eine Extremwertaufgabe. Ax = λx Lemma 1 Seien λ min und λ max der kleinste bzw. größte Eigenwert einer Matrix A Mat n (R). Dann gilt λ min = min x 0 x, x und λ max = max x 0 x, x Beweis: A ist symmetrisch, also gibt es eine orthogonale Matrix Q O (n) mit QAQ T = Λ = diag(λ 1,..., λ n ) Mit y := Qx gilt x, x = y, y und weiter = Q T y, AQ T y = y, QAQ T y = y, Λy. 1
Mit den den Bezeichnungen y 1,..., y n für die Koeffizienten des Vektors und e 1,..., e n für die Einheitsvektoren folgt weiter 1 Λy = λ... y = λ i y i e i λ n und somit y, Λy = y, für die Summe gilt nun λ i y i e i = λ i yi 2 λ min yi 2 λ i yi 2 λ max y 2 i und also auch λ min Somit ist die Aussage offensichtlich. y, Λy y, y λ max. Definition 2 Die Funktion µ : R n R, µ(x) := x, x heit Rayleigh Quotient von A. Im folgenden werden wir den Rayleigh Quotienten öfter benutzen. Korollar 3 Seien λ 1 λ n die Eigenwerte der symmetrischen Matrix A Mat n (R) und η 1,..., η n die zugehörigen Eigenvektoren. Dann gilt λ i = min µ(x) = max µ(x). x span(η i,...,η n ) x 0 x span(η 1,...,η i ) x 0 Auch dieses Korollar ist leicht einzusehen: x ist aus dem zugehörigen Eigenraum aller Eigenwerte größer oder gleich λ i. Der Rayleigh Quotient kann dann für x keinen Eigenwert kleiner als λ i annehmen. Ebenso kann er für x aus dem zugehörigen Eigenraum aller Eigenwerte kleiner oder gleich λ i maximal den Wert λ i annehmen. 2
Die Umformulierung des Eigenwertproblems als Extremwertaufgabe legt uns, nahe diese einfach auf einer Folge von Teilräumen V 1 V 2... R n zu lösen, um schlielich die Eigenwerte λ min und λ max genügend genau zu approximieren (siehe Verfahren der konjugierten Gradienten). Als Teilräume wählen wir die Krylov Räume. V k (x) := span{x, Ax,..., A k 1 x} Mit einem Startwert x 0, x V k und k = 1, 2,... erhalten wir also folgende Extrema λ (k) min := min y, Ay y V k (x) y 0 y, y, λ(k) max := für diese gilt außerdem, da V k R n λ (k) min λ min und λ (k) max λ max. y, Ay max y V k (x) y 0 y, y Somit können wir erwarten, daß die Eigenwerte λ min und λ max durch die Extrema für wachsende k gut approximiert werden. Der Lanczos Algorithmus Sei nun Q k := [v 1,..., v k ] eine spaltenorthonormale Matrix und T k eine symmetrische Tridiagonalmatrix, α 1 β 2 β 2 α 2 β 3 T k =......... β k α k 1 β k β k α k so dass Q T k AQ k = T k. Durch beidseitiges Multiplizieren mit dem j-ten Einheitsvektor ergibt sich Weiter gilt auch e j T k e j = e j Q T k AQ ke j α j = v T j Av j fürj = 1,..., k. (1) Q T k AQ k = T k AQ = QT k. Und durch Vergleich der jeweils j-ten Spalte erhält man. β j 1 Av j = [v 1,..., v j,..., v k ] α j = β j 1 v j 1 + α j v j + β j v j+1 (2) β j. 3
mit j = 1, 2,..., k und β 0 v 0 = β k v k+1 = 0. Setzen wir nun weiter So wird aus (2) w j = (A α j I)v j β j 1 v j 1 (3) Av j α j v j β j 1 v j 1 = (A α j I)v j β j 1 v j 1 = w j = β j v j+1 mit j = 1, 2,..., k und w k = 0. Mit v j = 1 folgt außerdem w j 2 = β j. Daher wählen wir β j = w j 2. (β j = 0 genau dann wenn auch w j = 0) Aus (2) entnehmen wir auch die Iterationsvorschrift und somit erhalten wir v j+1 = w j β j für β j 0, j = 1, 2,..., k 1 Lanczos Algorithmus v 1 ist beliebig mit v 1 2 = 1 und α 1 = v T 1 Av 1, β 1 = w 1 2 v j+1 = w j β j α j+1 = v T j Av j w j+1 = (A α j+1 I)v j+1 β j v j β j+1 = w j+1 2 für j = 1, 2,... und β j 0. Mit Hilfe dieses Algorithmus lässt sich die symmetrische Tridiagonalmatrix nun einfach bestimmen. Weiter gilt nun mit y = Q k für ein v R k, dass y, y = v, v und Daraus ergibt sich, dass y, Ay = Q k v, AQ k v = v, Q T k AQ kv = v, T k v. λ (k) min = min y, Ay y V k (x) y 0 y, y = v R min = 0 v, T kv = λ min (T k ) k v 0 v, v und analog folgt λ (k) max = λ max (T k ). Außerdem folgt wegen V k+1 V k und der Minimaleigenschaft λ (k+1) min λ(k) min und λ(k+1) max λ (k) max. 4
Die gesuchten Approximation λ (k) min und λ(k) max entsprechen daher den extremen Eigenwerten der symmetrischen Tridiagonalmatrix T k und lassen sich als solche beispielsweise mit dem QR Algorithmus leicht berechnen. Im Gegensatz zum cg-verfahren (konjugierte Gradienten) ist bei diesem Verfahren nicht garantiert, dass λ (n) min = λ min,da im Allgemeinen V n (x) R n. Ist dies der Fall zeigt es sich dadurch, dass im Lanczos Algorithmus β k+1 für ein k < n verschwindet. Sollte dies der Fall sein, muss die Berechnung mit einem x V k (x) wiederholt werden. Konvergenzgeschwindigkeit des Verfahrens Hilfssatz 4 Jedes Polynom P n P n mit führendem Koeffizienten a n 0 nimmt im Intervall [ 1, 1] einen Wert vom Betrag an an. Insbesondere sind 2 n 1 die Tschebyscheff Polynome T n (x) minimal bezüglich der Maximumsnorm f = max x [ 1,1] f(x) unter dem Polynom vom Grad n mit führenden Koeffizienten 2 n 1. Beweis: Sei P n P n ein Polynom mit führenden Koeffizienten a n = 2 n 1 und P n (x) < 1 für x [ 1, 1]. Dann ist T n P n ein Polynom vom Grad kleiner oder gleich n-1. An den Tschebyscheff Abzissen x k := cos kπ n gilt T n ( x 2k ) = 1, P n ( x 2k ) < 1 P n ( x 2k ) T n ( x 2k ) < 0 T n ( x 2k+1 ) = 1, P n ( x 2k+1 ) > 1 P n ( x 2k+1 ) T n ( x 2k+1 ) > 0, die bedeutet die Differenz T n P n ist an den n + 1 Tschebyscheff Abzissen abwechselnd positiv und negativ, hat also mindestens n Nullstellen im Intervall. Dies steht im Widerspruch zu 0 T n P n P n 1. Also gibt es für jedes Polynom P n P n mit führenden Koeffizienten a n = 2 n 1 ein x [ 1, 1], mit dem P n (x) 1. Für beliebige Polynom mit führenden Koeffizienten a n 0 folgt die Behauptung daraus, dass P n := 2n 1 a n P n ein Polynom ist mit führendem Koeffiziente ã n = 2 n 1 ist für das die Behauptung schon gezeigt ist. Die Konvergenzgeschwindigkeit des Verfahrens lässt sich mit Hilfe der Tschebyscheff Polynome abschätzen. 5
Satz 5 Sei A eine symmetrische Matrix mit den Eigenwerten λ 1 λ n und zugehörigen orthonormalen Eigenvektoren η 1,..., η n. Seien weiter µ 1 µ k die Eigenwerte der Tridiagonalmatrix T k des Lanczos Verfahrens zum Startwert x 0 mit der Orthonormalbasis v 1,..., v k von V k (x) wie im Lanczos Algorithmus. Dann gilt wobei ρ n := (λ n λ n 1 ) (λ n 1 λ 1 ). λ n µ k λ n (λ n λ 1 ) tan 2 ( (v k, η n )) Tk 1 2 (1 + 2ρ, n) Beweis: Für unsere Krylov Räume gilt V k (x) = {P (A)x : P P k 1 } daher gilt weiter y, Ay µ k = max y V k (x) y 0 y, y = max P (A)v 1, AP (A)v 1 P P k 1 P (A)v 1, P (A)v 1. Stellen wir v 1 bezüglich der Orthonormalbasis η 1,..., η n dar, dann gilt mit Weiter folgt P (A)v 1, AP (A)v 1 = P (A) und ebenso So erhalten wir = v 1 = ξ j η j ξ j = v 1, η j = cos( (v 1, η j )). ξ j η j, AP (A) ξ j P (λ j ), P (A)v 1, AP (A)v 1 P (A)v 1, P (A)v 1 = ξ j η j = ξ j P (A)η j, ξ j P (λ j )λ j = P (A)v 1, P (A)v 1 = ξj 2 P 2 (λ j )λ j ξj 2 P 2 (λ j ). n ξ2 j P 2 (λ j )λ n + n 1 ξ2 j P 2 (λ j )(λ j λ n ) n ξ2 j P 2 (λ j ) λ n + (λ 1 λ n ) n 1 ξ2 j P 2 (λ j ) ξnp 2 2 (λ n ) + n 1 ξ2 j P 2 (λ j ), da (λ 1 λ n ) (λ j λ n ) j 2. Eine möglichst scharfe Abschätzung erhalten wir, wenn wir ein Polynom P P n 1 einsetzen, das innerhalb des Intervalls 6 ξ j AP (A)η j
[λ 1, λ n 1 ] möglichst klein ist. Nach Hilfssatz 5 empfiehlt sich das transformierte Tschebyscheff Polynom P (λ) := T k 1 (t(λ)) mit t(λ) = 2 λ λ 1 λ n 1 λ 1 1 = 1 + 2 λ λ n 1 λ n 1 λ 1. Dieses hat die Eigenschaft P (λ j ) 1 für j = 1,..., n 1. Außerdem gilt Somit ist ξj 2 = und aus der Tatsache, dass ξ j ηj T η j ξ j = v1 T v 1 = v 1 2 2 = 1 µ k λ n (λ n λ 1 ) 1 ξ2 n ξ 1 T 2 k 1(1 + 2ρ n), 1 ξ 2 n ξ 2 n = sin2 ( (v 1, η n )) cos 2 ( (v 1, η n )) = tan2 ( (v 1, η n )) folgt die Behauptung. Das verallgemeinerte symmetrische Eigenwertproblem In vielen Anwendungen trifft man auf das sogenannte verallgemeinerte symmetrische Eigenwertproblem, Ax = λbx, wobei die Matrizen A, B Mat n (R) beide symmetrisch sind und B zusätzlich positiv definit. Setzen wir die Cholesky-Zerlegung B = LL T in das verallgemeinerte Eigenwertproblem ein, so gilt Ax = λbx Ax = λll T x (L 1 AL T ) L }{{}}{{} T x = λl T x. =: x =:Ā Nun ist auch Ā = L 1 AL T wieder eine symmetrische Matrix, so dass das verallgemeinert Eigenwert Problem Ax = λbx äquivalent zum symmetrischen Eigenwertproblem Ā x = λ x. Damit sind alle Eigenwerte λ i reell und es gibt eine Orthonormalbasis η 1,..., η n von verallgemeinerten Eigenvektoren Aη i = λ i Bη i. Es lässt sich demnach auch ein verallgemeinerter Rayleigh Quotient von (A, B) definieren durch µ(x) := x, Bx, so können wir analog zu Lemma 1 formulieren. 7
Lemma 6 Seien λ min und λ max der kleinste bzw. der größte Eigenwert des verallgemeinerten Eigenwertproblems Ax = λbx, wobei A, B Mat n (R) symmetrisch und B positiv definit. Dann gilt λ min = min x 0 x, Bx und λ max = max x 0 x, Bx. Beweis: Wie oben bereits erwähnt gilt mit der Cholesky Zerlegung B = LL T. Die Matrizen L sind untere Dreiecksmatrizen. Für sie gilt x, Lx = L T x, x x, Bx = x, LL T x = L T x, L T x = x, x und = L T x, AL T x = x, L 1 AL T x = x, Ā x. Die Behauptung folgt aus der Äquivalenz Ax = λbx Ā x = λ x und dem Lemma 1. Der Lanczos Algorithmus überträgt sich also ganz analog. wird beibehalten und x, x durch x, Bx ersetzt. Außerdem wird x 2 durch x, Bx 1/2 ersetzt. Spektral-Lanczos Nicht immer ist nur nach den randständigen Eigenwerten λ min und λ max gefragt. Oft sind auch Eigenwerte in vorgegebenen Intervallen oder alle Eigenwerte gesucht. Die Grundidee der inversen Vektoriteration hilft hier weiter. Bei dieser wird davon aus gegangen man habe ein Schätzwert λ zum gesuchten Eigenwert λ i zur Verfügung für den gilt λ λ i < λ λ j für alle j i. Dann ist ( λ λ i ) 1 der betragsgrößte Eigenwert der Matrix (A λi) 1. In unserem Fall, dem verallgemeinerten Eigenwertproblem, hat die Matrix die Form Diese hat nun gerade die Eigenwerte C := (Ā λi) 1 = L T (A λb) 1 L. v i := (λ i λ) 1 für alle i = 1, 2,... Wendet man nun das Lanczos Verfahren auf die Matrix C an, liefert dies dominante Eigenwerte v i. Also Eigenwerte λ i in einer Umgebung von λ. Durch Variation des Shiftparameters λ in einem vorgegebenen Intervall kann man so sämtliche Eigenwerte erhalten. Diese Variante des Lanczos Algorithmus nennt man Spektral Lanczos. Sie wurde 1980 von T. Ericsson und Å. Ruhe beschrieben. 8
Literaturhinweise: Opfer: Numerische Mathematik für Anfänger, 2.Auflage; Kapitel 9.5 (Lanczos Algorithmus) Deuflhard-Hohmann: Numerische Mathematik I, 3.Auflage; Kapitel 8.5 (Lanczos Methoden) 9