Coppersmith–Winograd algorithm

This is an old revision of this page, as edited by 188.123.230.225 (talk) at 18:07, 29 November 2011. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In the mathematical discipline of linear algebra, the Coppersmith–Winograd algorithm, named after Don Coppersmith and Shmuel Winograd, was the asymptotically fastest known algorithm for square matrix multiplication from 1990 to 2011, and is the third-fastest as of 2011.[1][2] It can multiply two matrices in time (see Big O notation). This is an improvement over the trivial time algorithm and the time Strassen algorithm. It is possible to improve the exponent further; however, the exponent must be at least 2 (because an matrix has 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 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.[3]

Henry Cohn, Robert Kleinberg, Balázs Szegedy and Christopher Umans have rederived the Coppersmith–Winograd algorithm using a group-theoretic construction. They also show that either of two different conjectures would imply that the optimal exponent of matrix multiplication is 2, as has long been suspected. [4]

References

  1. ^ Williams, Virginia (2011), Breaking the Coppersmith-Winograd barrier (PDF).
  2. ^ Stothers, Andrew (2010), On the Complexity of Matrix Multiplication (PDF).
  3. ^ Robinson, Sara (2005), "Toward an Optimal Algorithm for Matrix Multiplication" (PDF), SIAM News, 38 (9)
  4. ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1109/SFCS.2005.39, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1109/SFCS.2005.39 instead.