Numerisches Programmieren, Übungen

Ähnliche Dokumente
Numerisches Programmieren, Übungen

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

2. Lineare Gleichungssysteme: direkte und iterative Lösungsverfahren

Rechenaufwand der LR- und LDL T - Zerlegung

4. Großübung. Lösung linearer Gleichungssysteme

Numerik für Informatiker und Bioinformatiker. Daniel Weiß

Numerisches Programmieren

Lösung Semesterendprüfung

Lineare Algebra. 5. Übungsstunde. Steven Battilana. battilana.uk/teaching

37 Gauß-Algorithmus und lineare Gleichungssysteme

Lineare Gleichungssysteme, LR-Zerlegung

Gliederung. Links-Rechts-Zerlegung Elimination faktorisiert A = L R. Determinante Inverse. Kleinste Quadrate. Lösung durch. Links-Rechts- Zerlegung

Elektrischer Schaltkreis lin. Gleichungssystem

Serie 11: Lineare Gleichungssysteme, Gauss-Elimination & LR-Zerlegung

3 Elementare Umformung von linearen Gleichungssystemen und Matrizen

Serie 8: Online-Test

3 Lineare Gleichungssysteme

6 Symmetrische Matrizen und quadratische Formen

3 Determinanten, Eigenwerte, Normalformen

8.2 Invertierbare Matrizen

Lineare Algebra 1. Roger Burkhardt

Matrixzerlegungen. 6. Vorlesung Numerische Methoden I. Clemens Brand. 2. April Nachträge und Wiederholung. Links-Rechts- Zerlegung

1 Matrizenrechnung zweiter Teil

Spezielle Matrixformen

LR Zerlegung. Michael Sagraloff

Lösung Serie 11: Lineare Gleichungssysteme, Gauss-Elimination & LR-Zerlegung

In diesem Kapitel betrachten wir direkte Verfahren zur Lösung von linearen Gleichungssystemen.

Cramersche Regel. Satz Es sei A R n n eine quadratische Matrix mit det(a) 0. Für ein LGS Ax = b sei. A j := (a 1,...,a j 1,b,a j+1,...

Ferienkurs Mathematik für Physiker I Skript Teil 3 ( )

Kapitel 16. Aufgaben. Verständnisfragen. Rechenaufgaben

Aufgaben zu Kapitel 16

MAV-NUM Applied Numerics Frühlingssemester Serie 4. (a) Berechnen Sie per Hand die LR-Zerlegung der Matrix

3 Matrizen und Lineare Gleichungssysteme

5 Lineare Gleichungssysteme und Determinanten

3 Matrizenrechnung. 3. November

3 Lineare Gleichungssysteme

4.2.5 Das Cholesky-Verfahren

Lösungsvorschlag zur Modulprüfung Numerische Methoden - Wintersemester 2016/17

Lineare Gleichungssysteme: direkte Verfahren

Lineare Algebra und Numerische Mathematik für D-BAUG

Serie 8: Fakultativer Online-Test

Aufwand und Komplexität Vorlesung vom Komplexität und Effizienz

Cramersche Regel. Satz 2.26

Lineare Algebra I (WS 12/13)

Computergestützte Mathematik zur Linearen Algebra

Methode der kleinsten Quadrate

Lineare Gleichungssysteme und Matrizen

Technische Universität München Zentrum Mathematik. Übungsblatt 12

Überbestimmte Gleichungssysteme

Kapitel 2: Lineare Gleichungssysteme

Lineare Algebra und Numerische Mathematik für D-BAUG

Lineare Algebra und Geometrie II, Übungen

Mathematik IT 2 (Lineare Algebra)

3 Lineare Algebra Vektorräume

Serie 8: Online-Test

Linear Systems and Least Squares

Erweiterungen der LR-Zerlegung

Lösbarkeit linearer Gleichungssysteme

Beginn der Vorlesung zur Numerik I (Wintersemester 2010/2011)

4. Übungsblatt zur Mathematik II für Inf, WInf

Serie a) Welche der folgenden Vektoren sind Eigenvektoren der Matrix 1 0 1? 0 1 1

4 Lineare Algebra (Teil 2): Quadratische Matrizen

EINFÜHRUNG IN DIE NUMERIK - ÜBUNGSBLATT 3 Sommersemester 2010

