Strassen算法于1969年由德国数学家Strassen提出,该方法引入七个中间变量,每个中间变量都只需要进行一次乘法运算。而朴素算法却需要进行8次乘法运算。原理Strassen算法的原理如下所示,使用sympy验证Strassen算法的正确性复杂度分析$$f=7\times f=7^2\times f=...=7^k\times f$$最终复杂度为$7^{log_2 N}=N^{log_2 7}$java矩阵乘法代码如下,可以看看数据结构的定义,时间换空间。

使用java写的矩阵乘法实例(Strassen算法)

使用java写的矩阵乘法实例(Strassen算法)

使用java写的矩阵乘法实例(Strassen算法)

使用java写的矩阵乘法实例(Strassen算法)

使用java写的矩阵乘法实例(Strassen算法)