Matrix-Zerlegungen, überbestimmte Systeme, iterative Löser...

39
Matrix-Zerlegungen, überbestimmte Systeme, iterative Löser 5. Vorlesung 170 004 Numerische Methoden I Clemens Brand und Erika Hausenblas Montanuniversität Leoben 22. März 2018

Transcript of Matrix-Zerlegungen, überbestimmte Systeme, iterative Löser...

Matrix-Zerlegungen, überbestimmte Systeme,iterative Löser

5. Vorlesung170 004 Numerische Methoden I

Clemens Brand und Erika Hausenblas

Montanuniversität Leoben

22. März 2018

Matrix-Zerlegungen, überbestimmte Systeme,iterative Löser1 Matrixzerlegungen

Links-Rechts-ZerlegungOrthogonale MatrizenQR-ZerlegungSingulärwertzerlegung

2 Iterative GleichungslöserJacobi-VerfahrenGauß-Seidel-VerfahrenSOR-Verfahren

3 Überbestimmte SystemeNormalengleichungenKleinste Fehlerquadrate mit QR-ZerlegungBeispiel: Lineare Datenmodelle

Clemens Brand und Erika Hausenblas 22. März 2018 2 / 42

WiederholungLineare Gleichungssysteme

I Lösbarkeit, FallunterscheidungenI Fehlerempfindlichkeit, KonditionszahlI Gauß-Elimination

WiederholungWichtige Punkte zur Lösbarkeit linearer Systeme

I Lösbarkeit: Drei Fälle sind möglichI Rang der (erweiterten) Matrix, DeterminanteI MATLAB-Befehle rref, rank, det

I Berechnen der Lösung in MATLAB: wann wie?I mit x=A\bI mit rref([A,b])I mit Pseudoinverser: x=pinv(A)*bI was liefert null(A)?I warum löst man nicht in der Form x = A−1b?

Wiederholung (Fortsetzung)weitere wichtige Begriffe

I Konditionszahl: misst, wie empfindlich die Lösung von kleinen Fehlernin Matrix und rechter Seite abhängt.

I Zum Verständnis notwendige Begriffe: Matix- und VektornormI Schlecht konditionierte Matrix; numerisch singuläre Matrix

DreiecksmatrizenGleichungssysteme mit Dreiecksmatrizen sind direkt auflösbar

Beispiel für n = 4: Linke untere und rechte obere Dreiecksmatrix

L =

1 0 0 0`21 1 0 0`31 `32 1 0`41 `42 `43 1

, R =

r11 r12 r13 r140 r22 r23 r240 0 r33 r340 0 0 r44

Vorwärts- bzw. Rückwärts-Substitution löst Gleichungssysteme mitDreiecksform.Rechenaufwandbei einem n × n-System beträgt jeweils n2/2 + O(n) Punktoperationen.

Klassische Gauß-Eliminationtransformiert ein Gleichungssystem auf obere Dreiecksform

Das Gaußsche Eliminationsverfahren transformiert—sofern bei der Pivot-Berechnung immer akk 6= 0!—die erweiterte Koeffizientenmatrix auf Dreiecksgestalt.Beispiel

[Ab] =

5 6 7 610 20 23 615 50 67 14

−→5 6 7 60 8 9 −60 0 10 20

Rücksubstitution liefert Lösung.

Rechenaufwandbeträgt n3/3 + O(n2) Punktoperationen

Die Matrix-Vektor-Multiplikation y = A · xGrundlegende Bedeutung einer n ×m-Matrix A

Eine Matrix definiert durch y = A · x eine lineare Abbildung Rm → Rn.

„Die Matrix ist dazu gedacht, dass sie aus einem Vektor einen anderenmacht“

Im Allgemeinen ändert die Matrix dadurch Richtung, Betrag (und sogarDimension) eines Vektors. Matrixzerlegungen spalten die Aktion derMatrix in leichter zu durchblickende Einzelschritte auf.

I Links-Rechts-Zerlegung A = L · RI QR-Zerlegung A = Q · RI Singulärwertzerlegung A = U · S · V T

Wiederholung: LR-Zerlegung A = L · R

Das Gaußsche Eliminationsverfahren ohne Pivotisierung faktorisiert (wennes nicht abbricht) eine Matrix A in ein Produkt A = LR aus einer linkenunteren Dreiecksmatrix L und einer rechten oberen Dreiecksmatrix R. 5 6 7

10 20 2315 50 67