Lineare Algebra 1. Roger Burkhardt

Direkte Verfahren für Lineare Gleichungssysteme

Matrizen, Gaußscher Algorithmus 1 Bestimmung der inversen Matrix

Spezialfall: Die Gleichung ax = b mit einer Unbekannten x kann mit Hilfe des Kehrwerts 1 a = a 1 gelöst werden:

Lösungen Serie 2. D-MAVT Lineare Algebra II FS 2018 Prof. Dr. N. Hungerbühler 1 0 1? 0 1 1

Lineare Algebra für Ingenieure

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

Lineare Algebra 1. Roger Burkhardt

TU Ilmenau Institut für Mathematik FG Numerische Mathematik und Informationsverarbeitung PD Dr. W. Neundorf Datei: UEBG2.TEX

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2.

Matrizenoperationen mit FORTRAN

I) MATRIZEN. 1) Speichern geometrischer Daten: Punkte, Vektoren. j - te Variable (Spalte), j = 1,2,3,..., n

9.2 Invertierbare Matrizen

Matrizen, Determinanten, lineare Gleichungssysteme

Transkript:

Technische Universität München WiSe 7 / 8 Institut für Informatik Univ.-Prof. Dr. Hans-Joachim Bungartz Michael Obersteiner Philipp Samfass Numerisches Programmieren, Übungen Musterlösung 8. Übungsblatt: Gaußelimination mit Pivotsuche, LR-Zerlegung, Matrixnorm ) Gauß-Elimination und Pivotsuche Lösen Sie das lineare Gleichungssystem ( 3 ) x = ( ) mit der Gauß-Elimination: a) Ohne Spalten-Pivotsuche in exakter Arithmetik (d.h. keine Zeilenvertauschungen und ohne Runden rechnen) b) Ohne Spalten-Pivotsuche und mit Rundungsfehlern (korrektes Runden in dezimaler Gleitkomma-Darstellung mit 3 signifikanten Stellen. Bsp.:.36 =.36 ergibt.4). c) Mit Spalten-Pivotsuche und mit Rundungsfehlern wie in b). Lösung: a) Gauß-Elimination ohne Pivotsuche und mit exakter Arithmetik: ( ) ( ) x = =.9995..., x = (x ) =.4997... ( ).4997... x =..9995... b) Gauß-Elimination ohne Pivotsuche und mit Rundungsfehlern (3 Stellen):

( ) ( ). 3. 3. 3 ( ). 3. 3. 3 ( ) x =. Runden Der zweite Eintrag x ist in Ordnung, aber x ist komplett falsch! c) Gauß-Elimination mit Pivotsuche und mit Rundungsfehlern (3 Stellen): ( ) ( ) ( ) ( ) Runden x =, x = x / =.5 ( ).5 x =. Diesmal ist x für beide Einträge in der passen Größenordnung (vgl. i)). ) LR-Zerlegung In dieser Aufgabe wollen wir den Algorithmus der LR-Zerlegung aus der Vorlesung an Beispielen nachvollziehen und vergleichen. Die LR-Zerlegung zur Lösung eines linearen Gleichungssystems Ax = b besteht aus drei Teilen:. Zerlegung der Matrix A: A = L R. Vorwärtssubstitution: Ly = b 3. Rückwärtssubstitution: Rx = y a) Lösen Sie unter Verwung der Gauß-Elimination das lineare Gleichungssystem Ax = b mit 4 3 5 A = b = 3. b) Berechnen Sie die LR-Zerlegung (.) der Matrix A. c) Führen Sie nun zur Lösung von Ax = b die Vorwärts- und Rückwärtssubstitution (.) und (3.) durch. Verwen Sie den Vektor b aus Teilaufgabe a). d) Setzen Sie die LR-Zerlegung ebenfalls zur Lösung von Ax = c mit c = (,, ) T ein. Wie groß ist der zusätzliche Aufwand?

