QR-Zerlegung
Transcription
QR-Zerlegung
Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Allgemeines QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Steffen Ebert Fazit 20.05.2011 Steffen Ebert QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Inhaltsverzeichnis QR-Zerlegung Steffen Ebert Allgemeines 1 Allgemeines 2 Householder-Spiegelung 3 Givens-Rotation 4 Gram-Schmidt-Orthogonalisierung 5 Fazit HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Steffen Ebert QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert 1 Allgemeines Allgemeines HouseholderSpiegelung 2 Householder-Spiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung 3 Givens-Rotation 4 Gram-Schmidt-Orthogonalisierung 5 Fazit Fazit Steffen Ebert QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung QR-Zerlegung Steffen Ebert Allgemeines QR-Zerlegung der Matrix A ∈ Rmxn , m ≥ n A=Q ·R Rnxn Matrix Q: Q ∈ orthogonale Matrix (Spalten paarweise orthogonal) Q · QT = E Matrix R: R ∈ Rmxn obere Dreiecksmatrix r11 r12 r13 R = 0 r22 r23 0 0 r33 Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Allgemeines Anwendungen: Berechnung der Eigenwerte Lösen linearer Gleichungssysteme Lösen linearer Ausgleichsprobleme Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Verfahren der QR-Zerlegung: Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Steffen Ebert HouseholderSpiegelung QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert 1 Allgemeines Allgemeines HouseholderSpiegelung 2 Householder-Spiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung 3 Givens-Rotation 4 Gram-Schmidt-Orthogonalisierung 5 Fazit Fazit Steffen Ebert QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Householder-Spiegelung QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation Householder-Matrix: Gram-SchmidtOrthogonalisierung → →T H := E − → 2· u · u →T → → n → u := v +σ · v · e,σ = Steffen Ebert Fazit u ·u → 1, v 1 ≥0 → −1, v 1 <0 QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Vorgehensweise anhand einer 5x5-Matrix: Bestimmung der ersten Householder-Matrix H1 ,die die erste Spalte von A auf ein Vielfaches des ersten Einheitsvektors spiegelt ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ A= ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ =⇒ H1 · A = 0 ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ Steffen Ebert QR-Zerlegung QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Bestimmung der zweiten Householder-Matrix H2 , durch die rechte untere (n-1)x(n-1)-Untermatrix von H1 · A, die den ersten Spaltenvektor dieser Matrix auf ein Vielfaches des erstenEinheitsvektors spiegelt ∗ ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ H1 · A = 0 ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ =⇒ H2 · H1 · A = 0 0 ∗ ∗ ∗ 0 0 ∗ ∗ ∗ 0 0 ∗ ∗ ∗ Steffen Ebert QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Allgemeines Bestimmung der restlichen Householder-Matrizen H3 , H4 , durch die jeweilige Untermatrix, die den Spaltenvektor der jeweiligen Matrix auf ein Vielfaches des ersten Einheitsvektorsspiegelt ∗ ∗ ∗ ∗ ∗ 0 ∗ ∗ ∗ ∗ =⇒ H4 · H3 · H2 · H1 · A = 0 0 ∗ ∗ ∗ = R 0 0 0 ∗ ∗ 0 0 0 0 ∗ Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Bestimmung der Matrix Q: Q = H 1 · H2 · H3 · H 4 Givens-Rotation Allgemeine Bestimmung der Matrix Q: Hn−1 Hn−2 · ... · H1 A = R | {z } QT Steffen Ebert QR-Zerlegung Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Rechenbeispiel: QR-Zerlegung Steffen Ebert Allgemeines 0 −4 2 Sei A = 6 −3 −2,A ∈ Rnxn 8 1 −1 0 √ √ → → v1 = 6, v1 = 02 + 62 + 82 = 100 = 10 8 1 → e 1 = 0 0 Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert → → Allgemeines → u1 =v1 +σ · kv1 k · e1 0 1 → u1 = 6 + 1 · 10 · 0, σ = 1, v1 = 0 ≥ 0 8 0 0 10 10 → u1 = 6 + 0 = 6 8 0 8 Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert → →T H1 = E3 − Allgemeines 2·u1 ·u1 HouseholderSpiegelung → →T u1 ·u1 T Givens-Rotation 10 10 6 · 6 8 8 Gram-SchmidtOrthogonalisierung 1 0 0 H1 = 0 1 0 − 2 · T 10 10 0 0 1 6 · 6 8 8 Steffen Ebert Fazit QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert 100 60 80 1 0 0 2 · 60 36 48 H1 = 0 1 0 − 200 80 48 64 0 0 1 0 −0.6 −0.8 H1 = −0.6 0.64 −0.48 −0.8 −0.48 0.36 A∗ = H1 · A −10 1 2 0 −2 A∗ = 0 0 5 −1 Steffen Ebert QR-Zerlegung Allgemeines HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung −10 1 2 0 √ → → 0 −2 =⇒ v2 = 0, v2 = 52 = 5 A∗ = 0 0 5 −1 5 0 0 0 → u2 = 0 + 1 · 5 · 1 = 5 5 0 5 T 0 0 5·5 1 0 0 1 0 0 5 5 H2 = 0 1 0 − 2 · T = 0 0 −1 0 0 0 −1 0 0 0 1 5 ·5 5 5 Steffen Ebert QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert −10 1 2 −5 1 = R H2 · A∗ = H2 · H1 · A = 0 0 0 2 0 −0.6 −0.8 1 0 0 Q = H1 H2 = −0.6 0.64 −0.48 0 0 −1 = −0.8 −0.48 0.36 0 −1 0 0 0.8 0.6 −0.6 0.48 −0.64 −0.8 −0.36 0.48 Steffen Ebert QR-Zerlegung Allgemeines HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung A = QR ⇔ Givens-Rotation 0 −4 2 0 0.8 0.6 −10 1 2 6 −3 −2= −0.6 0.48 −0.64 0 −5 1 8 1 −1 −0.8 −0.36 0.48 0 0 2 Steffen Ebert QR-Zerlegung Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Vorteile/Nachteile QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation Numerisch stabiles Verfahren Matrix Q muss nicht explizit berechnet werden Rechenaufwand:2mn2 − 23 n3 flops Steffen Ebert QR-Zerlegung Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert 1 Allgemeines Allgemeines HouseholderSpiegelung 2 Householder-Spiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung 3 Givens-Rotation 4 Gram-Schmidt-Orthogonalisierung 5 Fazit Fazit Steffen Ebert QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Givens-Rotation QR-Zerlegung Steffen Ebert Allgemeines c s cosφ sinφ Givens-Matrix: G = = −s c −sinφ cosφ c= √a , ± a2 +b 2 s= √b ± a2 +b 2 Gn · ... · G1 A = R ⇐⇒ G1T · ... · GnT R = A ⇐⇒ A = QR Eine Givens-Matrix dreht, so dass genau ein Eintrag der Matrix Null wird Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Anwendungsfälle: Givens-Rotation Spärlich besetzte Matrizen Tridiagonal-,Bandmatrizen Matrizen in oberer Hessenbergform Steffen Ebert QR-Zerlegung Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Vorgehensweise anhand einer 3x3-Matrix: ∗ ∗ ∗ ∗ 0 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ (1,2) ∗ → 0 ∗ ∗ ∗ ∗ (2,3) ∗ → 0 ∗ 0 Steffen Ebert ∗ ∗ ∗ ∗ ∗ 0 ∗ (1,3) ∗ → ∗ ∗ ∗ = R ∗ QR-Zerlegung Allgemeines HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Rechenbeispiel QR-Zerlegung Steffen Ebert 1 5 4 A = −2 1 3 ∈ Rnxn 2 0 −2 √ a a2 +b 2 a = 1, b = −2 ⇒ c = c s G= −s c 1 √ √2 − 0 5 5 √1 ⇒ G12 = √25 0 5 0 0 1 Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation = √1 , s 5 = √ b a2 +b 2 = − √25 Gram-SchmidtOrthogonalisierung Fazit QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Allgemeines 0 1 5 4 √1 G12 A = 0 −2 1 3 = 5 2 0 −2 0 0 1 √ 5 √35 − √25 11 11 √ 0 √ 5 5 2 0 −2 √ √ a = 5, b = 2 ⇒ c = 35 , s = 23 √1 √25 5 − √25 Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit √ 5 3 ⇒ G13 = 0 − 23 QR-Zerlegung 0 1 0 2 3 Steffen Ebert 0 √ Allgemeines 5 3 HouseholderSpiegelung √ 5 √35 11 0 G13 G12 A = 0 0 √ √ 5 5 − 23 2 0 3 3 1 −2 11 11 0 √ √ 5 5 0 − √25 − √25 √ 5 3 a= 11 √ ,b 5 0 1 0 2 3 = − √25 ⇒ c = Steffen Ebert 11 √ ,s 5 5 − √25 11 √ 5 = −2 2 = − 5√ 5 QR-Zerlegung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung ⇒ G23 1 0 = 0 0 11 √ 5 5 2 √ 5 5 0 Steffen Ebert 2 − 5√ 5 Allgemeines HouseholderSpiegelung 11 √ 5 5 Givens-Rotation 1 0 G23 G13 G12 A = 0 3 1 0 0 2 11 11 √ √ √ 0 − 5 5 5 5 5 2 11 √ √ √2 0 − 5 5 5 5 5 3 1 −2 0 5 5 = R 0 0 0 Steffen Ebert QR-Zerlegung −2 11 √ 5 − √25 Gram-SchmidtOrthogonalisierung = Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Gn · ... · G1 A = R ⇐⇒ G1T · ... · GnT R = A ⇐⇒ A = QR T T T ⇒ G23 G13 G12 A = R ⇐⇒ G12 G13 G23 R = A | {z } Q Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation 1 3 ⇒ Q = − 23 2 3 14 15 1 3 2 − 15 2 − 15 2 3 11 15 Gram-SchmidtOrthogonalisierung Fazit A = QR ⇔ 1 1 5 4 3 −2 1 3 =− 2 3 2 2 0 −2 3 14 15 1 3 2 − 15 Steffen Ebert 2 − 15 2 3 11 15 3 1 −2 0 5 5 0 0 0 QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Vorteile/Nachteile QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation Numerisch stabiles Verfahren Gram-SchmidtOrthogonalisierung Matrix Q muss nicht explizit berechnet werden Fazit Rechenaufwand: 3mn2 − n3 flops Steffen Ebert QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert 1 Allgemeines Allgemeines HouseholderSpiegelung 2 Householder-Spiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung 3 Givens-Rotation 4 Gram-Schmidt-Orthogonalisierung 5 Fazit Fazit Steffen Ebert QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Allgemeines QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Ältestes Orthogonalisierungsverfahren Aus den Spalten ai der Matrix A = ((a1 , ..., an )) ∈ Rnxn werden orthonormale Spalten qi der Matrix Q gebildet Voraussetzung: Vektoren(Spalten) an der Matrix A sind linear unabhängig Steffen Ebert QR-Zerlegung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Berechnung der Matrix Q QR-Zerlegung Steffen Ebert → → 1.Schritt: q1 durch Normierung von a1 q1 = a1 → a1 2.Schritt: Berechnung der zu q1 orthonormalen Komponente von a2 → → q2 =a2 → → → → −(a2 · q1 )· q1 , q2 = Gram-SchmidtOrthogonalisierung Fazit 3.Schritt: Berechnung des zu q1 und q2 orthonormalen Vektors von a3 → → → → → → → → → Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation → q 2 → q 2 q3 =a3 −(a3 · q1 )· q1 −(a3 · q2 )· q2 , q3 = Allgemeines → q3 → q3 Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Schritt 4: für den Vektor an Orthogonalisierung: → → qn =an Steffen Ebert Allgemeines n−1 P → (an − i=1 · → → qi )· qi Givens-Rotation Normierung: → qn = q1 q11 .. Q= . qn1 Gram-SchmidtOrthogonalisierung → qn → qn ··· .. . ··· Steffen Ebert HouseholderSpiegelung Fazit qn q1n .. . qnn QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Berechnung der Matrix R QR-Zerlegung Steffen Ebert Hauptdiagonalwerte sind Beträge der Spaltenvektoren → Allgemeines qk rkk → = qk Obere Dreieckswerte sind das Produkt aus dem →T transponierten Spaltenvektoren qi und den Spaltenvektoren ak der Matrix A →T ·ak , i = 1, ..., k − 1 k = 1, ..., n rkk rik rik R = 0 rkk rik 0 0 rkk rik =qi Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Rechenbeispiel QR-Zerlegung Steffen Ebert Allgemeines 1 2 4 Sei A = 0 1 0 ∈ Rnxn 1 0 0 2 1 1 3 → → → 3 4 q1 := √12 0, q2 := √13 1 , q3 := 2√ − 3 6 1 −1 − 23 Matrix Q = ((q1 , q2 , q3 )) ist somit schon bestimmt Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit QR-Zerlegung Steffen Ebert Die Matrix R erhalten wir durch das Berechnen von sechs Skalarprodukten: √ √ √ 2 √2 2 √2 R= 0 3 43 √3 0 0 23 6 Die gesuchte Zerlegunglautet also: 1 √ √ √ √ √1 √1 2 √2 2 √2 2 3 6 √1 − √26 A= 0 3 43 √3 · 0 3 1 1 1 √ 0 0 23 6 −√ −√ 2 3 6 Steffen Ebert QR-Zerlegung Allgemeines HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Vorteile/Nachteile QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Numerisch instabiles Verfahren Fazit c.a 2mn2 flops Steffen Ebert QR-Zerlegung Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Fazit QR-Zerlegung Steffen Ebert Allgemeines HouseholderSpiegelung Givens-Rotation Householder-Spiegelung Numerisch stabil Matrix Q berechnen Flops Givens-Rotation Gram-Schmidt-Ortho. Ja Ja Nein Nein Nein Ja 2mn2 − 23 n3 3mn2 − n3 2mn2 Steffen Ebert QR-Zerlegung Gram-SchmidtOrthogonalisierung Fazit Allgemeines Householder-Spiegelung Givens-Rotation Gram-Schmidt-Orthogonalisierung Fazit Quellen QR-Zerlegung Steffen Ebert Allgemeines Gene H. Golub, Charles F. van Van Loan: Matrix Computations, Johns Hopkins Univ. Press, 1996 David S. Watkins: Fundamentals of Matrix Computations, Wiley, 2010 http://de.wikipedia.org/wiki/Givens-Rotation http://de.wikipedia.org/wiki/GramSchmidtschesOrthogonalisierungsverfahren Steffen Ebert QR-Zerlegung HouseholderSpiegelung Givens-Rotation Gram-SchmidtOrthogonalisierung Fazit