For AI agents: use /llms.txt for the Nakafa content index.
Die QR-Zerlegung bringt eine Matrix durch orthogonale Transformationen in obere Dreiecksform. Anders als elementare Zeilenoperationen bewahren diese Transformationen Längen und Winkel und sind numerisch gut konditioniert.
Sei eine rechteckige Matrix mit und . Dann gibt es eine orthogonale Matrix mit und eine obere Dreiecksmatrix mit Diagonalelementen für , so dass:
Diese Darstellung wird als QR-Zerlegung von bezeichnet.
Die Spalten für der Matrix können mit dem Gram-Schmidt-Prozess orthonormalisiert werden:
Wir erhalten Orthonormalvektoren für als Spalten der orthogonalen Matrix . Umgekehrt:
Also mit oberer Dreiecksmatrix , deren Diagonalelemente sind.
Wenn mit zusätzlichen Spalten vervollständigt wird, um zur orthogonalen Matrix zu werden, und zu wird, dann .
Wenn wir eine Matrix mit haben, Es gibt zwei Möglichkeiten, die QR-Zerlegung darzustellen. Der Unterschied liegt in der Größe der verwendeten Matrizen.
Bei der vollständigen QR-Zerlegung werden Matrizen in voller Größe verwendet:
wobei eine orthogonale Matrix voller Größe ist und ist eine obere Dreiecksmatrix.
Da der untere Teil der Matrix nur Nullen enthält, können wir Speicherplatz und Rechenaufwand sparen. Bei der reduzierten QR-Zerlegung werden nur die benötigten Blöcke verwendet:
Hier übernimmt nur die erste bis -te Spalte aus und ist eine quadratische obere Dreiecksmatrix.
Die reduzierte Form spart Speicher und Rechenzeit. Anstelle der vollständigen Matrix der Größe benötigen wir nur der Größe .
Die nicht verwendeten Spalten der Matrix bilden eine Orthonormalbasis von :
Der Kern von enthält genau die Vektoren , die erfüllen.
Die reduzierte QR-Zerlegung mit der Bedingung für alle ist eindeutig für die Matrix das hat vollen Rang.
Sei
Gram-Schmidt liefert zunächst
Damit gilt
Das klassische Gram-Schmidt-Verfahren liefert eine klare Herleitung, kann aber in Gleitkommaarithmetik bei nahezu linear abhängigen Spalten Orthogonalität verlieren. Das modifizierte Gram-Schmidt-Verfahren verbessert dieses Verhalten. Householder-QR ist die übliche dichte, numerisch stabile Implementierung, weil es orthogonale Reflektoren direkt anwendet.
Das Householder-Verfahren vermeidet dieses Problem durch orthogonale Spiegelungen. Eine weitere stabile Möglichkeit sind Givens-Rotationen.
Für einen Vektor mit , definieren wir die Householder-Matrix:
Dabei ist ein dyadisches Produkt, also das Produkt des Spaltenvektors mit Zeilenvektor . Das Ergebnis dieser Multiplikation ist eine -Matrix mit dem Rang für . Verwechseln Sie dies nicht mit der Skalarmultiplikation .
Sei eine Householder-Transformationsmatrix für Vektor mit . Dann gilt:
ist symmetrisch:
ist eine orthogonale Matrix:
Der Ausdruck beschreibt die Linksmultiplikation von mit dem Vektor und spiegelt am Unterraum , das heißt, in der Hyperebene mit Normalenvektor
Für eine Matrix mit und wird die Matrix Spalte für Spalte durch Householder-Spiegelungen in obere Dreiecksform überführt.
Wir beginnen mit und spiegeln die erste Spalte von auf ein Vielfaches des ersten Einheitsvektors:
Mit der Householder-Matrix erhalten wir:
mit und .
Im nächsten Schritt spiegeln wir die erste Spalte der verbleibenden Untermatrix:
Die zugehörige Transformationsmatrix lautet:
Wir erhalten:
mit und usw. bis:
Schließlich erhalten wir die obere Dreiecksmatrix:
Somit erhalten wir die Faktorisierung:
wobei eine orthogonale Matrix ist.
Das Householder-Verfahren lässt sich direkt als Iteration formulieren.
Initialisierung:
Für :
Berechnung:
und:
Dann:
Wir erhalten also:
Schließlich erhalten wir:
Für benötigt Householder-QR ungefähr
Aufgrund der orthogonalen Transformation gilt
Die Diagonalelemente von sind die Zahlen ab dem -ten Schritt. Wenn man die Transformation so wählt, dass alle positiv sind, erhält man die QR-Zerlegung. Wenn , hat nicht den vollen Rang und die Eindeutigkeitsaussage für vollen Rang gilt nicht mehr. Eine QR-Zerlegung existiert weiterhin; wenn der numerische Rang wichtig ist, eignet sich eine rangoffenbarende QR-Zerlegung mit Spaltenpivotisierung besser.
Das Vorzeichen wird so gewählt, dass numerische Auslöschung vermieden wird:
Statt vollständig zu konstruieren, genügt es, die für jede Spiegelung benötigten Informationen zu speichern:
Dieser Vektor passt in den freien Bereich von unterhalb der Diagonale; die Diagonalelemente werden separat gespeichert.
Für die reduzierte QR-Zerlegung werden die nicht benötigten Spalten von und die zugehörigen Nullzeilen von weggelassen.