Lineare Gleichungssysteme - Vorlesung 170 004 Numerische Methoden I Clemens Brand und Erika Hausenblas 12. März 2020 - 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 12. März 2020
4. Vorlesung: Lineares Gleichungssysteme Ein Hinweis zu Beginn Die Folien zur 4. Vorlesung enthalten sehr viel Material. Wir werden nicht alles im Detail durchbesprechen können. Sie sollen aber so weit mit dem Material vertraut werden, dass Sie in den nächsten Wochen sich eigenständig damit beschäftigen und das notwendige Wissen erarbeiten können. Dazu werden wir weiteres Material zur Verfügung stellen. Bleiben Sie gesund und passen Sie auf sich auf! Clemens Brand und Erika Hausenblas 12. März 2020 2 / 65
Lineare Gleichungssysteme 1 Lösbarkeit, Fehlerempfindlichkeit Matrixalgebra Lösbarkeit: Fallunterscheidungen 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 Clemens Brand und Erika Hausenblas 12. März 2020 3 / 65
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. Machen Sie sich mit den Bezeichnungen und Regeln der Matrizenrechnung vertraut!
Einheitsmatrix, Inverse und Transponierte Diese Begriffe sollten sie kennen. . . Die 3×3-Einheitsmatrix. Wichtige Ei- Ein recht simples Beispiel: genschaft: A · I = I · A = A Das Magische Quadrat der Ordnung 3 1 0 0 8 1 6 I = 0 1 0 M = 3 5 7 0 0 1 4 9 2 Die Inverse von M. Wichtige Eigen- Die transponierte Matrix M T schaft: M · M −1 = M −1 · M = I 8 3 4 MT = 1 5 9 53 −52 23 6 7 2 1 M −1 = −22 8 38 360 −7 68 −37 MATLAB: eye(3), m=magic(3), inv(m), m’
Matrix-Algebra Produkt von Matrizen A·B =C Element cij ist Skalarprodukt der i-ten Zeile von A mit der j-ten Spalte von B. A : (` × m)-Matrix B : (m × n)-Matrix C : (` × m) · (m × n) → (` × n)-Matrix I Spaltenanzahl von A und Zeilenanzahl von B müssen übereinstimmen! I Im Allgemeinen nicht kommutativ: A · B 6= B · A!
Matrizenrechnung in MATLAB A’ Matrixtransposition AT A+B, A-B Matrixaddition, -subtraktion A.*B, A./B elementweise Multiplikation, Division A*B Matrixmultiplikation A/B schräge Schreibung: „Division“ A · B −1 A\B noch schräger: „Division“ A−1 · B Wichtiger Befehl: A\b liefert Lösung des Gleichungssystems A·x=b (aber nicht in der Form x = A−1 · b, sondern durch Gauß-Elimination.)
Gleichungssysteme: Aufgabenstellung Eine der wichtigsten Aufgaben bei technisch-wissenschaftlichen Berechnungen ist das Lösen linearer Gleichungssysteme Ax = b gegeben: A, b. gesucht: Vektor x AX = B B und X können auch Matrizen sein XA = B kommt selten vor I Oft ist A quadratisch, und man sucht eine eindeutige Lösung. I Ist A eine m × n-Matrix mit m > n (mehr Zeilen als Spalten, d.h. mehr Gleichungen als Unbekannte): überbestimmtes System, man kann Lösung mit kleinsten Fehlerquadrat suchen. I Ist m < n: unterbestimmtes System. Gesucht: ein- oder mehrparametrige Lösungsschar
Fallunterscheidungen bei Gleichungssystemen Vorübung: eine Gleichung, eine Unbekannte Die lineare Gleichung ax = b a, b gegeben, x gesucht I hat eine eindeutige Lösung genau dann, wenn a 6= 0 I unendlich viele Lösungen genau dann, wenn a = b = 0 I keine Lösung genau dann, wenn a = 0, b 6= 0 Bei Systemen linearer Gleichungen treten diese Fälle in ganz ähnlicher Weise auf.
Zwei Gleichungen, zwei Unbekannte " # " # " # 1 2 x 1 x = 0 · = eindeutige Lösung y = 1/2 3 4 y 2 ∞ viele Lösungen " # " # " # 1 2 x 1 x = 0, 1, 2, 3, ... · = 3 6 y 3 y = 1/2, 0 −1/2, −1, ... " # " # " # 1 2 x 1 · = keine Lösung 3 6 y 2 Die Determinante determiniert: Im ersten Fall ist det A 6= 0, in den anderen beiden Fällen ist det A = 0
Systeme Ax = b mit quadratischer Matrix Ein lineares Gleichungssystem mit quadratischer n × n-Matrix ist I genau dann eindeutig lösbar, wenn rang A = n (det(A) 6= 0). Andernfalls gibt es I keine eindeutige (wenn rang A = rang[A, b]), oder I überhaupt keine Lösung (wenn rang A 6= rang[A, b]). Falls das Konzept von Matrixrang und Rang der erweiterten Matrix zu schwere Kost ist: Die Folie „Stufenform und Lösbarkeit“ erklärt später noch einmal die Fallunterscheidungen zur Lösbarkeit.
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
Sonderfall 1 bei singulärer quadratischer Matrix 1 2 3 1 Die Zeilen von A sind linear abhängig: A(3, :) = 2A(2, :) − A(1, :) A = 4 5 6 , b = 2 Dieselbe Abhängikeit gilt auch, wenn man die rechte 7 8 9 3 Seite miteinbezieht Wenn Matrix und erweiterte Matrix gleichen Rang haben, rang A = rang[A, b] = k < n, dann hat das System eine (n − k)-parametrige Lösungsschar. −1/3 + z In diesem Beispiel: rang A = rang[A, b] = 2, x = 2/3 − 2z daher (3 − 2) = 1-parametrige Lösungsschar; z z ist freier Parameter MATLAB: A\b gibt eine Warnung. Findet (manchmal) eine Lösung, in der möglichst viele Komponenten = 0 sind. Für dieses Beispiel x1 = − 13 , x2 = 23 , x3 = 0
Sonderfall 2 bei singulärer quadratischer Matrix 1 2 3 1 Die Zeilen von A sind linear abhängig. Das gilt aber nicht mehr für die erweiterte Matrix [A, b]. A = 4 5 6 , b = 2 Das Doppelte von Gl. 2, minus Gl. 1 liefert Gl. 3 mit 7 8 9 4 anderer rechter Seite −→ Widerspruch! Wenn der Rang der Matrix ungleich dem Rang der erweiterten Matrix ist, rang A 6= rang[A, b], dann hat das System keine exakte Lösung. MATLAB: A\b gibt eine Warnung. Findet keine Lösung, oder eine „Lösung“ mit völlig falschen Zahlenwerten.
Quadratische 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!
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.
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
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.
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!
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.
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 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.
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.
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
Zusammenfassung Wichtige Punkte zur Lösbarkeit linearer Systeme Wiederholen Sie, was Sie dazu in Mathematik 1 gelernt haben. Im Skriptum, Kapitel 3.4, finden Sie weitere Informationen. Sie sollten mit folgenden Themen vertraut sein: I Matrix-Rang, Rang der erweiterten Matrix, MATLAB-Befehle rank(A), rank([A,b]), Fallunterscheidungen zur Lösbarkeit. I Stufenform eines Gleichungssystems, MATLAB-Befehl rref([A,b]) I Allgemeine Lösung des homogenen Systems, Nullraum, MATLAB-Befehl null(A) I Spezielle Lösung des inhomogenen Systems, MATLAB-Befehle A\b bei vollem Rang, pinv(A)*b bei lösbaren Systemen mit Rang < Zeilenzahl. I Bei nicht lösbaren Systemen liefert pinv(A)*b die „am wenigsten falsche“ Antwort (mit kleinstem Fehler in der 2-Norm)
Zusammenfassung (Fortsetzung) weitere wichtige Begriffe und Fragen I Konditionszahl: misst, wie empfindlich die Lösung von kleinen Fehlern in Matrix und rechter Seite abhängt. I Zum Verständnis notwendige Begriffe: Matix- und Vektornorm I Schlecht konditionierte Matrix; numerisch singuläre Matrix I warum folgt aus det A 6= 0 keine verlässliche Aussage zur Lösbarkeit? I warum löst man nicht in der Form x = A−1 b?
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 ` 1 0 0 0 r 22 r23 r24 L = 21 , 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.
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
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.
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.
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.
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
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
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
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
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
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 \”
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.
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.
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
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
Singulärwert-Zerlegung Singular Value Decomposition, SVD Eine beliebige 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 Rang einer numerischen Matrix, Pseudoinverse, über- und unterbestimmte Systeme etc. etc.
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.
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“.
Ü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 Clemens Brand und Erika Hausenblas 12. März 2020 49 / 65
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. . .
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!
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 Clemens Brand und Erika Hausenblas 12. März 2020 52 / 65
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. . .
Beispiel: Farbmischung mit RGB-Vektoren Welches Grau gibt Rot und Blau? 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 Welches Grau gibt Rot und Blau? 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
Drehe den Bildraum, dann geht’s 30 leichter! 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
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.
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. Clemens Brand und Erika Hausenblas 12. März 2020 59 / 65
Ü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. . . Clemens Brand und Erika Hausenblas 12. März 2020 60 / 65
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 Clemens Brand und Erika Hausenblas 12. März 2020 61 / 65
Ü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) Clemens Brand und Erika Hausenblas 12. März 2020 62 / 65
Ü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. Clemens Brand und Erika Hausenblas 12. März 2020 63 / 65
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
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φ
Sie können auch lesen