Strassen's algorithm for matrix multiplication

后端 未结 3 1710
遥遥无期
遥遥无期 2020-12-12 18:12

Can someone please explain strassen\'s algorithm for matrix multiplication in an intuitive way? I\'ve gone through (well, tried to go through) the explanation in the book an

3条回答
  •  醉酒成梦
    2020-12-12 19:03

    In my opinion there are 3 ideas that you need to get:

    1. You can split a matrix into blocks and operate on the resulting matrix of blocks like you would on a matrix of numbers. In particular you can multiply two such block matrices (of course as long as the number of block rows in one matches the number of block columns in the other) and get the same result as you would when multiplying original matrices of numbers.

    2. The blocks necessary to express the result of 2x2 block matrix multiplication have enough common factors to allow computing them in fewer multiplications than the original formula implies. This is the trick described in Tony's answer.

    3. Recursion.

    Strassen algorithm is just an application of the above. To understand the analysis of its complexity, you need to read "Concrete Mathematics" by Ronald Graham, Donald Knuth, and Oren Patashnik or a similar book.

提交回复
热议问题