Winograd

这篇博客介绍了Coppersmith-Winograd算法的历史,它是1990年至2010年最快的矩阵乘法算法,后来被Stothers和Williams等人逐步优化。文章还讨论了这些改进对理论界的影响,尽管在实际应用中受限于大常数因素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from: Coppersmith–Winograd algorithm - HandWiki

In linear algebra, the Coppersmith–Winograd algorithm, named after Don Coppersmith and Shmuel Winograd, was the asymptotically fastest known matrix multiplication algorithm from 1990 until 2010. It can multiply two n×n matrices in O(n2.375477) time[1] (see Big O notation).

This is an improvement over the naïve O(n3) time algorithm and the O(n2.807355) 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.[2] It is possible to improve the exponent further; however, the exponent must be at least 2 (because there are n×n=n2 values in the result which must be computed).

In 2010, Andrew Stothers gave an improvement to the algorithm, O(n2.374).[3][4] 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 O(n2.3728642).[5] In 2014, François Le Gall simplified the methods of Williams and obtained an improved bound of O(n2.3728639).[6]

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 (making it a galactic algorithm).[7]

Henry Cohn, Robert KleinbergBalázs Szegedy and Chris Umans have re-derived the Coppersmith–Winograd algorithm using a 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.[8] Several of their conjectures have since been disproven by Blasiak, Cohn, Church, Grochow, Naslund, Sawin, and Umans using the Slice Rank method.[9]

See also

References

  1.  Coppersmith, Don; Winograd, Shmuel (1990), "Matrix multiplication via arithmetic progressions"Journal of Symbolic Computation 9 (3): 251, doi:10.1016/S0747-7171(08)80013-2
  2.  Le Gall, F. (2012), "Faster algorithms for rectangular matrix multiplication", Proceedings of the 53rd Annual IEEE Symposium on Foundations of Computer Science (FOCS 2012), pp. 514–523, doi:10.1109/FOCS.2012.80.
  3.  Stothers, Andrew (2010), On the Complexity of Matrix Multiplication, University of Edinburgh.
  4.  Davie, A.M.; Stothers, A.J. (April 2013), "Improved bound for complexity of matrix multiplication"Proceedings of the Royal Society of Edinburgh 143A (2): 351–370, doi:10.1017/S0308210511001648
  5.  Williams, Virginia Vassilevska (2011), Breaking the Coppersmith-Winograd barrier
  6.  ""Le Gall, François (2014), "Powers of tensors and fast matrix multiplication", Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation (ISSAC 2014)Bibcode2014arXiv1401.7714L
  7.  Robinson, Sara (November 2005), "Toward an Optimal Algorithm for Matrix Multiplication"SIAM News 38 (9), "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."
  8.  Cohn, H.; Kleinberg, R.; Szegedy, B.; Umans, C. (2005). "Group-theoretic Algorithms for Matrix Multiplication"46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05). pp. 379. doi:10.1109/SFCS.2005.39ISBN 0-7695-2468-0.
  9.  Blasiak, J.; Cohn, H.; Church, T.; Grochow, J.; Naslund, E.; Sawin, W.; Umans, C. (2017). "On cap sets and the group-theoretic approach to matrix multiplication"Discrete Analysisdoi:10.19086/da.1245.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值