Schnelle Matrizenoperationen von Christian Büttner

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Kapitel 3 Arithmetische Schaltkreise
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Zusatzthemen. Kapitel 5 © Beutelspacher Juni 2004 Seite 2 Inhalt Gleichungssysteme mit Parameter Wurzelgleichungen Irrationale Zahlen Induktion WGMS III.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
11. Matrizen. 11. Matrizen Eine mn-Matrix ist ein Raster aus mn Koeffizienten, die in m Zeilen und n Spalten angeordnet sind. = (aij)1  i  m, 1.
Seminar „Extrapolationsmethoden für zufällige Felder“
Ein Modellansatz zur Beschreibung von Vagheiten
Lösung von linearen Gleichungssystemen - Grundlagen
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Kapitel 3 Gleichungen.
Kapitel 5 Stetigkeit.
Kapitel 1 Das Schubfachprinzip
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Kapitel 2 Die rationalen und die irrationalen Zahlen.
Beispiele für Gleichungssysteme
V. Algebra und Geometrie
Christian Schindelhauer
Quaternionen Eugenia Schwamberger.
Folie 1 § 30 Erste Anwendungen (30.2) Rangberechnung: Zur Rangberechnung wird man häufig die elementaren Umformungen verwenden. (30.1) Cramersche Regel:
§9 Der affine Raum – Teil 2: Geraden
§9 Der affine Raum – Teil 2: Geraden
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Folie 1 § 29 Determinanten: Eigenschaften und Berechnung (29.1) Definition: Eine Determinantenfunktion auf K nxn ist eine Abbildung (im Falle char(K) ungleich.
§ 29 Determinanten: Eigenschaften und Berechnung
Tutorium
Matrix-Algebra Grundlagen 1. Matrizen und Vektoren
Determinanten Roland Angst,
Effiziente Algorithmen
§24 Affine Koordinatensysteme
Lineare Algebra Komplizierte technologische Abläufe können übersichtlich mit Matrizen dargestellt werden. Prof. Dr. E. Larek
Zeit: 13h-15h Datum: Raum: IFW B42
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt WS 06/
§20 Der Rang einer Matrix Jede (m,n)-Matrix kann auch als ein n-Tupel von Spaltenvektoren geschrieben werden: wobei (20.1) Definition:
§3 Allgemeine lineare Gleichungssysteme
Einführung in die Matrizenrechnung
Polynome und schnelle Fourier-Transformation
Gleichungen und Gleichungssysteme
Lineare Funktionen und ihre Schaubilder, die Geraden
ENDLICHE KÖRPER RSA – VERFAHREN.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
§22 Invertierbare Matrizen und Äquivalenz von Matrizen
Scaffold 29S: Komplexe Zahlen
Nichtlineare Optimierung
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Lineare Algebra 11. Matrizen Eine m  n-Matrix ist ein Raster aus m  n Koeffizienten, die in m Zeilen und n Spalten angeordnet sind. = (a ij )
Kapitel 4 Restklassen (die modulo-Rechnung)
Prof. Dr. Walter Kiel Fachhochschule Ansbach
Graphische Datenverarbeitung
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
PCA Principal Component Analysis. Gliederung PCA – Warum eigentlich? PCA – Was ist zu tun? Was passiert eigentlich? Anwendungen Zusammenfassung.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Kapitel I. Vorspann zum Begriff Vektorraum
 Präsentation transkript:

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 nn Matrizen zu multiplizieren und I(n) die Zeit um eine nn Matrix zu invertieren, dann gilt I(n)=(M(n)) Beweis: “M(n)=O(I(n))” Seien A,B zwei nn 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!