=

1 0 02 1 03 4 1

·5 6 70 8 90 0 10

Rechenaufwandbeträgt n3/3 + O(n2) Punktoperationen

Anwendungen zur LR-Zerlegung

I lineare GleichungssystemeI DeterminanteI Inverse

MATLAB-Hilfe: “Most of the algorithms for computing LU factorizationare variants of Gaussian elimination. The factorization is a key step inobtaining the inverse with inv and the determinant with det. It is also thebasis for the linear equation solution obtained with \”

Orthogonale MatrizenTransponierte ist zugleich Inverse

DefinitionEine quadratische Matrix Q heißt orthogonal, wenn gilt

QT · Q = I

Die Spalten von Q sind Einheitsvektoren und paarweise orthogonal. Es giltdann auch

Q · QT = I

Die Zeilen von Q sind ebenfalls Einheitsvektoren und paarweise orthogonal.

Orthogonale Matrizen: Beispiele

P = 1√2

[1 11 −1

], Q = 1

3

2 −2 11 2 22 1 −2

Zwei-Drei-

}dimensionale orthogonale Matrizen mit Determinante 1

entsprechen{

ebenenräumlichen

}Drehungen

Orthogonale Matrizen mit Determinante -1 entsprechen Spiegelungen.

Fundamentale EigenschaftMultiplikation eines Vektors mit einer orthogonalen Matrix lässt die 2-Norm desVektors unverändert

Multiplikation eines Vektors mit einer orthogonalen Matrix dreht (oderspiegelt) den Vektor, lässt aber seine Länge (2-Norm) unverändert.

‖x‖2 = ‖Q · x‖2

QR-Zerlegung

SatzJede 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 oberenDreiecksmatrix R zerlegen.

MATLAB: [Q R]=qr(A)Anwendungen: Eigenwert-Berechnung, überbestimmte Systeme

Singulärwert-ZerlegungSingular Value Decomposition, SVD

Eine beliebige reelle n ×m Matrix lässt sich in ein Produkt der Form

A = U · S · V T

mit einer orthogonalen n × n Matrix U, einer n ×m-Diagonalmatrix S undeiner orthogonalen m ×m Matrix V zerlegen.Die Diagonalwerte von S heißen die Singulärwerte von A.MATLAB: [U S V]=svd(A)

AnwendungenRang einer numerischen Matrix, Pseudoinverse, über- und unterbestimmteSysteme, Image compression, etc. etc.

Singulärwert-ZerlegungAnschauliche Interpretation

Die Singulärwertzerlegung A = U · S ·V T zerlegt die Multiplikation A · x indrei Einzelschritte:

I a = V T · x dreht den Vektor xI b = S · a skaliert die Komponenten von aI 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 MatrizenEin Spezialfall von SVD

Jede symmetrische Matrix A lässt sich in der Form A = Q · D · QT

zerlegen; dabei ist Q eine Orthogonal- und D eine Diagonalmatrix

I Sie kennen das als „Hauptachsentransformation“ beimSpannungstensor.

I Die Bedeutung dieser Zerlegung diskutieren wir genauer im Kapitel„Eigenwerte und Eigenvektoren“.

Lösungsverfahren für lineare GleichungssystemeGrundlegende Unterscheidung: direkte und iterative Verfahren

Direkte Verfahren sind Varianten des Gaußschen Eliminationsverfahrens(LR-Zerlegung). Üblich bis n ≈ 10.000 Unbekannten.Direkte Verfahren sind allgemein anwendbar und effizient,sofern die Matrix im schnell zugänglichen Speicher desRechners Platz hat.

Iterative Verfahren finden schrittweise verbesserte Näherungslösungen.Üblich für sehr große Matrizen, n� 100.000.Iterative Methoden sind nur für spezielle Matrixtypenanwendbar, die beispielsweise bei partiellenDifferentialgleichungen auftreten.

Clemens Brand und Erika Hausenblas 22. März 2018 20 / 42

Jacobi-VerfahrenIdee: Löse jede Gleichung nach ihrem Diagonal-Term auf.Standard-Form, 3× 3-Beispiel

a11 x1 + a12 x2 + a13 x3 = b1

a21 x1 + a22 x2 + a23 x3 = b2

a31 x1 + a32 x2 + a33 x3 = b3

Auflösen nach Diagonal-Term → Fixpunkt-Form

a11 x1 = b1 − a12x2 − a13x3

