QR-Zerlegung < Lin. Gleich.-systeme < Numerik < Hochschule < Mathe < Vorhilfe
|
Hallo Zusammen,
Weiß jemand wo ich eine einfache Erklärung zur QR-Zerlegung finde?
Vielen Dank!
Viele Grüße
Karl
|
|
|
|
Hallo Karl,
Bei der LR Zerlegung ist L eine untere Dreiecksmatrix und R eine obere Dreiecksmatrix. Dreieckssysteme kann man wie Du Deinem link entnehmen konntest leicht lösen. Bei der QR Zerlegung ist R wieder eine obere Dreiecksmatrix. Q aber nicht. Dies scheint zunächst albern wieso formt man umständlich um wenn man's nicht einfach lösen kann?
Die Antwort Natürlich kann man. [mm] Q^{-1}=Q^T [/mm] (Die Inerse von Q ist gleich ihrer Transponierten)
Soll man Ax=b lösen berechnet man also
1. Die QR Zerlegung von A
2. [mm]c=Q^Tb[/mm]
3. x aus Rx=c (Dreiecksgestalt)
Jetzt könntest Du berechtigterweise die Frage stellen wie man 1. ausrechnet. Da gibt's verschiedene Möglichkeiten Householder-Spiegelung, Givens-Drehung oder klassisch Gram Schmidt.
Als Einstieg sollte das erstmal genügen.
Alles klar oder soll's genauer sein?
gruß
mathemaduenn
|
|
|
|
|
Hallo mathemaduenn,
> Jetzt könntest Du berechtigterweise die Frage stellen wie
> man 1. ausrechnet. Da gibt's verschiedene Möglichkeiten
> Householder-Spiegelung, Givens-Drehung oder klassisch Gram
> Schmidt.
> Als Einstieg sollte das erstmal genügen.
> Alles klar oder soll's genauer sein?
Danke für deine Antwort! Könntest du vielleicht auf diese Hoseholder-Spiegelung noch etwas näher eingehen? Danke nochmal.
Viele Grüße
Karl
|
|
|
|
|
Hallo Karl,
Grundsätzlich versucht man wie bei der LR Zerlegung auch Nullen zu erzeugen. in jedem Schritt wird dabei mit folgender Transformationsmatrix multipliziert:
[mm]H = I - nn^T[/mm] mit [mm]||n||_2=1[/mm]
n ist ein vektor I die Einheitsmatrix.
Die ist orthogonal( [mm] H^T [/mm] *H = I).
Diese Matrix soll jetzt in der ersten Spalte(a) Nullen unterhalb der ersten Zeile erzeugen.
[mm] Ha=(I-2nn^T)a=a-2nn^Ta=a-2(n^Ta)n= \vektor{{\rho}_1 \\ 0\\...\\0}
[/mm]
[mm] \rho_1= \pm||a||_2 [/mm] (Die Matrix H ändert die Norm des Vektors nicht.
Jetzt nimmt man [mm] v=\vektor{a_1 - {\rho}_1 \\ a_2\\...\\a_n}
[/mm]
und setzt [mm] n=\bruch{v}{||v||_2}
[/mm]
Dasselbe macht man dann für die nächsten Spalten nur das die oberen Zeilen dabei unverändert bleiben sollen also für Spalte 2
[mm] v=\vektor{0 \\ \overline{a}_{22} - {\rho}_2 \\ \overline{a}_{32}\\...\\ \overline{a}_{n2}}
[/mm]
[mm] n=\bruch{v}{||v||_2}
[/mm]
Dabei soll der Strich drüber bedeuten das die Elemente der Matrix A(a's ) durch die erste Transformation verändert worden sind.
Das Vorzeichen von [mm] \rho [/mm] muss dabei lediglich so sein das v [mm] \not= [/mm] 0
gruß
mathemaduenn
|
|
|
|