Lösung: Zunächst folgt eine kleine Einführung zur LR-Zerlegung. Zuerst wird die Matrix A in ein Produkt zweier Matrizen zerlegt, einmal in die linke untere Dreiecksmatrix L mit -ern auf der Diagonalen, und die rechte obere Dreiecksmatrix R. Daraufhin wird mit der Vorwärtsund der Rückwärtssubstitution das lineare Gleichungssystem gelöst. Eine mögliche Umsetzung der drei Abschnitte in Pseudocode sieht folgermaßen aus:. LR-Zerlegung: A = LR for i =:n % Fuer j e d e Z e i l e i for k=: i % Berechne Elemente L [ i, k ] L [ i, k ] := A[ i, k ] ; for j =:k L [ i, k ] := L [ i, k] L [ i, j ] R[ j, k ] ; L [ i, k ] := L [ i, k ] /R[ k, k ] ; for k=i : n % Berechne Elemente R[ i, k ] R[ i, k ] := A[ i, k ] ; for j =: i R[ i, k ] := R[ i, k] L [ i, j ] R[ j, k ] ;. Vorwärtssubstitution: Ly = b for i =:n y [ i ] := b [ i ] ; for j =: i y [ i ] := y [ i ] L [ i, j ] y [ j ] ; 3. Rückwärtssubstitution: Rx = y for i=n: : x [ i ] := y [ i ] ; for j=i +:n x [ i ] := x [ i ] R[ i, j ] x [ j ] ; x [ i ] := x [ i ] /R[ i, i ] ; Die Grundidee ist für die Algorithmen Gaußelimination und LR-Zerlegung natürlich die gleiche: Bringe A durch Zeilenumformungen auf Zeilenstufenform. Der Gauß-Algorithmus eliminiert sukzessive Einträge in einer Spalte i (äußere Schleife), geht also spaltenweise vor. Dagegen berechnet unser LR-Algorithmus für jedes i der äußeren Schleife die Einträge von L und R in der Zeile i; er arbeitet also zeilenweise. Die zweite Schleife über k läuft dementsprech über die nötigen Spaltenindizes von L und R. Um zu verstehen, warum der LR-Algorithmus die angegebene Form hat, betrachten wir die

Zerlegung genauer. A = L R bedeutet in Indexnotation A ik = n L ij R jk, j= i, k =,..., n wobei n die Dimension der Matrix A ist. Die Einträge A ik können in solche unterhalb bzw. oberhalb der Diagonalen aufgesplittet und getrennt betrachtet werden. i > k: Einträge unterhalb der Diagonalen: Zeile mal Spalte im Produkt L R ergibt aufgrund der Nullen eine Summe, die nur bis k läuft (kleinerer der beiden Indizes): A ik = n L ij R jk = j= L ik = k L ij R jk = j= k L ij R jk + L ik R kk j= ( ) k A ik L ij R jk /R kk. j= i k: Einträge oberhalb der Diagonalen: Die Summe läuft nur bis i (kleinerer der beiden Indizes): A ik = n L ij R jk = j= R ik = i L ij R jk = j= i L ij R jk + L ii R ik j= ( ) i A ik L ij R jk / L ii. }{{} j= = Damit erhalten wir exakt die Formeln der LR-Zerlegung aus dem angegebenen Algorithmus. Man macht sich leicht klar, dass aufgrund des zeilenweisen Durchlaufs der äußeren Schleife (über i) stets alle nötigen Werte schon vorhanden sind, um die neuen Einträge L ik und R ik zu berechnen. a) Lösungsschritte bei Anwung von Gauß-Elimination auf das Problem Ax = b.. 5 3 5 / / / 5/ 3. 4. x = 4 3 5 / / 3 4 3

b) Für die Berechnung der Zerlegung (.) von A = stellen wir zwei Möglichkeiten zur Verfügung: Die erste basiert auf den Algorithmen wie oben beschrieben und damit der Gaußelimination, die zweite auf dem Lösen von Gleichungen aus der Gleichung A = LR. LR-Zerlegung basier auf Gaußelimination Die Matrizen L und R denken wir uns mit lauter Nulleinträgen vorbelegt. Neu hinzukomme Einträge werden mit einer Box gekennzeichnet. i=: L : for k = : nichts zu tun (empty) R : for k = : 3 R[, k] = A[, k]; for j = : empty R = i=: L : for k = : R : for k = : 3 L[, ] = A[, ] = ; for j = : empty L[, ] = L[, ]/R[, ] = /4; L = R[, k] = A[, k]; for j = : R[, k] = R[, k] L[, ] R[, k]; / k = : R[, ] = R[, ] L[, ] R[, ] = / = ; k = 3 : R[, 3] = R[, 3] L[, ] R[, 3] = / 3 = /; R = -/