a22 x2 = b2 − a21x1 − a23x3

a33 x3 = b3 − a31x1 − a32x2

x1 = (b1 − a12x2 − a13x3)/a11

x2 = (b2 − a21x1 − a23x3)/a22

x3 = (b3 − a31x1 − a32x2)/a33

setze Startwerte ein, iteriere

Gauß-Seidel-VerfahrenIdee: Im Prinzip wie das Jacobi-Verfahren, nur: setze neue Werte, soweit verfügbar,schon im aktuellen Schritt einFixpunkt-Form, 3× 3-Beispiel, Ablauf der IterationStartwerte x1, x2, x3, neu berechnete Werte x1, x2, x3

x1 = (b1 − a12x2 − a13x3)/a11

x2 = (b2 − a21x1 − a23x3)/a22

x3 = (b3 − a31x1 − a32x2)/a33

x1 = (b1 − a12x2 − a13x3)/a11

x2 = (b2 − a21x1 − a23x3)/a22

x3 = (b3 − a31x1 − a32x2)/a33

x1 = (b1 − a12x2 − a13x3)/a11

x2 = (b2 − a21x1 − a23x3)/a22

x3 = (b3 − a31x1 − a32x2)/a33

x1 = (b1 − a12x2 − a13x3)/a11

x2 = (b2 − a21x1 − a23x3)/a22

x3 = (b3 − a31x1 − a32x2)/a33

SOR-VerfahrenSOR bedeutet successive over-relaxation

IdeeJeweils neuer Näherungswert zuerst als Zwischenresultat ausGauß-Seidel-Schritt; endgültiger Näherungswert durch Extrapolation(Überrelaxation) aus alter Näherung und Zwischenresultat.

Extrapolationsfaktor ωDer neue Wert liegt (hoffentlich) näher am Ziel als der alte. Extrapoliereden Schritt von alt auf neu um den Faktor ω.

Schwierig ist, den Faktor ω im Bereich 1 < ω < 2 gut zu wählen. Zu klein:bringt wenig Verbesserung. Zu groß: schießt übers Ziel hinaus.

SOR-Verfahren3× 3-Beispiel, Ablauf der Iteration

Alte Werte x1, x2, x3Zwischenresultate x1, x2, x3 nach Gauß-Seidel-SchrittExtrapolierte Werte x1, x2, x3

GS-Schritt x1 = (b1 − a12x2 − a13x3)/a11

Extrapolation x1 = ωx1 + (1− ω)x1

GS-Schritt x2 = (b2 − a21x1 − a23x3)/a22

Extrapolation x2 = ωx2 + (1− ω)x2

GS-Schritt x3 = (b3 − a31x1 − a32x2)/a33

Extrapolation x3 = ωx3 + (1− ω)x3

KonvergenzIterative Verfahren konvergieren nicht für beliebige Matrizen!

Konvergenzaussagen für Jacobi- und Gauß-Seidel existieren für Matrizen,bei denen in jeder Zeile die Beträge in der Hauptdiagonalen im Vergleichzur Summe der restlichen Element-Beträge dominieren.

Stark diagonaldominante Matrix A = [aij ]

|aii | >n∑

j=1, j 6=i|aij | ∀j = 1, . . . , n

In praktisch relevanten Fällen reicht normaler Weise auch ≥ (schwachdiagonaldominante Matrix) für Konvergenz.

Clemens Brand und Erika Hausenblas 22. März 2018 25 / 42

Überbestimmte SystemeEin Gleichungssystem mit mehr Gleichungen als Unbekannten heißt überbestimmt

Beispiel:

x = 1y = 2

x + y = 4

1 00 11 1

· [xy]

=

124

I In der Regel hat ein solches System keine (exakte) Lösung.I Kompromiss: die „am wenigsten falsche Antwort“ x mit möglichst

kleinen Residuenvektorr = b− Ax

I Methode der kleinsten Fehlerquadrate, berechnet mitI Normalengleichungen oderI QR-Zerlegung

Clemens Brand und Erika Hausenblas 22. März 2018 27 / 42

Beispiel: Wägung zweier MassenZwei Massen m1,m2 werden zuerst einzeln, dann gemeinsam abgewogen.Die Messwerte sind:

m1 = 1m2 = 2

m1 + m2 = 4

Lösungsvorschläge?

I Letzte Gleichung weglassen: Fehler r =

001

I Fehler „aufteilen“, etwa m1 = 1,5;m2 = 2,5→ r =

