4.3 矩阵乘法问题
矩阵乘法
1 矩阵乘法-蛮力法
问题描述

问题分析
算法设计
问题归结为计算元素C[i,j]。依据定义来计算A和B的乘积矩阵C,则每计算C的一个元素C[i][j],需要做n次乘法和n-1次加法。C的规模为n*n。
算法分析
- 时间复杂度O(n^3)
算法实现
2 矩阵乘法-STRASSEN算法
算法设计
算法的基本思想在于以增加加减法的次数来减少乘法次数:
用了7次n/2 x n/2 矩阵乘法和18次n/2 x n/2 矩阵的加法
算法过程
- 将矩阵分块
1 | A = a11 a12 |
- 计算分块矩阵的乘法
1 | d1 = (a11 + a22) (b11 + b22) |
- 将分块矩阵乘法进行合并
1 | C11 = |
算法效率
- 时间复杂度:T (n) =$O(n^{log7})= O(n^{2.81})$
算法实现
1 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!










