Strassen-Algorithmus
Der Strassen-Algorithmus (erfunden vom deutschen Mathematiker Volker Strassen) ist ein Algorithmus aus der Linearen Algebra und wird zur Matrizenmultiplikation verwendet. Der Strassen-Algorithmus realisiert die Matrizenmultiplikation asymptotisch effizienter als das Standardverfahren und ist in der Praxis für große Matrizen schneller.
Inhaltsverzeichnis |
Der Algorithmus [Bearbeiten]
Vereinfachend gehen wir von zwei quadratischen Matrizen A,B über einem Ring R aus. Des Weiteren haben A und B Spalten- und Zeilendimension n=2k und C sei das Produkt von A und B.
Nun kann man A,B,C auch als Blockmatrizen betrachten:
Nun gilt:
Berechnet man die
mit diesen Formeln, so benötigt man 8 (teure) Matrizenmultiplikationen. Um die Anzahl der Multiplikationen zu reduzieren, berechnet man folgende Hilfsmatrizen:
Zur Berechnung der
benötigt man nur 7 Multiplikationen und nun kann man die
nur durch Additionen (und Subtraktionen) berechnen:
Diese Idee verwendet man nun auch für die Multiplikationen zur Berechnung der
und iteriert das ganze so lange, bis man nur noch Skalare multipliziert.
Bei der praktischen Implementierung iteriert man für gewöhnlich nur so lange, bis die Matrixdimension so klein ist, dass der Standard-Algorithmus zur Matrizenmultiplikation effizienter ist, und verwendet dann diesen (Cut-Off).
Aufwand [Bearbeiten]
Die Standard-Matrixmultiplikation benötigt
Multiplikationen der Elemente des Ringes R. Wir ignorieren die benötigten Additionen, weil sie, abhängig von R, in Computerimplementationen viel schneller sein können als die Multiplikationen. Mit dem Strassen-Algorithmus können wir die Anzahl der Multiplikationen auf
reduzieren. Die Reduktion der Anzahl der Multiplikationen bezahlt man allerdings mit einer Verringerung der numerischen Stabilität[1].
Siehe auch [Bearbeiten]
Coppersmith–Winograd Algorithmus bzw. englischer Artikel: Coppersmith–Winograd algorithm
Literatur [Bearbeiten]
- Volker Strassen: Gaussian Elimination is not Optimal. In: Numerische Mathemetik, Bd. 13 (1969), S. 354–356, ISSN 00298-599X.
Referenzen [Bearbeiten]
- ↑ Webb Miller: Computational complexity and numerical stability. In: SIAM News. 4, 1975, S. 97-107.
Weblinks [Bearbeiten]
- Eric W. Weisstein: Strassen's Formulas. In: MathWorld. (englisch)


















