Lineare Gleichungssysteme - Vorlesung 170 004 Numerische Methoden I Clemens Brand und Erika Hausenblas 11. März 2021 - Montanuniversität ...
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Lineare Gleichungssysteme 4. Vorlesung 170 004 Numerische Methoden I Clemens Brand und Erika Hausenblas Montanuniversität Leoben 11. März 2021 1 / 53
Lineare Gleichungssysteme 1 Lösbarkeit, Fehlerempfindlichkeit Matrixalgebra MATLAB und lineare Systeme Fehlerempfindlichkeit, Konditionszahl 2 Direkte Verfahren Dreiecksmatrizen Gauß-Elimination Pivotisierung Stufenform 3 Matrixzerlegungen Links-Rechts-Zerlegung Orthogonale Matrizen QR-Zerlegung Singulärwertzerlegung 4 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen Lösung durch QR-Zerlegung Beispiel: Lineare Datenmodelle 2 / 53
Gliederung 4. Vorlesung 1 Lösbarkeit, Fehlerempfindlichkeit Matrixalgebra MATLAB und lineare Systeme Fehlerempfindlichkeit, Konditionszahl 2 Direkte Verfahren Dreiecksmatrizen Gauß-Elimination Pivotisierung Stufenform 3 Matrixzerlegungen Links-Rechts-Zerlegung Orthogonale Matrizen QR-Zerlegung Singulärwertzerlegung 4 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen Lösung durch QR-Zerlegung Beispiel: Lineare Datenmodelle Lösbarkeit, Fehlerempfindlichkeit 3 / 53
Lineares Gleichungssystem in n Gleichungen und Unbekannten a11 x1 + a12 x2 + . . . +a1n xn = b1 a21 x1 + a22 x2 + . . . +a2n xn = b2 .. .. .. . . . an1 x1 + an2 x2 + . . . +ann xn = bn In Matrixschreibweise: Ax = b . Gleichungssysteme lassen sich in Matrix-Schreibweise übersichtlich und prägnant formulieren. Lösbarkeit, Fehlerempfindlichkeit Matrixalgebra 4 / 53
Eindeutig lösbare Systeme mit quadratischer Matrix Der wichtige Standard-Fall. Dazu gibt es verschiedene Aussagen. Der Fall det(A) 6= 0 ist (algebraisch) gleichbedeutend mit I Alle n Zeilen von A sind linear unabhängig. I Alle n Spalten von A sind linear unabhängig. I rang(A) = n I A hat vollen Rang. Wissen Sie, was der Rang einer Matrix ist? I A ist nichtsingulär I A ist regulär MATLAB: A\b findet die eindeutige Lösung, falls det A 6= 0 Lösbarkeit, Fehlerempfindlichkeit Matrixalgebra 5 / 53
Systeme Ax = b MATLAB-Befehle \ und pinv x=A\b berechnet mit einem Eliminationsverfahren I für nichtsinguläre Matrizen die eindeutige Lösung. I für singuläre Matrizen, wenn eine Lösungsschar existiert, manchmal eine Lösung mit möglichst vielen Null-Komponenten, I für singuläre Matrizen, wenn keine Lösung existiert, meistens Unsinn. x=pinv(A)*b berechnet mit Hilfe der Pseudoinversen I für nichtsinguläre Matrizen mit unnötig hohem Aufwand die eindeutige Lösung. I für singuläre Matrizen, wenn eine Lösungsschar existiert, eine Lösung mit minimaler 2-Norm. I für singuläre Matrizen, wenn keine Lösung existiert, die „am wenigsten falsche Lösung“: jene, für die der Rest-Vektor r = Ax − b am kleinsten ist. Kleinste-Quadrate-Lösung kAx − bk2 → min! Lösbarkeit, Fehlerempfindlichkeit MATLAB und lineare Systeme 6 / 53
Quadratische Systeme Ax = b MATLAB-Befehle rank und rref rank(A) und rank([A,b]) geben MATLABs Meinung zum Rang von Matrix und erweiterter Matrix. Rang-Bestimmung ist numerisch heikel Linear abhängige Matrixzeilen können durch beliebig kleine Änderungen in den Koeffizienten (z. B. Rundungsfehler) unabhängig werden. Rangbestimmung ist daher numerisch heikel und von einer Fehlertoleranz abhängig. MATLABs rank-Funktion verwendet Singulärwertzerlegung, ein aufwändiges, aber verlässliches Verfahren. rref([A,b]) berechnet mit einem speziellen Eliminationsverfahren (Gauß-Jordan) eine reduzierte Treppenform des Systems (reduced row echelon form), aus der alle Lösungsfälle abgelesen werden können. Lösbarkeit, Fehlerempfindlichkeit MATLAB und lineare Systeme 7 / 53
Beispiele zu rref 1 1 1 23 1 0 0 0 A = 1 2 3 , b = 61 , rref([A,b]) = 0 1 0 8 1 3 6 114 0 0 1 15 Eindeutige Lösung; links die Einheitsmatrix, rechts der Lösungsvektor. 2 3 4 5 1 1 0 −1 −2 2 3 5 7 9 1 0 1 2 3 −1 A= ,b = , rref([A,b]) = 4 7 10 13 1 0 0 0 0 0 5 9 13 17 1 0 0 0 0 0 Zwei Nullzeilen in Matrix und erweiterter Matrix: Rang = n-2, zweiparametrige Lösungsschar: wähle x3 und x4 beliebig, bestimme x1 und x2 aus den ersten beiden Gleichungen. x1 = 2 + x3 + 2x4 , x2 = −1 − 2x3 + 3x4 Lösbarkeit, Fehlerempfindlichkeit MATLAB und lineare Systeme 8 / 53
Beispiele zu rref Mit derselben Matrix wie vorhin, aber anderer rechter Seite 2 3 4 5 1 1 0 −1 −2 0 3 5 7 9 1 0 1 2 3 0 A= ,b = , rref([A,b]) = 4 7 10 13 1 0 0 0 0 1 5 9 13 17 0 0 0 0 0 0 Zwei Nullzeilen in Matrix, aber nur eine in erweiterter Matrix: keine Lösung. Lösbarkeit, Fehlerempfindlichkeit MATLAB und lineare Systeme 9 / 53
Gleichungssysteme nicht durch Multiplikation mit Inverser lösen! Die Gleichung 7x = 13 lösen Sie ja auch nicht, indem sie zuerst 7−1 = 0, 1429 berechnen und dann x = 0, 1429 ∗ 13 auswerten. 13 Sie formen die Gleichung natürlich um und rechnen x = . 7 MATLABs Befehl für Gleichungslösen ist \ und nicht inv In MATLAB differieren inv(7)*13 und 7\13 um −2, 2204 · 10−16 . Berechnung der Inversen und anschließende Multiplikation ist sehr viel rechenaufwändiger und anfälliger gegen Rundungsfehler als direktes Gleichungslösen! Lösbarkeit, Fehlerempfindlichkeit MATLAB und lineare Systeme 10 / 53
Fehlerempfindlichkeit, Konditionszahl Konditionszahl Die Konditionszahl κ(A) einer Matrix A misst für das Gleichungssystem Ax = b, wie empfindlich der relative Fehler von x von kleinen relativen Änderungen in A und b abhängt. Zusammenhang Konditionszahl – relative Fehler kδxk kδAk kδbk ≤ κ(A) + mit κ(A) = kAkkA−1 k kxk kAk kbk Der relative Fehler in x kann also κ(A) mal größer als der relative Fehler in A und b sein. Lösbarkeit, Fehlerempfindlichkeit Fehlerempfindlichkeit, Konditionszahl 11 / 53
Determinante und Rang det A 6= 0 ist numerisch unbrauchbar Das Kriterium det A 6= 0 für die Lösbarkeit eines Gleichungssystems ist nur bei Matrizen mit wenigen Zeilen und kleinen ganzzahligen Elementen anwendbar. Ansonsten können Rundungsfehler das Ergebnis verfälschen. MATLAB-Beispiele R=rosser liefert 8 × 8-Matrix, det(R)= -10611 (korrekt wäre 0!). H=hilb(6) liefert 6 × 6-Matrix, det(H)=5.3673e-18. Das sieht aus wie det H = 0, trotzdem ist die Matrix nicht singulär. Rang einer Matrix wird numerisch verlässlicher berechnet Das Kriterium rang A = n ist besser geeignet, um Lösbarkeit festzustellen. Im obigen Beispiel rechnet MATLAB (korrekt): rank(R)=7, rank(H)=6 Lösbarkeit, Fehlerempfindlichkeit Fehlerempfindlichkeit, Konditionszahl 12 / 53
Lösbarkeit und Konditionszahl Die Konditionszahl lässt besser abschätzen, ob eine Matrix singulär oder nahezu singulär ist. MATLAB liefert für die rosser-Matrix cond(R) =1.4945e+16 Rundungsfehler werden 1016 -fach verstärkt. Bei 16-stelliger Genauigkeit bedeutet das: Ergebnis völlig falsch! A mit Konditionszahl 1016 −→ Gleichungssystem praktisch unlösbar Man sagt, A ist numerisch singulär. Der MATLAB-Operator \ zum Gleichungslösen macht automatisch eine Schätzung der reziproken Konditionszahl und liefert Warnung. » A\b Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 7.624224e-17. Lösbarkeit, Fehlerempfindlichkeit Fehlerempfindlichkeit, Konditionszahl 13 / 53
Konditionszahl, Beispiel 4 × 4 Hilbertmatrix H 1 1 1 1 2 3 4 16 −120 240 −140 1 1 1 1 −120 1200 −2700 1680 H = 21 3 4 5 , H −1 = 1 1 1 240 −2700 6480 −4200 3 4 5 6 1 1 1 1 4 5 6 7 −140 1680 −4200 2800 Zeilensummennorm von Matrix und Inverser: kHk∞ = 2,08; kH −1 k∞ = 13 620; κ(H) = 28 375 Störungen in den Daten werden ≈ 28 000-fach verstärkt. Lösbarkeit, Fehlerempfindlichkeit Fehlerempfindlichkeit, Konditionszahl 14 / 53
4 × 4 Hilbertmatrix H, rechte Seite b = (1, 1, 1, 1)T Exakte Lösung ist −4 60 x= −180 140 Ändere das Element h44 : addiere 1/1000. Lösung ändert sich auf 1, 15789 −1, 89474 x= −25, 2632 36, 8421 Lösbarkeit, Fehlerempfindlichkeit Fehlerempfindlichkeit, Konditionszahl 15 / 53
Gliederung 4. Vorlesung 1 Lösbarkeit, Fehlerempfindlichkeit Matrixalgebra MATLAB und lineare Systeme Fehlerempfindlichkeit, Konditionszahl 2 Direkte Verfahren Dreiecksmatrizen Gauß-Elimination Pivotisierung Stufenform 3 Matrixzerlegungen Links-Rechts-Zerlegung Orthogonale Matrizen QR-Zerlegung Singulärwertzerlegung 4 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen Lösung durch QR-Zerlegung Beispiel: Lineare Datenmodelle Direkte Verfahren 16 / 53
Dreiecksmatrizen Gleichungssysteme mit Dreiecksmatrizen sind direkt auflösbar Beispiel für n = 4: Linke untere und rechte obere Dreiecksmatrix 1 0 0 0 r11 r12 r13 r14 ` 21 1 0 0 0 r 22 r23 r24 L= , R= `31 `32 1 0 0 0 r33 r34 `41 `42 `43 1 0 0 0 r44 Vorwärts- bzw. Rückwärts-Substitution löst Gleichungssysteme mit Dreiecksform. Rechenaufwand bei einem n × n-System beträgt jeweils n2 /2 + O(n) Punktoperationen. Direkte Verfahren Dreiecksmatrizen 17 / 53
Klassische Gauß-Elimination transformiert ein Gleichungssystem auf obere Dreiecksform (sofern bei der Pivot-Berechnung immer akk 6= 0!) Für alle Spalten k = 1, . . . n − 1 in Spalte k: für Zeilen unterhalb des Diagonalelements Zeilenindex i = k + 1, . . . , n setze p = aik /akk (Pivot-Koeffizient) subtrahiere das p-fache derZeile k von Zeile i: Für die Spalten j = k, . . . n von Zeile i aij = aij − pakj Für rechte Seite: bi = bi − pbk Rechenaufwand beträgt n3 /3 + O(n2 ) Punktoperationen Direkte Verfahren Gauß-Elimination 18 / 53
Beispiel Lösung eines Gleichungssystems durch Elimination Das Gaußsche Eliminationsverfahren transformiert —sofern bei der Pivot-Berechnung immer akk 6= 0!— die erweiterte Koeffizientenmatrix auf Dreiecksgestalt. 5 6 7 6 5 6 7 6 [A b] = 10 20 23 6 −→ 0 8 9 −6 15 50 67 14 0 0 10 20 Rücksubstitution liefert Lösung. Direkte Verfahren Gauß-Elimination 19 / 53
Warnhinweis If anything can go wrong, it will! Das Eliminationsverfahren in der oben angegebenen einfachen Form bricht zusammen, wenn in seinem Verlauf akk = 0 auftritt. Division durch Null bei der Berechnung des Pivot-Koeffizienten. Abhilfe Pivotisierung! Pivot = Dreh-, Angelpunkt. Direkte Verfahren Pivotisierung 20 / 53
Pivotisierung Systematisches Vertauschen von Gleichungen und Unbekannten verhindert vorzeitige Division durch akk = 0 im Eliminationsverfahren. vollständige Pivotisierung Sucht betragsgrößtes Element unter allen Einträgen in den Positionen von akk bis ann und bringt es an die kk-Position. Vertauscht Gleichungen und Unbekannte. Spalten-Pivotisierung Sucht nur in der k-ten Spalte, vom Element akk an abwärts. Vertauscht nur Geichungen, behält Reihenfolge der Unbekannten. Standardverfahren!. Zusatz-Nutzen Pivotisierung verringert Rundungsfehler bei der Elimination. Direkte Verfahren Pivotisierung 21 / 53
Stufenform und Lösbarkeit Mögliche Fälle nach Abschluss des Eliminationsverfahrens Gauß-Elimination mit vollständiger oder Zeilen-Pivotsuche transformiert die Originalmatrix A und rechte Seite b auf ein System in Stufenform: In jeder Zeile verringert sich die Zahl der Unbekannten um mindestens eine, die dann auch in den darauffolgenden Zeilen nicht mehr vorkommt. Nach Transformation auf Stufenform I Es treten Nullzeilen in A auf und alle entsprechenden Einträge in b sind ebenfals Null: unendlich viele Lösungen I Es treten Nullzeilen in A auf, aber zumindest ein entsprechender Eintrage in b ist nicht Null: keine Lösung I Es treten keine Nullzeilen in A auf: eindeutige Lösung Direkte Verfahren Stufenform 22 / 53
Gauß-Jordan-Verfahren Eine erweiterte Variante der Standard-Gauß-Elimination Das Gauß-Jordan-Verfahren transformiert die erweiterte Koeffizientenmatrix auf reduzierte Stufenform (reduced row echelon form). Die Lösung ist direkt ablesbar. 5 6 7 6 1 0 0 2 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 0 −3 15 50 67 14 0 0 1 2 5 6 7 6 1 0 1/20 21/10 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 9/8 −3/4 15 50 57 −6 0 0 0 0 5 6 7 6 1 0 1/20 0 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 9/8 0 15 50 57 14 0 0 0 1 Direkte Verfahren Stufenform 23 / 53
Gauß-Jordan-Verfahren Eine erweiterte Variante der Standard-Gauß-Elimination Das Gauß-Jordan-Verfahren transformiert die erweiterte Koeffizientenmatrix auf reduzierte Stufenform (reduced row echelon form). Die Lösung ist direkt ablesbar. 5 6 7 6 1 0 0 2 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 0 −3 15 50 67 14 0 0 1 2 5 6 7 6 1 0 1/20 21/10 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 9/8 −3/4 15 50 57 −6 0 0 0 0 5 6 7 6 1 0 1/20 0 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 9/8 0 15 50 57 14 0 0 0 1 Direkte Verfahren Stufenform 23 / 53
Gauß-Jordan-Verfahren Eine erweiterte Variante der Standard-Gauß-Elimination Das Gauß-Jordan-Verfahren transformiert die erweiterte Koeffizientenmatrix auf reduzierte Stufenform (reduced row echelon form). Die Lösung ist direkt ablesbar. 5 6 7 6 1 0 0 2 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 0 −3 15 50 67 14 0 0 1 2 5 6 7 6 1 0 1/20 21/10 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 9/8 −3/4 15 50 57 −6 0 0 0 0 5 6 7 6 1 0 1/20 0 [A b] = 10 20 23 6 , rref([A, b]) −→ 0 1 9/8 0 15 50 57 14 0 0 0 1 Direkte Verfahren Stufenform 23 / 53
Gliederung 4. Vorlesung 1 Lösbarkeit, Fehlerempfindlichkeit Matrixalgebra MATLAB und lineare Systeme Fehlerempfindlichkeit, Konditionszahl 2 Direkte Verfahren Dreiecksmatrizen Gauß-Elimination Pivotisierung Stufenform 3 Matrixzerlegungen Links-Rechts-Zerlegung Orthogonale Matrizen QR-Zerlegung Singulärwertzerlegung 4 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen Lösung durch QR-Zerlegung Beispiel: Lineare Datenmodelle Matrixzerlegungen 24 / 53
Die Matrix-Vektor-Multiplikation y = A · x Grundlegende Bedeutung einer n × m-Matrix A Eine Matrix definiert durch y = A · x eine lineare Abbildung Rm → Rn . Hauptberuf einer Matrix: aus einem Vektor einen anderen zu machen. Im Allgemeinen ändert die Matrix dadurch Richtung, Betrag (und sogar Dimension) eines Vektors. Matrixzerlegungen spalten die Aktion der Matrix in leichter zu durchblickende Einzelschritte auf. I Links-Rechts-Zerlegung A = L · R I QR-Zerlegung A = Q · R I Singulärwertzerlegung A = U · S · V T Matrixzerlegungen 25 / 53
Die Matrix-Vektor-Multiplikation y = A · x Grundlegende Bedeutung einer n × m-Matrix A Eine Matrix definiert durch y = A · x eine lineare Abbildung Rm → Rn . Hauptberuf einer Matrix: aus einem Vektor einen anderen zu machen. Im Allgemeinen ändert die Matrix dadurch Richtung, Betrag (und sogar Dimension) eines Vektors. Matrixzerlegungen spalten die Aktion der Matrix in leichter zu durchblickende Einzelschritte auf. I Links-Rechts-Zerlegung A = L · R I QR-Zerlegung A = Q · R I Singulärwertzerlegung A = U · S · V T Matrixzerlegungen 25 / 53
Die Matrix-Vektor-Multiplikation y = A · x Grundlegende Bedeutung einer n × m-Matrix A Eine Matrix definiert durch y = A · x eine lineare Abbildung Rm → Rn . Hauptberuf einer Matrix: aus einem Vektor einen anderen zu machen. Im Allgemeinen ändert die Matrix dadurch Richtung, Betrag (und sogar Dimension) eines Vektors. Matrixzerlegungen spalten die Aktion der Matrix in leichter zu durchblickende Einzelschritte auf. I Links-Rechts-Zerlegung A = L · R I QR-Zerlegung A = Q · R I Singulärwertzerlegung A = U · S · V T Matrixzerlegungen 25 / 53
Wiederholung: LR-Zerlegung A = L · R Das Gaußsche Eliminationsverfahren ohne Pivotisierung faktorisiert (wenn es nicht abbricht) eine Matrix A in ein Produkt A = LR aus einer linken unteren Dreiecksmatrix L und einer rechten oberen Dreiecksmatrix R. 5 6 7 1 0 0 5 6 7 10 20 23 = 2 1 0 · 0 8 9 15 50 67 3 4 1 0 0 10 Matrixzerlegungen Links-Rechts-Zerlegung 26 / 53
LR-Zerlegung allgemein Jede quadratische oder auch rechteckige Matrix lässt sich in ein Produkt der Form A=L·R zerlegen. Dabei ist I L eine links-unten-Dreiecksmatrix mit 1-Diagonale (zumindest, wenn man die Zeilen von L passend umordnet) I R eine obere Dreiecksmatrix MATLAB: [L U]=lu(A) zerlegt beispielsweise " # " # " # 1 1 2 3 1 4 5 6 = 4 · 4 5 6 1 0 0 43 3 2 Matrixzerlegungen Links-Rechts-Zerlegung 27 / 53
Anwendungen zur LR-Zerlegung I lineare Gleichungssysteme I Determinante I Inverse MATLAB-Hilfe: “Most of the algorithms for computing LU factorization are variants of Gaussian elimination. The factorization is a key step in obtaining the inverse with inv and the determinant with det. It is also the basis for the linear equation solution obtained with \” Matrixzerlegungen Links-Rechts-Zerlegung 28 / 53
Orthogonale Matrizen Transponierte ist zugleich Inverse Definition Eine quadratische Matrix Q heißt orthogonal, wenn gilt QT · Q = I Die Spalten von Q sind Einheitsvektoren und paarweise orthogonal. Es gilt dann auch Q · QT = I Die Zeilen von Q sind ebenfalls Einheitsvektoren und paarweise orthogonal. Matrixzerlegungen Orthogonale Matrizen 29 / 53
Orthogonale Matrizen: Beispiele " # 2 −2 1 1 1 1 1 P=√ , Q = 1 2 2 2 1 −1 3 2 1 −2 ) Zwei- dimensionale orthogonale Matrizen mit Determinante 1 Drei- ( ) ebenen entsprechen Drehungen räumlichen Orthogonale Matrizen mit Determinante -1 entsprechen Spiegelungen. Matrixzerlegungen Orthogonale Matrizen 30 / 53
Orthogonale Matrizen: Beispiele " # 2 −2 1 1 1 1 1 P=√ , Q = 1 2 2 2 1 −1 3 2 1 −2 ) Zwei- dimensionale orthogonale Matrizen mit Determinante 1 Drei- ( ) ebenen entsprechen Drehungen räumlichen Orthogonale Matrizen mit Determinante -1 entsprechen Spiegelungen. Matrixzerlegungen Orthogonale Matrizen 30 / 53
Fundamentale Eigenschaft Multiplikation eines Vektors mit einer orthogonalen Matrix lässt die 2-Norm des Vektors unverändert Multiplikation eines Vektors mit einer orthogonalen Matrix dreht (oder spiegelt) den Vektor, lässt aber seine Länge (2-Norm) unverändert. kxk2 = kQ · xk2 Matrixzerlegungen Orthogonale Matrizen 31 / 53
QR-Zerlegung Satz Jede reelle n × m Matrix lässt sich in ein Produkt der Form A=Q·R mit einer orthogonalen n × n Matrix Q und einer n × m oberen Dreiecksmatrix R zerlegen. MATLAB: [Q R]=qr(A) Anwendungen: Eigenwert-Berechnung, überbestimmte Systeme Matrixzerlegungen QR-Zerlegung 32 / 53
Singulärwert-Zerlegung Singular Value Decomposition, SVD Satz Jede reelle n × m Matrix lässt sich in ein Produkt der Form A = U · S · VT mit einer orthogonalen n × n Matrix U, einer n × m-Diagonalmatrix S und einer orthogonalen m × m Matrix V zerlegen. Die Diagonalwerte von S heißen die Singulärwerte von A. MATLAB: [U S V]=svd(A) Anwendungen Pseudoinverse, über- und unterbestimmte Gleichungssysteme, Datenanalyse, -komprimierung, -clustering, etc. etc. Matrixzerlegungen Singulärwertzerlegung 33 / 53
Singulärwert-Zerlegung Anschauliche Interpretation Die Singulärwertzerlegung A = U · S · V T zerlegt die Multiplikation A · x in drei Einzelschritte: I a = V T · x dreht den Vektor x I b = S · a skaliert die Komponenten von a I y = U · b dreht den Vektor b Abgesehen von den beiden Drehungen beschreibt die Diagonalmatrix S, was die die Matrix A „eigentlich“ tut. In geeignet gedrehten Koordinaten wird aus A eine Diagonalmatrix S. Der richtige Dreh vereinfacht viele Aufgaben. Matrixzerlegungen Singulärwertzerlegung 34 / 53
Singulärwert-Zerlegung Anschauliche Interpretation Die Singulärwertzerlegung A = U · S · V T zerlegt die Multiplikation A · x in drei Einzelschritte: I a = V T · x dreht den Vektor x I b = S · a skaliert die Komponenten von a I y = U · b dreht den Vektor b Abgesehen von den beiden Drehungen beschreibt die Diagonalmatrix S, was die die Matrix A „eigentlich“ tut. In geeignet gedrehten Koordinaten wird aus A eine Diagonalmatrix S. Der richtige Dreh vereinfacht viele Aufgaben. Matrixzerlegungen Singulärwertzerlegung 34 / 53
Diagonalisierung symmetrischer Matrizen Ein Spezialfall von SVD Jede symmetrische Matrix A lässt sich in der Form A = Q · D · Q T zerlegen; dabei ist Q eine Orthogonal- und D eine Diagonalmatrix Die Bedeutung dieser Zerlegung diskutieren wir genauer im Kapitel „Eigenwerte und Eigenvektoren“. Matrixzerlegungen Singulärwertzerlegung 35 / 53
Gliederung 4. Vorlesung 1 Lösbarkeit, Fehlerempfindlichkeit Matrixalgebra MATLAB und lineare Systeme Fehlerempfindlichkeit, Konditionszahl 2 Direkte Verfahren Dreiecksmatrizen Gauß-Elimination Pivotisierung Stufenform 3 Matrixzerlegungen Links-Rechts-Zerlegung Orthogonale Matrizen QR-Zerlegung Singulärwertzerlegung 4 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen Lösung durch QR-Zerlegung Beispiel: Lineare Datenmodelle Überbestimmte Systeme 36 / 53
Überbestimmte Systeme Ein lineares Gleichungssystem mit mehr Gleichungen als Unbekannten heißt überbestimmt x = 1 1 0 " # 1 x y = 2 0 1 · = 2 y x + y = 4 1 1 4 Allgemein: ein überbestimmtes lineares System Ax = b mit einer m × n-Matrix A, wobei m > n I In der Regel hat ein solches System keine (exakte) Lösung. I (Kompromiss-)Lösung sucht möglichst kleinen Residuenvektor r = b − Ax I Klassische kleinste-Quadrate-Lösung mit Normalengleichungen AT Ax = AT b Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 37 / 53
Überbestimmte Systeme Ein lineares Gleichungssystem mit mehr Gleichungen als Unbekannten heißt überbestimmt x = 1 1 0 " # 1 x y = 2 0 1 · = 2 y x + y = 4 1 1 4 Allgemein: ein überbestimmtes lineares System Ax = b mit einer m × n-Matrix A, wobei m > n I In der Regel hat ein solches System keine (exakte) Lösung. I (Kompromiss-)Lösung sucht möglichst kleinen Residuenvektor r = b − Ax I Klassische kleinste-Quadrate-Lösung mit Normalengleichungen AT Ax = AT b Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 37 / 53
Überbestimmte Systeme Ein lineares Gleichungssystem mit mehr Gleichungen als Unbekannten heißt überbestimmt x = 1 1 0 " # 1 x y = 2 0 1 · = 2 y x + y = 4 1 1 4 Allgemein: ein überbestimmtes lineares System Ax = b mit einer m × n-Matrix A, wobei m > n I In der Regel hat ein solches System keine (exakte) Lösung. I (Kompromiss-)Lösung sucht möglichst kleinen Residuenvektor r = b − Ax I Klassische kleinste-Quadrate-Lösung mit Normalengleichungen AT Ax = AT b Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 37 / 53
Überbestimmte Systeme Ein lineares Gleichungssystem mit mehr Gleichungen als Unbekannten heißt überbestimmt x = 1 1 0 " # 1 x y = 2 0 1 · = 2 y x + y = 4 1 1 4 Allgemein: ein überbestimmtes lineares System Ax = b mit einer m × n-Matrix A, wobei m > n I In der Regel hat ein solches System keine (exakte) Lösung. I (Kompromiss-)Lösung sucht möglichst kleinen Residuenvektor r = b − Ax I Klassische kleinste-Quadrate-Lösung mit Normalengleichungen AT Ax = AT b Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 37 / 53
Überbestimmte Systeme Ein lineares Gleichungssystem mit mehr Gleichungen als Unbekannten heißt überbestimmt x = 1 1 0 " # 1 x y = 2 0 1 · = 2 y x + y = 4 1 1 4 Allgemein: ein überbestimmtes lineares System Ax = b mit einer m × n-Matrix A, wobei m > n I In der Regel hat ein solches System keine (exakte) Lösung. I (Kompromiss-)Lösung sucht möglichst kleinen Residuenvektor r = b − Ax I Klassische kleinste-Quadrate-Lösung mit Normalengleichungen AT Ax = AT b Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 37 / 53
Beispiel: Wägung zweier Massen Zwei Massen m1 , m2 werden zuerst einzeln, dann gemeinsam abgewogen. Die Messwerte sind: m1 = 1 m2 = 2 m1 + m2 = 4 Lösungsvorschläge? 0 I Letzte Gleichung weglassen: Fehler r = 0 1 −0,5 I Fehler „aufteilen“, etwa m1 = 1,5; m2 = 2,5 → r = −0,5 0 I oder noch fairer auf die drei Komponenten aufteilen. . . Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 38 / 53
Beispiel: Wägung zweier Massen Zwei Massen m1 , m2 werden zuerst einzeln, dann gemeinsam abgewogen. Die Messwerte sind: m1 = 1 m2 = 2 m1 + m2 = 4 Lösungsvorschläge? 0 I Letzte Gleichung weglassen: Fehler r = 0 1 −0,5 I Fehler „aufteilen“, etwa m1 = 1,5; m2 = 2,5 → r = −0,5 0 I oder noch fairer auf die drei Komponenten aufteilen. . . Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 38 / 53
Beispiel: Wägung zweier Massen Zwei Massen m1 , m2 werden zuerst einzeln, dann gemeinsam abgewogen. Die Messwerte sind: m1 = 1 m2 = 2 m1 + m2 = 4 Lösungsvorschläge? 0 I Letzte Gleichung weglassen: Fehler r = 0 1 −0,5 I Fehler „aufteilen“, etwa m1 = 1,5; m2 = 2,5 → r = −0,5 0 I oder noch fairer auf die drei Komponenten aufteilen. . . Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 38 / 53
Beispiel: Wägung zweier Massen Zwei Massen m1 , m2 werden zuerst einzeln, dann gemeinsam abgewogen. Die Messwerte sind: m1 = 1 m2 = 2 m1 + m2 = 4 Lösungsvorschläge? 0 I Letzte Gleichung weglassen: Fehler r = 0 1 −0,5 I Fehler „aufteilen“, etwa m1 = 1,5; m2 = 2,5 → r = −0,5 0 I oder noch fairer auf die drei Komponenten aufteilen. . . Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 38 / 53
Geometrische Interpretation Zeilen des Gleichungssystems sind Geradengleichungen m2 4 m1 = 1 m2 = 2 m1 + m2 = 4 3 Den drei Gleichungen entsprechen drei Gerade im R2 . Kein 2 gemeinsamer Schnittpunkt! „In der Mitte des Fehlerdreiecks“, im Punkt (4/3; 7/3) ist die 1 Summe der Fehlerquadrate minimal. m1 1 2 3 4 (m1 − 1)2 + (m2 − 2)2 + (m1 + m2 − 4)2 → min! Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 39 / 53
Geometrische Interpretation Zeilen des Gleichungssystems sind Geradengleichungen m2 4 m1 = 1 m2 = 2 m1 + m2 = 4 3 Den drei Gleichungen entsprechen drei Gerade im R2 . Kein 2 gemeinsamer Schnittpunkt! „In der Mitte des Fehlerdreiecks“, im Punkt (4/3; 7/3) ist die 1 Summe der Fehlerquadrate minimal. m1 1 2 3 4 (m1 − 1)2 + (m2 − 2)2 + (m1 + m2 − 4)2 → min! Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 39 / 53
Geometrische Interpretation Zeilen des Gleichungssystems sind Geradengleichungen m2 4 m1 = 1 m2 = 2 m1 + m2 = 4 3 Den drei Gleichungen entsprechen drei Gerade im R2 . Kein 2 gemeinsamer Schnittpunkt! „In der Mitte des Fehlerdreiecks“, im Punkt (4/3; 7/3) ist die 1 Summe der Fehlerquadrate minimal. m1 1 2 3 4 (m1 − 1)2 + (m2 − 2)2 + (m1 + m2 − 4)2 → min! Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 39 / 53
Methode der kleinsten Fehlerquadrate Suche m1 , m2 so dass (m1 − 1)2 + (m2 − 2)2 + (m1 + m2 − 4)2 → min! Differenziere nach m1 und m2 , setze Ableitungen gleich Null → 2m1 + m2 = 5 m1 + 2m2 = 6 Führt man diese Rechnung allgemein für ein überbestimmtes System Ax = b durch, erhält man die Normalengleichungen AT Ax = AT b. " # 1 0 " # " # 1 1 0 1 m1 1 0 1 hier: · 0 1 · = · 2 0 1 1 m2 0 1 1 1 1 4 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 40 / 53
Zwei mögliche geometrische Interpretationen Im Raum Rn der Lösungsvektoren I Gleichungen entsprechen Geraden (Ebenen, Hyperebenen) I Optimal-Lösung im Schnittbereich (Fehlerdreieck, -Polyeder, . . . ) I Nachteil: „Mitte des Fehlerdreiecks“ nicht exakt definiert. Im Raum Rm der rechten-Seite-Vektoren I Matrix mal Vektor ergibt Linearkombination der Spaltenvektoren I Bei „zu wenig“ Spaltenvektoren lässt sich nicht jede rechte Seite als Linearkombination erreichen. I Der geringste Abstand zwischen Linearkombination und rechter Seite ist Normalabstand. Eine Folie noch, dann kommt eh gleich ein Beispiel. . . Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 41 / 53
Zwei mögliche geometrische Interpretationen Im Raum Rn der Lösungsvektoren I Gleichungen entsprechen Geraden (Ebenen, Hyperebenen) I Optimal-Lösung im Schnittbereich (Fehlerdreieck, -Polyeder, . . . ) I Nachteil: „Mitte des Fehlerdreiecks“ nicht exakt definiert. Im Raum Rm der rechten-Seite-Vektoren I Matrix mal Vektor ergibt Linearkombination der Spaltenvektoren I Bei „zu wenig“ Spaltenvektoren lässt sich nicht jede rechte Seite als Linearkombination erreichen. I Der geringste Abstand zwischen Linearkombination und rechter Seite ist Normalabstand. Eine Folie noch, dann kommt eh gleich ein Beispiel. . . Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 41 / 53
Zwei mögliche geometrische Interpretationen Im Raum Rn der Lösungsvektoren I Gleichungen entsprechen Geraden (Ebenen, Hyperebenen) I Optimal-Lösung im Schnittbereich (Fehlerdreieck, -Polyeder, . . . ) I Nachteil: „Mitte des Fehlerdreiecks“ nicht exakt definiert. Im Raum Rm der rechten-Seite-Vektoren I Matrix mal Vektor ergibt Linearkombination der Spaltenvektoren I Bei „zu wenig“ Spaltenvektoren lässt sich nicht jede rechte Seite als Linearkombination erreichen. I Der geringste Abstand zwischen Linearkombination und rechter Seite ist Normalabstand. Eine Folie noch, dann kommt eh gleich ein Beispiel. . . Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 41 / 53
Zwei mögliche geometrische Interpretationen Im Raum Rn der Lösungsvektoren I Gleichungen entsprechen Geraden (Ebenen, Hyperebenen) I Optimal-Lösung im Schnittbereich (Fehlerdreieck, -Polyeder, . . . ) I Nachteil: „Mitte des Fehlerdreiecks“ nicht exakt definiert. Im Raum Rm der rechten-Seite-Vektoren I Matrix mal Vektor ergibt Linearkombination der Spaltenvektoren I Bei „zu wenig“ Spaltenvektoren lässt sich nicht jede rechte Seite als Linearkombination erreichen. I Der geringste Abstand zwischen Linearkombination und rechter Seite ist Normalabstand. Eine Folie noch, dann kommt eh gleich ein Beispiel. . . Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 41 / 53
Beispiel: Farbmischung mit RGB-Vektoren Gegeben: zwei Farbtöne 200 50 RGB 50 RGB 150 50 200 Gesucht: neutrale Grauschattierung RGB 150 150 150 200 50 150 50 x + 150 y = 150 50 200 150 Optimale Lösung erreicht 200 50 151 50 0,588 + 150 0,674 = 130 50 200 164
Beispiel: Farbmischung mit RGB-Vektoren Gegeben: zwei Farbtöne 200 50 RGB 50 RGB 150 50 200 Gesucht: neutrale Grauschattierung RGB 150 150 150 200 50 150 50 x + 150 y = 150 50 200 150 Optimale Lösung erreicht 200 50 151 50 0,588 + 150 0,674 = 130 50 200 164
Beispiel: Farbmischung mit RGB-Vektoren Gegeben: zwei Farbtöne 200 50 RGB 50 RGB 150 50 200 Gesucht: neutrale Grauschattierung RGB 150 150 150 200 50 150 50 x + 150 y = 150 50 200 150 Optimale Lösung erreicht 200 50 151 50 0,588 + 150 0,674 = 130 50 200 164
Beispiel: Farbmischung mit RGB-Vektoren Gegeben: zwei Farbtöne 200 50 RGB 50 RGB 150 50 200 Gesucht: neutrale Grauschattierung RGB 150 150 150 200 50 150 50 x + 150 y = 150 50 200 150 Optimale Lösung erreicht 200 50 151 50 0,588 + 150 0,674 = 130 50 200 164
Orthogonalitätsbedingung im Bildraum 1 0 m1 Der Ausdruck 0 1 · 30 m2 1 1 1 2 2 entspricht der 3 1 Parameterdarstellung eine Ebene im R3 . 0 Der Punkt (1; 2; 4) liegt nicht auf 6 dieser Ebene. Der Residuenvektor 1 1 0 m1 r = 2 − 0 1 · m2 4 1 1 4 hat minimale Länge, wenn er auf die Ebene normal steht. 2 0 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 44 / 53
Drehe den Bildraum, dann geht’s leichter! 30 1 Wenn die zwei die Ebene 2 2 3 aufspannenden Vektoren 1 irgendwo hin in den R3 0 zeigen, ist der Punkt mit 6 minimalem Abstand von b nicht so leicht zu finden. . . Drehen wir vorsichtig 4 das Koordinatensystem. . . bis die zwei Vektoren in der xy -Ebene liegen. Die 2 Lösung liegt nun genau senkrecht unter b 0 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 45 / 53
Drehe den Bildraum, dann geht’s leichter! 0 3 1 Wenn die zwei die Ebene 2 2 3 aufspannenden Vektoren 1 irgendwo hin in den R3 0 zeigen, ist der Punkt mit minimalem Abstand von b nicht so leicht zu finden. . . 4 Drehen wir vorsichtig das Koordinatensystem. . . bis die zwei Vektoren in 2 der xy -Ebene liegen. Die Lösung liegt nun genau senkrecht unter b 0 Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 45 / 53
Drehe den Bildraum, dann geht’s leichter! 4 Wenn die zwei die Ebene 3 aufspannenden Vektoren 2 irgendwo hin in den R3 1 zeigen, ist der Punkt mit 0 minimalem Abstand von 3 b nicht so leicht zu finden. . . 2 Drehen wir vorsichtig 1 das Koordinatensystem. . . 0 bis die zwei Vektoren in 0 der xy -Ebene liegen. Die 2 Lösung liegt nun genau 4 senkrecht unter b Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 45 / 53
Drehe den Bildraum, dann geht’s leichter! Wenn die zwei die Ebene aufspannenden Vektoren irgendwo hin in den R3 3 zeigen, ist der Punkt mit 2 minimalem Abstand von b nicht so leicht zu 1 finden. . . 0 4 Drehen wir vorsichtig 0 3 das 2 2 Koordinatensystem. . . 4 1 bis die zwei Vektoren in 6 0 der xy -Ebene liegen. Die Lösung liegt nun genau senkrecht unter b Suche eine orthogonale Matrix Q, welche das Gleichungssystem in einen „einfacheren“ Bildraum dreht! Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 45 / 53
Beispiel von vorhin Die QR-Zerlegung von A liefert die gewünschte Drehmatrix! √ √ √ √ 1 0 3 −1 −√2 2 p2/2 1 Zerlegung A = QR : 0 1 = √ √0 2 −√ 2 · 0 3/2 1 1 6 0 0 3 1 2 √ √ √ 2 p2/2 " # 5/ 2 m1 √ Transformiertes System Rx = Q T b : 0 3/2 = 7/ √6 m2 0 0 1/ 3 Drehung mit Q anschaulich interpretiert QR-Zerlegung transformiert überbestimmtes System in lösbaren Anteil und unlösbaren Rest Bestmögliche Lösung: unlösbare Gleichungen weglassen, die anderen exakt lösen. Überbestimmte Systeme Kleinste Quadrate, Normalengleichungen 46 / 53
QR-Zerlegung löst (überbestimmte) Gleichungssysteme Zur Lösung von Ax = b führt man QR-Zerlegung durch und löst das Dreieckssystem Rx = Q T · b durch Substitution. Begründung Bei n × n-Systemen setzt man diese Methode normalerweise Ax = b nicht ein, weil sie Q · Rx = b |Q T · rechenaufwändiger als die Q T · Q · Rx = QT · b LR-Zerlegung ist. Rx = QT · b Bei n × m-Systemen (n > m) liefern die ersten m Zeilen von R die kleinste-Quadrate-Lösung. Lösung überbestimmte Systeme mittels Normalengleichungen ist anfälliger für Rundungsfehler als Lösung durch QR-Zerlegung. Überbestimmte Systeme Lösung durch QR-Zerlegung 47 / 53
Überbestimmte Systeme A · x = b: QR-Zerlegung Aufgabe Suche x so, dass Residuums-2-Norm krk2 minimal wird krk = kb − A · xk → min! Vorgangsweise Zerlege A = Q · R Multiplikation von r mit Q T lässt 2-Norm unverändert. Wandle um: krk = kQ T · rk = kQ T (b − A · x)k = kQ T b − R · xk Für das transformierte System ist die Minimallösung offensichtlich. . . Überbestimmte Systeme Lösung durch QR-Zerlegung 48 / 53
Angenommen, das überbestimmte System besteht aus m Unbekannten und n = m + k Gleichungen (k > 0). Dann ist R eine n × m-Matrix, deren letzte k Zeilen lauter Nullen enthalten. Die letzten k Zeilen des Residuumsvektors hängen nicht von x ab. Löse die ersten m Gleichungen des Systems R · x = Q T b exakt (wenn möglich): Diese Gleichungen liefern keinen Beitrag zu Residuum. Die restlichen k Gleichungen hängen von x nicht ab. Keine Wahl von x kann den Beitrag dieser Gleichungen zum Residuum ändern. Daher ist die gewählte Lösung optimal für R · x = Q T b Weil Transformation die Norm nicht beeinflusst, ist diese Lösung auch optimale Lösung von A · x = b Überbestimmte Systeme Lösung durch QR-Zerlegung 49 / 53
Überbestimmte Systeme A · x = b: SVD-Zerlegung Aufgabe Suche x so, dass Residuums-2-Norm krk2 minimal wird krk = kb − A · xk → min! Vorgangsweise Zerlege A = U · S · V T , substituiere y = V T · x. Multiplikation von r mit U T lässt 2-Norm unverändert. Wandle um: krk = kU T · rk = kU T b − S · V T · xk = kQ T b − S · yk Für das gedrehte System ist die Minimallösung völlig offensichtlich. . . (Zahlenbeispiel im Skriptum) Überbestimmte Systeme Lösung durch QR-Zerlegung 50 / 53
Übersicht der Verfahren für überbestimmte Systeme A · x = b Normalengleichungen AT · A = AT b Klassischer Lösungsweg. Anfällig für Daten- und Rundungsfehler (schlechte Konditionszahl). QR-Zerlegung Standardverfahren zur numerischen Lösung. Algebraisch äquivalent zu Norm.gleichungen, aber numerisch weniger fehlerempfindlich. MATLAB x = A\b verwendet bei überbestimmten Systemen automatisch QR-Zerlegung Sonderfälle (rang A ≤ n) Überbestimmte Systeme, die trotzdem exakt lösbar sind oder eine Schar von (ex. oder kl. Quadr.) Lösungen haben. Normalengleichungen können versagen. Singulärwert-Zerlegung. Überbestimmte Systeme Lösung durch QR-Zerlegung 51 / 53
Lineares Modell in zwei Variablen Anpassen einer Ausgleichs-Ebene: Beispiel aus der Matlab-Hilfe Angenommen, eine Größe y hängt von zwei Parametern x1 und x2 ab. Folgende Messwerte liegen vor: x1 : 0.2 0.5 0.6 0.8 1.0 1.1 x2 : 0.1 0.3 0.4 0.9 1.1 1.4 y : 0.17 0.26 0.28 0.23 0.27 0.24 Wir nehmen ein lineares Modell y = a0 + a1 x1 + a2 x2 an und setzen die gegebenen Datentripel ein −→ führt auf ein System von 6 linearen Gleichungen in den 3 unbekannten Koeffizienten a0 , a1 , a2 . −→ Kleinste-Quadrate-Lösung liefert Ebene mit „bestmöglicher“ Anpassung an Daten Überbestimmte Systeme Beispiel: Lineare Datenmodelle 52 / 53
Lineares Modell in zwei Variablen Beispiel: Magnetische Deklinationswerte 2008.5 in Österreich 49.5 Wien 3° 00’ 1.6 1.8 2.2 1.4 2 Eisenstadt 3° 02’ 2.4 2.6 2.8 3.4 3.2 49 3 48.5 St.Pölten 2° 54’ Graz 2° 47’ Linz 2° 33’ 48 1.6 1.8 2.2 1.4 2 2.4 2.6 2.8 3.4 3.2 Klagenfurt 2° 30’ 3 47.5 47 Salzburg 2° 15’ 46.5 Innsbruck 1° 53’ Bregenz 1° 24’ 1.6 1.8 2.2 1.4 2 2.4 2.6 2.8 3.2 3 46 9 10 11 12 13 14 15 16 17 18 Daten: ZAMG Kleinste-Quadrate-Anpassung liefert Modell: δ = −2.0987 + 0.2365λ + 0.0261φ Überbestimmte Systeme Beispiel: Lineare Datenmodelle 53 / 53
Sie können auch lesen