i=3: L : for k = : L[3, k] = A[3, k]; R : for k = 3 : 3 for j = : k k = : empty k = : L[3, ] = L[3, ] L[3, ] R[, ] = ; L[3, k] = L[3, k]/r[k, k]; L = / / R[3, 3] = A[3, 3]; for j = : R[3, 3] = R[3, 3] L[3, j] R[j, 3]; j = : R[3, 3] = / 3 = /; j = : R[3, 3] = / ( /); R = / Damit haben wir unsere gesuchte Zerlegung: A = L R = / / /.

Wir beginnen mit allen uns be- LR-Zerlegung basier auf Matrixmultiplikation kannten Informationen über die LR-Zerlegung von A: = Wir sehen 9 Unbekannte auf der rechten Seite, und für jeden der 9 Einträge in A entsteht eine Gleichung. Diese Gleichungen werden wir nun nacheinander (von oben nach unten oder von links nach rechts) durchgehen, und jedes Mal nach der fehlen Unbekannten auflösen. Beginnen wir mit dem Feld (, ):. =. Es gilt: A = 4! = R + + R = 4. Das Gleiche machen wir mit Feld (,): und damit = 4 A =! = L 4 + + L =. Verfolgen wir dieses Vorgehen weiter, erhalten und lösen wir nacheinander folge Gleichungen: (, ) 4 = R R = 4 (, ) = L 4 L = (3, ) = L 3 4 L 3 = (, ) = R R = (, ) = + R R = (3, ) = + L 3 L 3 = (, 3) 3 = R 3 R 3 = 3 (, 3) = 3 + R 3 R 3 = (3, 3) = 3 + + R 33 R 33 = Damit ergibt sich dann die selbe Lösung wie oben.

c) Substitution: Vorwärtssubstitution Ly = b: / / y y y 3 Rückwärtssubstitution Rx = y: / = x x x 3 5 3 y = (5, /, 3) T. = 5 / 3 x = (, 4, 3) T. d) Die Zerlegung ist bereits bekannt, daher müssen zur Lösung von Ax = c lediglich Vorwärts- und Rückwärtssubstitution durchgeführt werden. Der Aufwand hierfür ist O(n ) Operationen (vergleiche O(n 3 ) Operationen für die Berechnung der Zerlegung bei der Lösung von Ax = b). Substitution: Vorwärtssubstitution Lỹ = c: / / Rückwärtssubstitution Rx = ỹ: / x x x 3 y y y 3 = = ỹ = (,, ) T. x = ( /, /, ) T.

3) Matrixnorm Die Matrix-Grenzen-Norm- (auch als Spektralnorm bekannt) ist eine der wichtigsten Matrixnormen: Ax A = sup x x wobei die Vektornorm die bekannte Euklidische Länge entspricht: x = x +... + x n. Zeigen Sie, dass für eine diagonale Matrix D gilt: D = max i=,...,n d ii. Hinweis: Sei j so dass d jj = max i=,...,n d ii. Zeigen Sie: a) D d jj (Betrachten Sie ein Eigenvektor zu Eigenwert d jj ), b) D d jj. (Im Allgemeinen, die -Norm von A ist gleich dem größten Singulärwert von A: A = λmax (A T A) = σ max (A).) Lösung: a) D d jj. Sei e j der Vektor mit an der Stelle j und an alle andere Stellen:. e j = j.. e j ist ein Eigenvektor zu Eigenwert d jj : De j = d jj e j. Dann: Dx D = sup De j x x e j = d jje j = d jj e j = d jj b) D d jj :

Dx D = sup x x = sup x sup x = sup x = sup d jj x = d jj. x d + x d +... + x nd nn x +... + x n x d jj + x d jj +... + x nd jj x +... + x n x +... + x n d jj x +... + x n Zum Schluss: D d jj, D d jj, dann muss D = d jj gelten. 4) Orthogonale Matrizen Eine Matrix Q heißt Orthogonal, wenn gilt wobei I der Einheitsmatrix entspricht. QQ T = Q T Q = I, Zeigen Sie die folgen Eigenschaften orthogonaler Matrizen: a) det Q = ±, b) Q =. Hinweis: Verwen Sie det(ab) = det A det B und x = x T x. Zusatz: Wie stellen sich diese Eigenschaften für diagonale Matrizen graphisch dar? Zeichnen Sie die Kurven det D = ±, und D = in einem Diagramm von d gegen d. Lösung: a) det Q = ±: = det I = det(qq T ) = det Q det Q T = (det Q). Die Gleichung x = hat nur ± als Lösungen.

