Strassen’s algorithm is polynomially faster than n-cubed regular matrix multiplication. What does “polynomially faster” mean?
Strassen’s algorithm is polynomially faster than n-cubed regular matrix multiplication. What does polynomially faster
Share
Your question has to do with the theoretical concept of “complexity”.
As an example, the regular matrix multiplication is said to have the complexity of O(n^3). This means that as the dimension “n” grows, the time it takes to run the algorithm, T(n) is guaranteed to not exceed the function “n^3” (the cubic function) with respect to a positive constant.
Formally, this means:
There exists a positive treshold n_t such that for every n >= n_t, T(n) <= c * n^3, where c > 0 is some constant.
In your case, the Strassen algorithm has been demonstrated to have the complexity O(n^ log7). Since log7 = 2.8 < 3, it follows that the Strassen algorithm is guaranteed to run faster than the classical multiplication algorithm as n grows.
As a side-note, keep in mind that for very small values of n (i.e. when n < n_t above) this statement might not hold.