strassen算法
是通过分治法进行快速矩阵乘法,运行时间达到O(n^lg7).
每一次进行18次加/减法,7次乘法。
分治过程如下:
而且这种运算方式是有局限的:
例如矩阵维数n必须是2的幂,用其他的数会导致分割矩阵时出现奇数。
每次分割计算生成的子矩阵消耗空间。
不像简单的方法那样有数值稳定性。
实现代码如下:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int** newm
strassen算法
是通过分治法进行快速矩阵乘法,运行时间达到O(n^lg7).
每一次进行18次加/减法,7次乘法。
分治过程如下:
而且这种运算方式是有局限的:
例如矩阵维数n必须是2的幂,用其他的数会导致分割矩阵时出现奇数。
每次分割计算生成的子矩阵消耗空间。
不像简单的方法那样有数值稳定性。
实现代码如下:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int** newm