b) Q = : Qx Q = sup x x = sup x xt Q T Qx xt x = sup x xt Ix xt x = sup xt x x xt x = sup = x Zusatz:.5 det(d) = det(d) = - D = orthogonale.5 d -.5 - -.5 - - -.5 - -.5.5.5 d Unter diagonale Matrizen gibt es 4 orthogonale: ( ) ( ) ( ) ( ),,,. Zusatzaufgabe: Image Stitching mit Gauß-Elimination In dieser Aufgabe verwen wir die Gauß-Elimination zum Lösen linearer Gleichungssysteme im Bereich des Rechnersehens. Eine der Aufgaben, die durch Techniken der Bildverarbeitung bewältigt werden, ist das Zusammensetzen von Einzelbildern (engl. image stiching) bzw. die Erzeugung von Panoramabildern.

Will man zwei Bilder I und I aneinandernähen, detektiert der entspreche Algorithmus zunächst sogenannte Merkmalpunkte (engl. feature points) in beiden Bildern. Unter der Annahme, dass beide Bilder einen gemeinsamen Teil einer Szenerie zeigen, gibt es solche Merkmalpunkte in beiden Bildern. Anschließ findet eine Verknüpfung der Merkmalpunkte im ersten Bild I mit den zugehörigen Punkten im Bild I statt, wie in Abbildung gezeigt. Abbildung : Image stiching. In der Praxis treten viele Fehler beim Finden gemeinsamer Bildmerkmale auf. Allerdings gehen wir hier von perfekten Beziehungen zwischen den Punkten aus. Da sich die Punkte in der Bildebene befinden, existiert eine lineare Transformation H (im Englischen als homomorphy bezeichnet), die die Mengen von Merkmalpunkten aufeinander abbildet. Bezeichnet man die Merkmalpunkte in Bild I als x i, i =,... n und in Bild I als x i, i =,... n, so kann die Korrespondenz zwischen ihnen durch x = Hx ausgedrückt werden. Aufgabe: Gegeben seien die beiden Punktepaare I I ( ) ( ) 3 x = x = ( ) ( ). 4 x = x 3 = 4 Bestimmen Sie die entspreche x-transformationsmatrix H. Lösung: Gegeben seien zwei Merkmalpunkte x = [3 ] T und x = [4 3] T im Bild I und deren korrespondiere Punkte x = [ ] T und x = [ 4] T im anderen Bild I. Wie bereits erwähnt, lässt sich der Zusammenhang zwischen korrespondieren Punkten über die Transformation x = H x ausdrücken. Nun gilt es die Einträge der Homography-Matrix zu finden. Notieren wir zunächst den bekannten Zusammenhang für das erste Paar korrespondierer Punkte: x ( ) = H ( x ) ( ) h h = 3 h h x ( ) 4 = H ( x ) h h = h h ( ) 4 3 Nach der Matrix-Vektor-Multiplikation erhalten wir ein System mit vier Gleichungen mit den vier Unbekannten h, h, h, h.

3h + h = 3h + h = 4h + 3h = 4h + 3h = 4 Durch Tauschen der zweiten und dritten Gleichung erhalten wir das folge (lineare) Gleichungssystem, das wir mittels Gauß-Elimination lösen: 3 h 3 A h = b 4 3 h 3 h = 4 3 3 4 3 h 4 4 3 4 Die Gauß-Elimination erfolgt wie folgt: 3 4 3 3 4 3 4 / 4 3 3 3 3 3 / 4 3 4 3 4 3 3 3 3 4 3 3 Damit lässt sich leicht h = 4, h =, h =, h = berechnen. Weiterer Lösungsweg: Hx = x Gauß : und damit folgt die Lösung H = und Hx = x lässt sich schreiben als H [ ] [ ] x x = x x T [ ] [ ] T T x H T x = x T x T ( ) ( ) 3 H T = 4 3 4 ( ) ( ) 3 3 4 3 4 ( ). 4 H T = 4 ( 4 ),