Coppersmith–Winograd algorithm: Difference between revisions

Content deleted Content added
fix name, she always writes it in full in her publications
top: Retarget redirect with dash to preferred target of redirect with hyphen-minus after manual review
Tags: AWB Removed redirect
 
(21 intermediate revisions by 17 users not shown)
Line 1:
#REDIRECT [[Matrix multiplication algorithm]] {{R from merge}}
{{Use dmy dates|date=July 2013}}
In [[linear algebra]], the '''Coppersmith–Winograd algorithm''', named after [[Don Coppersmith]] and [[Shmuel Winograd]], was the asymptotically fastest known [[matrix multiplication algorithm]] until 2010. It can multiply two <math>n \times n</math> matrices in <math>\mathcal{O}(n^{2.375477})</math> time <ref name="coppersmith">{{Citation|doi=10.1016/S0747-7171(08)80013-2|title=Matrix multiplication via arithmetic progressions|url=http://www.cs.umd.edu/~gasarch/TOPICS/ramsey/matrixmult.pdf|year=1990|last1=Coppersmith|first1=Don|last2=Winograd|first2=Shmuel|journal=Journal of Symbolic Computation|volume=9|issue=3|pages=251}}</ref> (see [[Big O notation]]).
This is an improvement over the naïve <math>\mathcal{O}(n^3)</math> time algorithm and the <math>\mathcal{O}(n^{2.807355})</math> time [[Strassen algorithm]]. Algorithms with better asymptotic running time than the Strassen algorithm are rarely used in practice, because the large constant factors in their running times make them impractical.<ref>{{citation
| last = Le Gall | first = F.
| arxiv = 1204.1111
| contribution = Faster algorithms for rectangular matrix multiplication
| doi = 10.1109/FOCS.2012.80
| pages = 514–523
| title = Proceedings of the 53rd Annual IEEE Symposium on Foundations of Computer Science (FOCS 2012)
| year = 2012}}.</ref>
It is 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).
 
In 2010, Andrew Stothers gave an improvement to the algorithm, <math>\mathcal{O}(n^{2.374}).</math><ref>{{Citation | last1=Stothers | first1=Andrew | title=On the Complexity of Matrix Multiplication | url=https://www.era.lib.ed.ac.uk/handle/1842/4734 | year=2010}}.</ref><ref>{{Citation | last1=Davie | first1=A.M. | last2=Stothers | first2=A.J. | title=Improved bound for complexity of matrix multiplication|journal=Proceedings of the Royal Society of Edinburgh|volume=143A|pages=351–370|year=2013|doi=10.1017/S0308210511001648}}</ref> In 2011, [[Virginia Vassilevska Williams]] combined a mathematical short-cut from Stothers' paper with her own insights and automated optimization on computers, improving the bound to <math>\mathcal{O}(n^{2.3728642}).</math><ref>{{Citation | last1=Williams | first1=Virginia Vassilevska| title=Breaking the Coppersmith-Winograd barrier | url=http://theory.stanford.edu/~virgi/matrixmult-f.pdf | year=2011}}</ref> In 2014, François Le Gall simplified the methods of Williams and obtained an improved bound of <math>\mathcal{O}(n^{2.3728639}).</math><ref>"Even if someone manages to prove one of the conjectures—thereby demonstrating that ω = 2—the wreath product approach is unlikely to be applicable to the large matrix problems that arise in practice. (...) the input matrices must be astronomically large for the difference in time to be apparent."{{Citation | last1=Le Gall | first1=François | contribution=Powers of tensors and fast matrix multiplication | year = 2014 | arxiv=1401.7714 | title = Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation ([[ISSAC]] 2014)| bibcode=2014arXiv1401.7714L }}</ref>
 
The Coppersmith–Winograd algorithm is frequently used as a building block in other algorithms to prove theoretical time bounds.
However, unlike the Strassen algorithm, it is not used in practice because it only provides an advantage for matrices so large that they cannot be processed by modern hardware.<ref>{{Citation | last1=Robinson | first1=Sara | title=Toward an Optimal Algorithm for Matrix Multiplication | url=http://www.siam.org/pdf/news/174.pdf | year=2005 | journal=SIAM News | volume=38 | issue=9}}</ref>
 
[[Henry Cohn]], [[Robert Kleinberg]], [[Balázs Szegedy]] and [[Chris Umans]] have re-derived the Coppersmith–Winograd algorithm using a [[group theory|group-theoretic]] construction. They also showed that either of two different conjectures would imply that the optimal exponent of matrix multiplication is 2, as has long been suspected. However, they were not able to formulate a specific solution leading to a better running-time than Coppersmith–Winograd.<ref>{{Cite book | last1 = Cohn | first1 = H. | last2 = Kleinberg | first2 = R. | last3 = Szegedy | first3 = B. | last4 = Umans | first4 = C. | chapter = Group-theoretic Algorithms for Matrix Multiplication | doi = 10.1109/SFCS.2005.39 | title = 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05) | pages = 379 | year = 2005 | isbn = 0-7695-2468-0 | pmid = | pmc = }}</ref>
 
== See also ==
* [[Computational complexity of mathematical operations]]
* [[Gauss–Jordan elimination]]
* [[Strassen algorithm]]
 
== References ==
{{Reflist}}
 
== Further reading ==
*{{cite book |first=P. |last=Bürgisser |first2=M. |last2=Clausen |first3=M. A. |last3=Shokrollahi |title=Algebraic Complexity Theory |series=Grundlehren der mathematischen Wissenschaften |volume=315 |publisher=Springer Verlag |year=1997 }}
 
{{Numerical linear algebra}}
 
{{DEFAULTSORT:Coppersmith-Winograd Algorithm}}
[[Category:Numerical linear algebra]]
[[Category:Matrix theory]]
[[Category:Matrix multiplication algorithms]]