numpy中的乘法:点乘,矩阵乘法

文章详细介绍了numpy库在处理向量和矩阵乘法时的不同操作,包括标量乘、点乘、叉乘、Hadamard积、普通矩阵乘法、Kronecker积、tensordot、einsum以及矩阵乘方等,特别强调了dot函数的多功能性和numpy中运算符*的特殊含义。
摘要由CSDN通过智能技术生成

向量乘法

实际向量乘法有三种:

  1. 标量乘:对应元素相乘

  1. 点乘(内积):结果是标量,向量投影

  1. 叉乘(外积):结果是向量,方向为法向量,大小为面积

矩阵乘法

实际矩阵乘法有三种:

  1. 对应元素乘法即矩阵的Hadamard也称为SchurA∘B=aijbij∈Cm×n

  1. 普通矩阵乘法(matmul product),即对应行乘以列

  1. 矩阵的KroneckerA⊗B=a11B⋯a1nB⋮⋱⋮am1B⋯amnB∈Cm×n

numpy中的矩阵和向量乘法函数

也就是说numpy中运算符*表示np.multiply,即Hadamard积,注意numpy中还有broadcasting

dot是一个综合函数,有三个功能:普通矩阵乘法,向量内积,多维和积(前一个矩阵最后轴,后一个矩阵倒数第二个轴)

vdot是针对向量的点乘或者说是内积

inner是两个矩阵的矩阵内积,这是一个功能定义不太明确的函数,有两个功能:向量内积(点集),多维和积(最后轴)

outer是针对向量的叉乘或者说是外积

matmul是矩阵乘法,即行乘列,注意不容许其中一个矩阵是标量,如果是标量可以用运算符*,即multiply

tensordot是将两个多维数组a和b指定轴上的对应元素相乘并求和,它是最一般化的乘积运算函数。

einsum全称为Einsteinsummation convention是一种求和的范式。einsum可以用一种很简单的,统一的方式去表示很多多维张量的运算

linalg.matrix_power是矩阵乘方

kron是克罗内克积

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wugou2014

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

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

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

打赏作者

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

抵扣说明:

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

余额充值