#REDIRECT [[Matrix multiplication algorithm]] {{R from merge}}
In the [[mathematics|mathematical]] discipline of [[linear algebra]], the '''Coppersmith–Winograd algorithm''' is the fastest currently known [[algorithm]] for square [[matrix multiplication]]. It can multiply two <math>n \times n</math> matrices in <math>O(n^{2.376}) \!\ </math> time (see [[Big O notation]]). This is an improvement over the trivial <math>O(n^3) \!\ </math> time algorithm and the <math>O(n^{2.807}) \!\ </math> time [[Strassen algorithm]]. It might be possible to improve the exponent further; however, the exponent must be at least 2 (because an <math>n \times n</math> matrix has <math>n^2</math> values, and all of them have to be read at least once to calculate the exact result).
The Coppersmith–Winograd algorithm is frequently used as building block in other algorithms to prove theoretical time bounds, but it appears to be not particularly practical for implementations.
[[Henry Cohn]], [[Robert Kleinberg]], [[Balázs Szegedy]] and [[Christopher Umans]] have rederived the Coppersmith–Winograd algorithm using a [[group theory|group-theoretic]] construction.
==References==
* Henry Cohn, Robert Kleinberg, Balazs Szegedy, and Chris Umans. Group-theoretic Algorithms for Matrix Multiplication. {{arXiv|archive=math.GR|id=0511460}}. ''Proceedings of the 46th Annual Symposium on Foundations of Computer Science'', 23-25 October 2005, Pittsburgh, PA, IEEE Computer Society, pp. 379–388.
* [[Don Coppersmith]] and [[Shmuel Winograd]]. Matrix multiplication via arithmetic progressions. ''Journal of Symbolic Computation'', 9:251–280, 1990.
[[Category:Numerical linear algebra]]
[[Category:Matrix theory]]
[[fr:Algorithme de Coppersmith-Winograd]]
|