Lineare Gleichungssysteme - Vorlesung 170 004 Numerische Methoden I Clemens Brand und Erika Hausenblas 12. März 2020 - Montanuniversität ...

Die Seite wird erstellt Ansgar-Maximilian Neuhaus
 
WEITER LESEN
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