Friday, June 16, 2017

Strassen's Algorithm for Non-Square Matrices



Morning Math-Exchange,



On my homework, we have a problem regarding divide a conquer for matrix multiplication; where if you are multiplying a (4x12) by (12x4) the original total of multiplications is 192, but can be further dropped to 147.



I get that why the original big O for this problem is 192 for the total amount of multiplication because you need to multiply this by 4*12*4 and know Strassen's algorithm for square matrices, but not for non-square matrices...




I know according to the Wikipedia page for Strassen's algorithm that I need to turn the dimensions to closer to 2^n by filling the remaining rows/columns to 0's so you can make smaller square matrices, but I do not know what to do after that and how to cut the number of multiplications to 147 with 2^2 (no zeroes needed here) and 2^4 (Added 4 more to the 12)...


Answer



Write your left factor as a row of three square matrices and your right factor as a column of three square matrices. Then use Strassen.


No comments:

Post a Comment

analysis - Injection, making bijection

I have injection $f \colon A \rightarrow B$ and I want to get bijection. Can I just resting codomain to $f(A)$? I know that every function i...