矩阵乘法——strassen算法

Strassen算法利用分治策略实现矩阵乘法,将时间复杂度降低到O(n^lg7),但需要进行18次加减法和7次乘法。算法适用于矩阵维数为2的幂的情况,存在空间消耗且数值稳定性较差。文章包含算法的详细步骤及代码实现。
摘要由CSDN通过智能技术生成

strassen算法 

是通过分治法进行快速矩阵乘法,运行时间达到O(n^lg7).


每一次进行18次加/减法,7次乘法。

分治过程如下:


而且这种运算方式是有局限的:

例如矩阵维数n必须是2的幂,用其他的数会导致分割矩阵时出现奇数。

每次分割计算生成的子矩阵消耗空间。

不像简单的方法那样有数值稳定性。

实现代码如下:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int** newm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值