学习笔记:几种矩阵乘法(matmul product普通乘积、hadamard product矩阵点乘、kronecker product克罗内克积、斯特拉森矩阵乘法)

1、普通矩阵乘法(matmul product)

假设矩阵A大小是M*N,矩阵B大小是N*P,C=AB

这里选取一个例子

这里的矩阵乘法要求相乘的两个矩阵一个的行数得等于另一个的列数,否则,无法进行乘机运算。

2、矩阵点乘(hadamard product)

矩阵点乘,英文hadamard product,因此又称哈达码积。要求相乘的两个矩阵A和B大小完全相同,即A,B大小都为M*N,然后。下面举一个运算实例

3、克罗内克积(kronecker product)

克罗内克积也称为直积或张量积,以德国数学家利奥波德·克罗内克命名。以上两个矩阵之间的乘法运算,对于矩阵的大小都有着一定的限定条件。在克罗内克积里面,这个条件就取消了。两个任意大小的矩阵A和B,假设A的大小是m*n,B的大小是p*q,则A*B的大小是mp*nq。如下:

更具体的可以表达为

下面见到的展示一个运算实例

4、斯特拉森矩阵乘法

 

斯特拉森矩阵乘法是1969年斯特拉森利用分治策略并加上一些处理技巧设计出的一种矩阵乘法。设A和B是俩个n x n的矩阵,其中n可以写成2的幂。将A和B分别等分成4个小矩阵,此时如果把A和B都当成2x2矩阵来看,每个元素就是一个(n/2)x(n/2)矩阵,而A和B的成积就可以写成:

 

其中 利用斯特拉森方法得到7个小矩阵,分别定义为:
矩阵
   
可以通过7次矩阵乘法、6次矩阵加法和4次矩阵减法计算得出,前述4个小矩阵
   
可以由矩阵
   
通过6次矩阵加法和2次矩阵减法得出,方法如下:
用上述方案解n=2;矩阵乘法;假定施特拉斯矩阵分割方案仅用于n>=8的矩阵乘法,而对于小于8的矩阵直接利用公式计算;n的值越大,斯拉特森方法更方便;设T(n)表示斯特拉森分治运算法所需时间,因为大的矩阵会被递归分成小矩阵直到每个矩阵的大小小于或等于k,所以T(n)的递归表达式为T(n)=d(n<=k);T(n)=7*t(n/2)+cn2(n平方)(n>k),其中cn2表示完成18次(n/2)(n/2)接矩阵的加减法,以及把大小为N的矩阵分割成小矩阵所需的时间;

参考自互联网,如有侵权请联系删除

 
 

学术交流可以关注我的公众号,后台留言,粉丝不多,看到必回。卑微小钱在线祈求

  • 18
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与贰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值