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φ
Top Related