对任何非零偶数n ,总可以找到奇数m 和正整数k ,使得n=2mk .为了求出两个n 阶矩阵的乘积,可以把一个n 阶矩阵分成m×m 个子矩阵,每个子矩阵有2k×2k 个元素.设计一个传统方法与 Strassen 算法相结合的矩阵相乘算法,对任何偶数n ,都可以求出两个n 阶矩阵的乘积,并分析算法的计算时间复杂性.
将n阶矩阵分块为mxm 的矩阵.用传统方法求两个m阶矩阵的乘积需要计算0(m³)次2个2x2矩阵的乘积.用Strassen 矩阵乘法计算两个2x2矩阵的乘积需要的计算时间为 0(7的k次幂),因此算法的计算时间为O(7的k次幂*m³).