V AUSGLEICHSPROBLEME S. BARTELS, 3.12.2013 V.A. Gaußsche Normalengleichung. In vielen Anwendungen treten überbestimmte Gleichungssysteme auf, das heißt für A ∈ Rm×n mit m ≥ n und b ∈ Rm ist x ∈ Rn gesucht, so dass Ax ≈ b. Das Problem ist im Allgmeinen nicht exakt lösbar. Beispiel V.1. Zu Messdaten (ti , yi ), i = 1, 2, . . . , m, ist c ∈ R gesucht mit yi ≈ cti . Die Zahl c beschreibt dann die Steigung einer Geraden, die die Punktepaare möglichst gut approximiert. Definition V.2. Durch A ∈ Rm×n und b ∈ Rm y y = ct t wird das Ausgleichsproblem Minimiere x 7→ kAx − bk22 definiert. Für x ∈ Rn heißt r = Ax − b Residuum von x. Die Betrachtung des Ausgleichsproblems wird aufgrund der verwendeten euklidischen Norm auch als Methode der kleinsten Quadrate bezeichnet. Satz V.3. Die Lösungen des Ausgleichsproblems sind genau die Lösungen der Gaußschen Normalengleichung ⊥ ⊥ A Ax = A b, insbesondere existiert eine Lösung x ∈ Rn . Ist z ∈ Rn eine weitere Lösung, so gilt Ax = Az und die zugehörigen Residuen stimmen überein. Beweis. Siehe Vorlesung. ⊥ Bemerkung V.4. Die Identität A r = 0 besagt, dass r senkrecht oder normal zu den Spalten von A ist. ⊥ Lemma V.5. Die Matrix A A ist symmetrisch und positiv semidefinit. Sie ist positiv definit genau dann, wenn ker A = {0} gilt, das heißt wenn A injektiv ist beziehungsweise die Spaltenvektoren von A linear unabhängig sind, also rank A = n falls m ≥ n. In diesem Fall ist die Lösung der Normalengleichung eindeutig. ⊥ ⊥ ⊥ Beweis. Es gilt (A A) = A A und ⊥ ⊥ ⊥ x (A A)x = (Ax) (Ax) = kAxk22 ≥ 0 mit Gleichheit genau dann, wenn Ax = 0 gilt. Dies impliziert die Behauptung, da positiv definite Matrizen regulär sind. 1 S. BARTELS, 3.12.2013 2 ⊥ Bemerkung V.6. Die Konditionszahl von A A ist im Allgemeinen größer als die von A, denn für m = n und eine reguläre Matrix A ∈ Rn×n gilt ⊥ λmax (A A) = cond2 (A)2 , λmin (A A) ⊥ ⊥ ⊥ ⊥ cond2 (A A) = kA Ak2 k(A A)−1 k2 = ⊥ also cond2 (A A) ≥ cond2 (A), da cond2 (A) ≥ 1. Aufgrund dieser Beobachtung werden Ausgleichsprobleme nicht mit Hilfe der Normalengleichung gelöst. V.B. Householder-Transformationen. Da die euklidische Norm invariant ist unter Rotationen, gilt e kQ(Ax − b)k2 = kAx − bk2 e und allgemeiner für orthogonale Matrizen. Wir werfür jede Rotation Q den versuchen, eine orthogonale Matrix Q zu konstruieren, so dass QA eine verallgemeinerte obere Dreiecksgestalt hat, was eine einfache Lösung des Ausgleichsproblems ermöglicht. ⊥ Definition V.7. Die Matrix Q ∈ R`×` heißt orthogonal, falls Q Q = I` gilt. Die Menge der orthogonalen Matrizen wird mit O(`) bezeichnet. ⊥ Lemma V.8. Für alle P, Q ∈ O(`) gilt P Q ∈ O(`), Q−1 = Q kQxk2 = kxk2 für alle x ∈ R` sowie cond2 (Q) = 1. ∈ O(`), Beweis. Für alle x ∈ R` gilt ⊥ ⊥ ⊥ ⊥ kQxk22 = (Qx) (Qx) = x (Q Q)x = x x = kxk22 und damit kQk2 = 1. Aus den Identitäten ⊥ ⊥ ⊥ ⊥ QQ = (QQ ) = I` = I` , ⊥ ⊥ ⊥ ⊥ ⊥ Q− Q−1 = (QQ )−1 = (Q Q)− = I`− = I` , ⊥ ⊥ ⊥ ⊥ (P Q) (P Q) = Q (P P )Q = Q Q = I` ∈ O(`). Diese Eigenschaften implizieren Definition V.9. Für v ∈ R` mit kvk2 = 1 heißt die Matrix Pv = In − 2vv Householder-Transformation. ⊥ ⊥ folgt P Q ∈ O(`) und Q−1 = Q cond2 (Q) = kQk2 kQ−1 k2 = 1. Householder-Transformationen realisieren Spiegelungen an der zu v senkrechten Ebene. Lemma V.10. Jede HouseholderTransformation Pv = I` − 2vv ist symmetrisch und orthogonal. Es gilt Pv v = −v und Pv w = w für alle w ∈ R` mit w · v = 0. ⊥ Beweis. Siehe Übung. Pv v = −v Pv z = w − v w = Pv w z =w+v v V AUSGLEICHSPROBLEME 3 Jeder Vektor x ∈ R` \ {0} lässt sich mit einer Householder-Transformation in R` auf ein Vielfaches des kanonischen Basisvektors e1 ∈ R` abbilden. Lemma V.11. Sei x ∈ R` \ {0} und x 6∈ span{e1 } und definiere mit σ = sign(x1 ) falls x1 6= 0 und σ = 1 sonst x + σkxk2 e1 v= x + σkxk2 e1 . 2 Dann gilt ⊥ Pv x = (I` − 2vv )x = −σkxke1 . Beweis. Siehe Vorlesung. Bemerkung V.12. Die Einführung von σ vermeidet Auslöschungseffekte. V.C. QR-Zerlegung. Mit Hilfe von Householder-Transformationen werden wir schrittweise die ersten Spalten von Teilmatrizen von A auf Vielfache kanonischer Basisvektoren e1 entsprechender Länge transformieren und somit eine obere Dreiecksstruktur erzeugen. Satz V.13. Sei A ∈ Rm×n mit m ≥ n und rank A = n. Dann existieren Q ∈ O(m) und eine verallgemeinerte obere Dreiecksmatrix R ∈ Rm×n , das heißt es gilt rij = 0 für i > j, so dass r11 r12 . . . r1n r22 . . . r2n .. .. . . A = QR = Q . r nn Ferner gilt |rii | > 0 für alle 1 ≤ i ≤ n. Die Faktorisierung heißt QRZerlegung. Beweis. Siehe Vorlesung. Bemerkungen V.14. (i) Im Fall m = n ist die Faktorisierung bis auf Vorzeichen der Diagonaleinträge von R eindeutig bestimmt, denn gilt A = QR = Q0 R0 , so folgt, dass E = (Q0 )−1 Q = R0 R−1 eine obere Dreiecksmatrix in O(n) ist. Da E −1 eine obere Dreiecksmatrix ist, kann die Identität E = E −1 jedoch nur dann gelten, wenn E eine Diagonalmatrix mit Diagonalelementen in {±1} ist und damit folgt Q = Q0 E sowie R = ER0 . (ii) Die Householder-Transformationen werden nicht über Matrix-MatrixMultiplikationen realisiert, denn es gilt mit w = A v ⊥ ⊥ ⊥ ⊥ ⊥ Pv A = (Im − 2vv )A = A − 2v(v A) = A − 2vw . (iii) Die Vektoren vi , i = 1, 2, . . . , n, die die Householder-Transformationen definieren, lassen sich an den frei werdenden Stellen von A abspeichern, S. BARTELS, 3.12.2013 4 wobei vi = 0 sei, falls Qi = Im ist. Es gilt ferner n Y Q= (Im − 2vi vi ). ⊥ i=1 Algorithmus V.15 (QR-Zerlegung). Sei A ∈ Rm×n mit rank A = n. Initialisiere A1 = A und i = 1. (1) Sei ai ∈ Rm−i+1 die erste Spalte des rechten unteren Blocks Ai ∈ R(m−i+1)×(n−i+1) von A. (2) Gilt ai = e1 so fahre fort mit (5). (3) Definiere ve = ai + σkai k2 e1 und v = ve/ke v k2 . (4) Ersetze den Block Ai durch Ai − vw mit w = 2Ai v. (5) Stoppe falls i = n. (6) Erhöhe i → i + 1 und fahre fort mit (1). ⊥ ⊥ Bemerkung V.16. Im i-ten Schritt werden • 4(m − i + 1) + 4 Operationen zur Berechnung von v, • (m − i + 2)(n − i + 1) Operationen zur Berechnung von w, • (m − i)(n − i + 1) Operationen zur Berechnung von Ai − vw benötigt. Insgesamt ist der Aufwand zur Berechnung der Faktorisierung damit 2mn2 −(2/3)n3 +O(mn). Im Fall m = n ist die Berechnung also doppelt so teuer wie die der LU -Zerlegung. ⊥ V.D. Lösung des Ausgleichsproblems. Wir verwenden die QR-Zerlegung, um ein stabiles Verfahren für das Ausgleichsproblem zu konstruieren. Satz V.17. Sei A ∈ Rm×n mit m ≥ n und rank A = n. Mit der QRZerlegung A = QR sowie b c R , Q A=R= Q b= d 0 ⊥ ⊥ b ∈ Rn×n ist mit c ∈ Rn , d ∈ Rm−n und einer oberen Dreiecksmatrix R die Lösung des durch A und b definierten Ausgleichsproblems gegeben durch b = c. Rx ⊥ Beweis. Mit kQzk2 = kzk2 für alle z ∈ Rm und Q Q = Im gilt 2 c b R 2 2 2 2 b kb − Axk2 = kQ(Q b − Q Ax)k2 = d − 0 x = kRx − ck2 + kdk2 . 2 ⊥ ⊥ b regulär. Die rechte Seite wird offensichtlich für Da rank A = n gilt, ist R −1 b x = R c minimal. Bemerkung V.18. Aus Q ∈ O(n) folgt für reguläre Matrizen A ∈ Rn×n , dass cond2 (R) = cond2 (A). Die QR-Zerlegung definiert damit einen stabilen Algorithmus.