−0,5−0,50

I oder noch fairer auf die drei Komponenten aufteilen. . .

Geometrische InterpretationZeilen des Gleichungssystems sind Geradengleichungen

x = 1y = 2

x + y = 4

Den drei Gleichungen entsprechendrei Gerade im R2. Keingemeinsamer Schnittpunkt!„In der Mitte des Fehlerdreiecks“,im Punkt (4/3; 7/3) ist dieSumme der Fehlerquadrateminimal.

x

y

(x − 1)2 + (y − 2)2 + (x + y − 4)2 → min!

Methode der kleinsten FehlerquadrateKlassischer Lösungsweg über Normalengleichungen

Suche x , y so dass

(x − 1)2 + (y − 2)2 + (x + y − 4)2 → min!

Differenziere nach x und y , setze Ableitungen gleich Null →

2x + y = 5x + 2y = 6

Führt man diese Rechnung allgemein für ein überbestimmtes SystemAx = b durch, erhält man die Normalengleichungen ATAx = ATb.

hier:[1 0 10 1 1

1 00 11 1

· [m1m2

]=[1 0 10 1 1

124

Clemens Brand und Erika Hausenblas 22. März 2018 30 / 42

Zwei mögliche geometrische Interpretationen

Im Raum Rn der LösungsvektorenI 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-VektorenI Matrix mal Vektor ergibt Linearkombination der SpaltenvektorenI 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.

es kommt eh gleich ein Beispiel. . .

Beispiel: Farbmischung mit RGB-VektorenWelches Grau gibt Rot und Blau?Gegeben: zwei Farbtöne

RGB

2005050

RGB

50150200

Gesucht: neutrale Grauschattierung RGB 150 150 15020050

50

x +

50150200

y =

150150150

Optimale Lösung erreicht

2005050

0,588 +

50150200

0,674 =

151130164

Beispiel: Farbmischung mit RGB-Vektoren(Die Theorie zu Fifty Shades of Grey)Gegeben: zwei Farbtöne

RGB

2005050

RGB

50150200

Gesucht: neutrale Grauschattierung RGB 150 150 15020050

50

x +

50150200

y =

150150150

Bestmögliche Nährung

2005050

0,588 +

50150200

0,674 =

151130164

Orthogonalitätsbedingung im BildraumDie Spaltenvektoren in

1 00 11 1

spannen eine Ebene im R3 auf.Der Punkt [1; 2; 4] liegt nicht aufdieser Ebene. Am nächsten liegtihm in der Ebene der rote Punkt.Der Residuenvektor

r =

124

−1 00 11 1

· [m1m2

]

hat minimale Länge, wenn er aufdie Ebene normal steht.

01

23

0

1

2

3

0

2

4

6

Drehe den Bildraum, dann geht’s leichter!Wenn die zwei die Ebeneaufspannenden Vektorenirgendwo hin in den R3

zeigen, ist der Punkt mitminimalem Abstand vonb nicht so leicht zufinden. . .Drehen wir vorsichtigdasKoordinatensystem. . .bis die zwei Vektoren inder xy -Ebene liegen. DieLösung liegt nun genausenkrecht unter b

01

23

0

1

2

3

0

2

4

6

01

23

0

1

23

0

2

4

01

23

4

0

12

34

0

1

2

3

4

0

2

4

01

23

4

0

1

2

3

0

2

40

1

2

34

0

1

2

3

0

2

4

6 0

12

340

1

2

3

Suche eine orthogonale Matrix Q, welche das Gleichungssystem ineinen „einfacheren“ Bildraum dreht!

Beispiel von vorhinDie QR-Zerlegung von A liefert die gewünschte Drehmatrix!

Zerlegung A = QR :

1 00 11 1

= 1√6

√3 −1 −

√2

0 2 −√2√

3 1√2

·√2√2/2

0√3/2

0 0

Transformiertes System Rx = QTb :

√2√2/2

0√3/2

0 0

[m1m2

]=

5/√2

7/√6

1/√3

Drehung mit Q anschaulich interpretiertQR-Zerlegung transformiert überbestimmtes System in lösbaren Anteil undunlösbaren Rest

Am wenigsten falsche Antwort: unlösbare Gleichungen weglassen, dieanderen exakt lösen.

Überbestimmte Systeme A · x = b: QR-Zerlegung

AufgabeSuche x so, dass Residuums-2-Norm ‖r‖2 minimal wird

‖r‖ = ‖b− A · x‖ → min!

VorgangsweiseZerlege A = Q · RMultiplikation von r mit QT lässt 2-Norm unverändert. Wandle um:

‖r‖ = ‖QT · r‖ = ‖QT (b− A · x)‖ = ‖QTb− R · x‖

Im rechten Term ist leicht zu sehen, wie die Norm minimal wird. . .

Clemens Brand und Erika Hausenblas 22. März 2018 37 / 42

I Angenommen, das überbestimmte System besteht aus mUnbekannten und n = m + k Gleichungen (k > 0). Dann ist R einen ×m-Matrix, deren letzte k Zeilen lauter Nullen enthalten.

I Die letzten k Zeilen des Residuumsvektors hängen nicht von x ab.Keine Wahl von x kann den Beitrag dieser Komponenten zurResiduums-Norm verringern.

I Löse die ersten m Gleichungen des Systems R · x = QTb exakt (wennmöglich): Diese Gleichungen liefern keinen Beitrag zu Residuum.

I Diese Strategie minimiert die Norm ‖QTb− R · x‖I Weil Multiplikation mit QT die Norm nicht beeinflusst, ist diese

Lösung auch bestmögliche Näherungslösung von A · x = b

Clemens Brand und Erika Hausenblas 22. März 2018 38 / 42

Überbestimmte Systeme A · x = b: SVD-Zerlegung

AufgabeSuche x so, dass Residuums-2-Norm ‖r‖2 minimal wird

‖r‖ = ‖b− A · x‖ → min!

VorgangsweiseZerlege A = U · S · V T , substituiere y = V T · x.Multiplikation von r mit UT lässt 2-Norm unverändert. Wandle um:

‖r‖ = ‖UT · r‖ = ‖UTb− S · V T · x‖ = ‖QTb− S · y‖

Für das gedrehte System völlig offensichtlich, welches y die Normminimiert.

(Zahlenbeispiel im Skriptum)

Clemens Brand und Erika Hausenblas 22. März 2018 39 / 42

Übersicht der Verfahrenfür überbestimmte Systeme A · x = b

Normalengleichungen AT · A = ATb Klassischer Ansatz. Anfällig fürDaten- und Rundungsfehler (schlechte Konditionszahl).

QR-Zerlegung Standardverfahren am Computer. Algebraisch äquivalent zuNorm.gleichungen, weniger fehlerempfindlich.

MATLAB x = A\b verwendet bei überbestimmten Systemenautomatisch QR-Zerlegung

Sonderfälle (rangA ≤ n) Überbestimmte Systeme, die trotzdem exaktlö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 22. März 2018 40 / 42

Lineares Modell in zwei VariablenAnpassen einer Ausgleichs-Ebene: Beispiel aus der Matlab-Hilfe

Angenommen, eine Größe y hängt von zwei Parametern x1 und x2 ab. FolgendeMesswerte liegen vor:

x1 : 0.2 0.5 0.6 0.8 1.0 1.1x2 : 0.1 0.3 0.4 0.9 1.1 1.4y : 0.17 0.26 0.28 0.23 0.27 0.24

Wir nehmen ein lineares Modelly = a0 + a1x1 + a2x2 an und setzen diegegebenen Datentripel ein−→ führt auf ein System von 6 linearenGleichungen in den 3 unbekanntenKoeffizienten a0, a1, a2.−→ Kleinste-Quadrate-Methode liefertEbene mit „bestmöglicher“ Anpassungan Daten

Lineares Modell in zwei VariablenBeispiel: Magnetische Deklinationswerte 2008.5 in Österreich

9 10 11 12 13 14 15 16 17 1846

46.5

47

47.5

48

48.5

49

49.5

1.41.4

1.4

1.61.6

1.6

1.81.8

1.8

22

2

2.22.2

2.2

2.42.4

2.4

2.62.6

2.6

2.82.8

2.8

33

3

3.23.2

3.2

3.43.4

Wien 3◦ 00’Eisenstadt 3◦ 02’St.Pölten 2◦ 54’Graz 2◦ 47’Linz 2◦ 33’Klagenfurt 2◦ 30’Salzburg 2◦ 15’Innsbruck 1◦ 53’Bregenz 1◦ 24’

Daten: ZAMG

Kleinste-Quadrate-Anpassungliefert Modell:

δ = −2.0987 + 0.2365λ+ 0.0261φ