On the other hand, this brief analysis ignores a number of practical issues:
Another quite different algorithm is Strassen's method , which multiplies matrices recursively by dividing them into block matrices, and multiplying the subblocks using 7 matrix multiplications (recursively) and 15 matrix additions of half the size. This leads to an asymptotic complexity of instead of . The value of this algorithm is not just this asymptotic complexity but its reduction of the problem to smaller subproblems which eventually fit in fast memory; once the subproblems fit in fast memory standard matrix multiplication may be used. This approach has led to speedups on relatively large matrices on some machines . A drawback is the need for significant workspace, and somewhat lower numerical stability, although it is adequate for many purposes .