Zum Inhalt springen

LR-Algorithmus

aus Wikipedia, der freien Enzyklopädie

Der LR-Algorithmus, auch Treppeniteration, LR-Verfahren oder LR-Iteration, ist ein Verfahren zur Berechnung aller Eigenwerte und eventuell auch Eigenvektoren einer quadratischen Matrix und wurde 1958 vorgestellt von Heinz Rutishauser. Er ist der Vorläufer des gängigeren QR-Algorithmus von John G. F. Francis und Wera Nikolajewna Kublanowskaja. Beide basieren auf dem gleichen Prinzip der Unterraumiteration, verwenden im Detail aber unterschiedliche Matrix-Faktorisierungen, die namensgebende LR-Zerlegung bzw. QR-Zerlegung. Obwohl der LR-Algorithmus sogar einen geringeren Aufwand als der QR-Algorithmus aufweist, verwendet man heutzutage für das vollständige Eigenwertproblem eher den letzteren, da der LR-Algorithmus weniger zuverlässig ist.

Ablauf des LR-Algorithmus[Bearbeiten]

Der LR-Algorithmus formt die gegebene quadratische Matrix <math>A=:A_0</math> in jedem Schritt um, indem zuerst ihre LR-Zerlegung berechnet wird, sofern diese existiert, und dann deren beide Faktoren in umgekehrter Reihenfolge wieder multipliziert werden, d. h.

<math>A_0:=A</math>
for <math>k=1,2,\ldots</math> do
<math>A_{k-1}=:L_kR_k</math> (LR-Zerlegung)
<math>A_k:=R_kL_k</math>
end for

Da <math>A_k=R_kL_k=L_k^{-1}A_{k-1}L_k</math> ähnlich ist zu <math>A_{k-1}</math> bleiben alle Eigenwerte erhalten. Der LR-Algorithmus hat wie der QR-Algorithmus den Vorteil, am Platz durchführbar zu sein, d. h. durch Überschreiben der Matrix <math>A</math> und weist im Vergleich zum QR-Algorithmus sogar geringere Kosten auf, da die bei der LR-Zerlegung verwendeten Gauß-Transformationen (vgl. Elementarmatrix) jeweils nur eine Zeile ändern, während Givens-Rotationen jeweils auf 2 Zeilen operieren. Zusätzlich sind beim LR-Algorithmus auch die vom QR-Algorithmus bekannten Maßnahmen zur Beschleunigung der Rechnung einsetzbar:

  • für Hessenbergmatrizen kostet jeder LR-Schritt nur <math>O(n^2)</math> Operationen
  • die Konvergenz lässt sich durch Spektralverschiebung wesentlich beschleunigen
  • durch Deflation kann die Iteration auf eine Teilmatrix eingeschränkt werden, sobald sich einzelne Eigenwerte abgesondert haben.

Probleme im LR-Algorithmus[Bearbeiten]

Der entscheidende Nachteil des LR-Algorithmus besteht darin, dass die einfache LR-Zerlegung der Matrizen <math>L_kR_k=A_{k-1}</math> eventuell nicht existiert oder durch kleine Pivotelemente zu großen Rundungsfehlern führen kann. In diesem Fall sind Zeilenvertauschungen erforderlich, welche auf eine modifizierte Zerlegung <math>A_{k-1}=P_kL_kR_k</math> mit einer Permutationsmatrix <math>P_k</math> führen. Die entsprechende Modifikation des Verfahrens ist <math>A_k=R_kP_kL_k=L_k^{-1}(P_k^TA_{k-1}P_k)L_k</math>, welche wieder auf eine zu <math>A_{k-1}</math> ähnliche Matrix führt. Allerdings ist dann die Konvergenz nicht mehr gesichert, es gibt Beispiele, wo die modifizierte Iteration zur Ausgangsmatrix <math>A=A_0</math> zurückkehrt. Daher bevorzugt man den QR-Algorithmus, der dieses Problem nicht hat.

Literatur[Bearbeiten]

  • Heinz Rutishauser (1958): Solution of eigenvalue problems with the LR transformation. Nat. Bur. Stand. App. Math. Ser. 49, 47–81.
  • J. G. F. Francis (1961): The QR Transformation: A Unitary Analogue to the LR Transformation—Part 1. The Computer Journal Vol. 4(3), S. 265–271. doi:10.1093/comjnl/4.3.265
  • Josef Stoer, Roland Bulirsch: Numerische Mathematik 2. 5. Auflage, Springer-Verlag Berlin 2005, ISBN 978-3-540-23777-8.