Professor Caesar wishes to develop a matrix-multiplication algorithm that is asymptotically faster than Strassen’s algorithm. His algorithm will use the divide and-conquer method, dividing each matrix into pieces of size n/4 x n/4, and the divide and combine steps together will take Theta(n^2) time.
Asked
Active
Viewed 1,146 times
-5
-
4Can you demonstrate *any* effort in trying to solve this? – Scott Hunter Oct 02 '16 at 23:19
-
@ScottHunter I found this solution online but I didn't understand it. http://clrs.skanev.com/04/05/02.html – useruser1412 Oct 03 '16 at 00:41
-
What solution? I don't see any solution. – Scott Hunter Oct 03 '16 at 00:42
-
@ScottHunter I updated my reply with the link of the solution – useruser1412 Oct 03 '16 at 03:07
-
3Could you explain the question further? Are you asking for the pseudo code of an algorithm that is asymptotically faster than Strassen's matrix multiplication algorithm? Should the algorithm also use divide and conquer that has a combination step that take theta(n^2) time? Please clarify your question. – splay Oct 03 '16 at 04:43
1 Answers
1
You don't really specify what the question is here, but I guess it is to disprove that this trivial algorithm runs faster than Strassen.
Say you divide your matrices into blocks each of dimension (n / k) X (n / k) (in your question, k is 4). Then each matrix will have k2 blocks, and there will be k3 block multiplications (each block in the first matrix will be multiplied by k blocks in the second matrix). Consequently, the complexity recurrence is
T(n) = k3 T(n / k) + Θ(n2).
By case 1 of the Master theorem, this implies
T(n) = Θ(nlogk(k3)) = Θ(n3).
This is the same as ordinary matrix multiplication. It does not beat Strassen, obviously.

Ami Tavory
- 74,578
- 11
- 141
- 185
-
"divide your matrices into k blocks ... each matrix will have k^2 blocks"? – Scott Hunter Oct 03 '16 at 10:41
-
-
3