Die rechnerische Komplexität der Matrixmultiplikation

14

Ich suche Informationen über die rechnerische Komplexität der Matrixmultiplikation von Rechteckmatrizen. Wikipedia besagt , dass die Komplexität der Multiplikation von B R n x p ist (Schulbuch Multiplikation).ARm×nBRn×pO(mnp)

Ich habe einen Fall, in dem und n viel kleiner als p sind , und ich hatte gehofft, eine bessere Komplexität als linear in p zu erhalten , auf Kosten der Verschlechterung der Abhängigkeit von m und n als linear.mnppmn

Irgendwelche Ideen?

Vielen Dank.

Anmerkung: Der Grund, von dem ich hoffe, dass es möglich ist, ist das bekannte Ergebnis einer Abhängigkeit von weniger als einer Kubikzahl in wenn m = n = p (wenn Matrizen alle Quadrate sind).pm=n=p

Erkundiger
quelle
8
Die Komplexität eines (sequentiellen) Algorithmus kann nicht kleiner sein als die Größe seiner Ausgabe. Können Sie für Ihr Problem die Eingabe und Ausgabe mit dem in p sublinearen Raum darstellen?
Colin McQuillan
sind die elemente meist ungleich null oder oft null? dh spärlich? das führt sicher zu diversen optimierungen. es scheint auch, dass die SVD [Singularwertzerlegung] basierend auf der aktuellen Antwort, die sich auf Approximationen bezieht, relevant sein könnte.
vzn

Antworten:

13

Die klassische Arbeit von Coppersmith zeigt, dass man für einige eine n × n α- Matrix mit einer n α × n- Matrix in ˜ O ( n 2 ) -Arithmetikoperationen multiplizieren kann . Dies ist ein wesentlicher Bestandteil des kürzlich gefeierten Ergebnisses von Ryan Williams.α>0n×nαnα×nO~(n2)

François le Gall hat kürzlich die Arbeit von Coppersmith verbessert und seine Arbeit wurde gerade in das FOCS 2012 aufgenommen. Um diese Arbeit zu verstehen, benötigen Sie einige Kenntnisse in der algebraischen Komplexitätstheorie. Virginia Williams Papier enthält einige relevante Hinweise. Insbesondere die Arbeit von Coppersmith ist in dem Buch Algebraic Complexity Theory ( Algebraische Komplexitätstheorie) vollständig beschrieben .

Ein anderer Arbeitsbereich konzentriert sich auf die Multiplikation von Matrizen in etwa . Sie können diese Arbeit von Magen und Zouzias überprüfen. Dies ist nützlich für wirklich große Matrizen Handhabung, sagen wir eine Multiplikation - Matrix und eine N × n Matrix, wobei N » n .n×NN×nNn

Der grundlegende Ansatz besteht darin, die Matrizen abzutasten (dies entspricht einer zufälligen Dimensionsreduktion) und die viel kleineren abgetasteten Matrizen zu multiplizieren. Der Trick besteht darin, herauszufinden, wann und in welchem ​​Sinne dies eine gute Annäherung ergibt. Im Gegensatz zum bisherigen, völlig unpraktischen Arbeitsschritt sind Stichprobenalgorithmen praktisch und sogar für den Umgang mit großen Datenmengen erforderlich.

Yuval Filmus
quelle
Nur eine Anmerkung: Es ist bekannt (Stand November 2010), dass eine rechteckige Matrixmultiplikation für die Lösung von ACC SAT nicht erforderlich ist. (Was gut ist, weil rechteckige Matrix mult "galaktisch" und komplex ist.)
Ryan Williams