矩阵相乘

目录

 

矩阵乘法

哈达玛积

克罗内客积(Kronecker Product)


矩阵乘法

A\in R^{n\times k},B\in R^{k\times m} ,C=AB,(C\in R^{n\times m}), A的每一行元素乘以B的每一列元素相加

e.g. AB = \begin{bmatrix} 1&2 \\ 3&4 \\ 5&6 \end{bmatrix}\begin{bmatrix} 1 & 2& 3 &4 \\ 5 & 6 &7 & 8 \end{bmatrix} = \begin{bmatrix} 11 & 14 &17 & 20\\ 23& 30 & 37 &68 \\ 35& 46 & 57 & 68 \end{bmatrix}

import numpy as np
a = np.array([[1,2],[3,4],[5,6]])
b = np.array([[1,2,3,4],[5,6,7,8]])
c = np.dot(a,b)
print("ab =\n",c)

哈达玛积

A\in R^{n\times m},B\in R^{n\times m},C = A\odot B,C\in R^{n\times m}.A的对应元素与B相乘

e.g. A\odot B = \begin{bmatrix} 1 &2 &3 \\ 4& 5 &6 \\ 7& 8 & 9 \end{bmatrix}\odot \begin{bmatrix} 1 &2 &3 \\ 4& 5 &6 \\ 7& 8 & 9 \end{bmatrix} = \begin{bmatrix} 1 &4 &9 \\ 16& 25 &36 \\ 49& 64 & 81 \end{bmatrix}

import numpy as np
a = np.arange(1,10).reshape(3,3)
b = np.arange(1,10).reshape(3,3)
c = a*b

克罗内克积(Kronecker Product)

克罗内克积是两个任意大小的矩阵间的运算。克罗内克积是张量积的特殊形式,以德国数学家利奥波德·克罗内克命名。

A\otimes B如果A是一个m×n的矩阵,而B是一个p×q的矩阵,克罗内克积则是一个mp×nq的分块矩阵

A\otimes B = \begin{bmatrix} 1 &2 \\ 3&1 \end{bmatrix}\otimes \begin{bmatrix} 0 &3\\ 2 & 1 \end{bmatrix} = \begin{bmatrix} 1\cdot 0 &1\cdot 3 & 2\cdot 0 &2\cdot 3 \\ 1\cdot 2 & 1\cdot 1 & 2\cdot 2 & 2\cdot 1\\ 3\cdot 0& 3\cdot 3& 1\cdot 0 & 1\cdot 3\\ 3\cdot2&3\cdot1 & 1\cdot2 & 1\cdot1 \end{bmatrix} =\begin{bmatrix} 0 &3 & 0 & 6\\ 2 & 1& 4& 2\\ 0& 9 &0 & 3\\ 6& 3& 2& 1 \end{bmatrix}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值