矩阵乘积验证器

对于矩阵乘积,大家应该都是比较熟悉的,如果要让我们用算法来实现,绝大多数人都会使用三层循环来实现,从时间复杂度上分析,无疑是n的三次方量级的


当然德国的数学家也提出了一个7个子矩阵的乘法运算,降到了n的2.81次方的量级,后来又有人进一步优化提升到了n的2.376次方的量级,但是提升到n的平方量级的确是比较困


难的,不过如果要去验证矩阵乘积正确与否,这倒是可以实现的,不过这个算法依赖于随机化,换个话说,就是不一定是正确的,运气总是很难掌握的。。


验证矩阵A*B=C是否正确,首先避免相乘,那么如何解决呢?


根据运算法则可知:两边同时乘以一个矢量依然成立即ZAB=ZC   【Z是一个1*n的矢量】


这样的话,可以符合我们时间上的要求了 ZA可以在平方量级的时间上完成,结果还是矢量,乘以B同样也是平方级


当然这个算法的优势很明显,速度快,缺点在于有可能错误,即可能存在某些Z在D=AB D不等于C的时候,ZD=ZC了



hh


错误的概率的分析大家可以自己进行,总结的经验就是运行的次数越多,即随机生成的z测试的越多,正确性越高,算法的误判率会随着测试的次数降低




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值