Schnelle Matrizenoperationen von Christian Büttner Proseminar Ergänzende Kapitel zu DAP II Informationsquelle: Cormen, Leiserson, Rivest Introduction to algorithm
Was erwartet uns? Strassens Algorithmus Lineare Gleichungssysteme Invertieren von Matrizen Symetrisch positiv definite Matrizen
Strassens Algorithmus Warum ein Algorithmus? Matrixoperationen sind wichtig in der Wissenschaft z.B. Strömungsverhalten von Wasser. Was macht der Algorithmus? Berechnung des Produktes zweier n n Matrizen Vergleich zum naiven Algorithmus? Der naive Algorithmus benötigt Strassens Algorithmus nur ) ( 3 n Q
Strassens Algorithmus Der Algorithmus basiert auf der Divide & Conquer Idee. Dann ergeben sich die vier Gleichungen Multiplikation ist nicht Kommutativ !
Strassens Algorithmus Dies liefert einen rekursiven Algorithmus mit Laufzeit Strassens Algorithmus hingegen liefert:
Strassens Algorithmus 1) Eingangsmatrix in Untermatrizen teilen. 2) Mit skalar Additionen/Subtraktionen 14 Matrizen aufstellen 3) rekursiv berechnen 4) berechne r,s,t,u durch addieren/subtrahieren der verschiedenen Matrizen
Strassens Algorithmus
Strassens Algorithmus Kann man wie folgt darstellen = + Analog kann man mit verfahren + =
Strassens Algorithmus
Strassens Algorithmus Nun kann man r wie folgt bestimmen
Strassens Algorithmus Weiter kann man folgendes machen
Strassens Algorithmus Beispiel
Strassens Algorithmus Satz: Sei (R,+,*) ein Ring, dann ist auch ein Ring Beweis: Assoziativgesetz bzgl + wird “vererbt”. Neutrales Element ist die Matrix die nur aus dem neutralen Element des Rings R besteht. Oft als 0 bezeichnet Additives inverse ist die Matrix aus den additiven inversen Elementen des Rings R. Kommutativität bzgl. + wird “vererbt”.
Strassens Algorithmus
Strassens Algorithmus Anmerkung Binärmatrizen Die Definition der Multiplikation Konvertiere die Binärmatrix in die reellen Zahlen und führe Strassens Algorithmus durch. Prüfe ob ein wert ungleich 0 ist, wenn ja ersetze ihn durch 1
Lineare Gleichungssysteme Problemstellung: Satz: Ist A invertierbar so gibt es genau eine Lösung Mögliche Lösung eines LGS: Problem: numerisch instabil
Lineare Gleichungssysteme LUP-Decomposition PA=LU P ist Permutationsmatrix L ist linker untere normierte Dreicksmatrix U ist rechte obere Dreiecksmatrix
Lineare Gleichungssysteme Forward substitution
Lineare Gleichungssysteme Backsubstitution
Lineare Gleichungssysteme Beispiel LU-Decomposition
Lineare Gleichungssysteme LUP-Decomposition -LU-Decomposition mit Spaltenpivotierung. Betragsgrösstes Element suchen und Zeilen vertauschen und in einem Permutationsvektor speichern => numerisch stabiler und Division durch NULL wird vermieden Laufzeitverhalten ist (n³)
Matrizen invertieren Was können wir ? Lösen von linearen Gleichungen auch für verschiedene b Was bringt uns das? Kann man auch für jede Spalte einzeln Lösen
Matrizen invertieren Zeitaufwand: LUP-Zerlegung (n³) Lösen der linearen Gleichung für n Spaltenvektoren n* (n²)= (n³) => (n³)
Matrizen invertieren Satz: Sei M(n) die Zeit um zwei nn Matrizen zu multiplizieren und I(n) die Zeit um eine nn Matrix zu invertieren, dann gilt I(n)=(M(n)) Beweis: “M(n)=O(I(n))” Seien A,B zwei nn Matrizen. D lässt sich in O(I(3n)) =O(I(n)) invertieren => M(n)=O(I(n))
Matrizen invertieren “I(n)=O(M(n))” Beweis Idee -erweitern der Matrix mit “Identität, so dass man eine Potenz von 2 erhält -für symetrisch positiv definite Matrizen definiert man einen rekursiven Algorithmus mit Laufzeitverhalten I(n)2I(n/2)+4M(n)+O(n²)= 2I(n/2)+O(M(n))=O(M(n)) Die Matrix ist nicht symetrisch positiv definit
Symmetrisch positive definite Matrizen Definition: Eine symetrisch positiv definite Matrix erfüllt folgende Bedingungen Satz: Jede positiv definite Matrix ist invertierbar Beweis: Sei Ax=0 d.h. die Zeilen der Matrix sind linear abhängig. Dies ist ein Widerspruch zu Eigenschaft 2)
Symmetrisch positive definite Matrizen Satz: Ist A symetrisch und positiv definit, so ist jede linke obere Untermatrix symetrisch und positiv definit. Beweis: -symetrisch ist klar
Symmetrisch positive definite Matrizen Satz: Ist A eine symetrisch, positiv definite Matrix, dann ist das Schur-komplement auch symetrisch positiv definit Definition des Schurkomplemtes
Symmetrisch positive definite Matrizen Beweis: Man kann zeigen, dass S symetrisch ist. Wir wollen nur zeigen, dass S positiv definit ist. q.e.d.
Symmetrisch positive definite Matrizen Korollar: Symmetrisch positiv definite Matrizen verursachen bei einer LU-Decompositon nie eine Division durch 0. Beweis: Sei A eine symetrisch positiv definite Matrix. Da jede linke obere Untermatrix positiv definit ist, ist auch das erste Element positiv insbesondere nicht 0. Der erste Schritt der LU-Decomposition erstellt das Schurkomplement. Nun kann man per Induktion zeigen dass alle Pivotelemente ungleich 0 sind.
Symmetrisch positive definite Matrizen Gegeben sei eine Menge von Punkten. Nun möchte man ein Polynom des Grades n finden, so dass die Kurve möglichst nah an allen Punkten vorbei geht.
Symmetrisch positive definite Matrizen Was ist ? Wobei n die Anzahl der Basisfunktionen angibt. Was ist nun ?
Symmetrisch positive definite Matrizen Nun wollen wir den Fehler dabei betrachten
Symmetrisch positive definite Matrizen Beispiel: Die Punkte (-1,2),(1,1),(2,1),(3,0),(5,3) sollen durch eine quadratische Kurve approximiert werden.
Ich habe fertig!