Strassen algorithm

导读:

  In the mathematicaldiscipline of linear algebra, the Strassen algorithm, named after Volker Strassen, is an algorithmused for matrix multiplication. It is asymptotically faster than the standard matrix multiplication algorithm, but slower than the fastest known algorithm, and is useful in practice for large matrices.

  [edit]History

  Volker Strassen published the Strassen algorithm in 1969. Although his algorithm is only slightly faster than the standard algorithm for matrix multiplication, he was the first to point out that Gaussian eliminationis not optimal. His paper started the search for even faster algorithms such as the Winograd algorithmof Shmuel Winogradin 1980 (which uses 7 binary multiplications, but 15 binary additions instead of 18 with the Strassen algorithm), and the more complex Coppersmith每Winograd algorithmpublished in 1987.

  [edit]Algorithm

  Let A, Bbe two square matricesover a ringR. We want to calculate the matrix product Cas

  

  

  If the matrices A, Bare not of type 2nx 2nwe fill the missing rows and columns with zeros.

  We partition A, Band Cinto equally sized block matrices

  

  

  with

  

  

  then

  

  

  

  

  

  

  

  

  With this construction we have not reduced the number of multiplications. We still need 8 multiplications to calculate the Ci,jmatrices, the same number of multiplications we need when using standard matrix multiplication.

  Now comes the important part. We define new matrices

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  which are then used to express the Ci,jin terms of Mk. Because of our definition of the Mkwe can eliminate one matrix multiplication and reduce the number of multiplications to 7 (one multiplication for each Mk) and express the Ci,jas

  

  

  

  

  

  

  

  

  We iterate this division process n-times until the submatricesdegenerate into numbers (group elements).

  Practical implementations of Strassen's algorithm switch to standard methods of matrix multiplication for small enough submatrices, for which they are more efficient. The particular crossover point for which Strassen's algorithm is more efficient depends on the specific implementation and hardware. It has been variously estimated from n = 32 to n = 128 for optimized implementations,and 60,000 or more for basic implementations.

  [edit]Numerical analysis

  The standard matrix multiplications takes

  

  

  multiplications of the elements in the ring R. We ignore the additions needed because, depending on R, they can be much faster than the multiplications in computer implementations, especially if the sizes of the matrix entries exceed the word sizeof the machine.

  With the Strassen algorithm we can reduce the number of multiplications to

  

  

  .

  The reduction in the number of multiplications however comes at the price of a somewhat reduced numerical stability.

  [edit]References

  ^Matrix Multiplication notes

  ^Ultra-Fast Matrix Multiplication

  Strassen, Volker, Gaussian Elimination is not Optimal, Numer. Math. 13, p. 354-356, 1969

  Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Chapter 28: Section 28.2: Strassen's algorithm for matrix multiplication, pp.735每741.

  [edit]External links

  Eric W. Weisstein, Strassen's Formulasat MathWorld.(also includes formulas for fast matrix inversion)



本文转自

http://getpastfilters.info/index.php?hl=f5&q=uggc%3A%2F%2Fra.jvxvcrqvn.bet%2Fjvxv%2FFgenffra_nytbevguz
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值