LR-Algorithmus

Aus testwiki
Version vom 24. April 2018, 19:20 Uhr von imported>Aka (Ablauf des LR-Algorithmus: Abkürzung korrigiert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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

Der LR-Algorithmus formt die gegebene quadratische Matrix A=:A0 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.

A0:=A
for k=1,2, do
Ak1=:LkRk (LR-Zerlegung)
Ak:=RkLk
end for

Da Ak=RkLk=Lk1Ak1Lk ähnlich ist zu Ak1 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 A 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 O(n2) 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

Der entscheidende Nachteil des LR-Algorithmus ist aber, dass die einfache LR-Zerlegung der Matrizen LkRk=Ak1 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 Ak1=PkLkRk mit einer Permutationsmatrix Pk führen. Die entsprechende Modifikation des Verfahrens ist Ak=RkPkLk=Lk1(PkTAk1Pk)Lk, welche wieder auf eine zu Ak1 ähnliche Matrix führt. Allerdings ist dann die Konvergenz nicht mehr gesichert, es gibt Beispiele, wo die modifizierte Iteration zur Ausgangsmatrix A=A0 zurückkehrt. Daher bevorzugt man den QR-Algorithmus, der dieses Problem nicht hat.

Literatur

  • 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. Vorlage:Doi
  • Josef Stoer, Roland Bulirsch: Numerische Mathematik 2. 5. Auflage, Springer-Verlag Berlin 2005, ISBN 978-3-540-23777-8.