python矩阵内积乘_numpy矩阵向量乘法
最简单的解决方案
使用numpy.dot或a.dot(b)。请参阅此处的文档。
>>> a = np.array([[ 5, 1 ,3],
[ 1, 1 ,1],
[ 1, 2 ,1]])
>>> b = np.array([1, 2, 3])
>>> print a.dot(b)
array([16, 6, 8])
发生这种情况是因为numpy数组不是矩阵,并且标准操作*, +, -, /在数组上逐个元素地工作。相反,您可以尝试使用numpy.matrix,*并将其视为矩阵乘法。
其他解决方案
也知道还有其他选择:
如下所述,如果使用python3.5 +,则该@运算符将按预期工作:
>>> print(a @ b)
array([16, 6, 8])
如果要过度杀伤,可以使用numpy.einsum。该文档将为您提供它的工作原理,但是说实话,直到阅读此答案并自己玩弄它之前,我还不完全了解如何使用它。
>>> np.einsum('ji,i->j', a, b)
array([16, 6, 8])
从2016年中开始(numpy 1.10.1),您可以尝试使用Experimenting numpy.matmul,它的工作原理numpy.dot与以下两个主要例外相同:无标量乘法,但可用于矩阵堆栈。
>>> np.matmul(a, b)
array([16, 6, 8])
numpy.inner功能相同的方式numpy.dot 对矩阵-向量乘法但表现不同矩阵基质和张量乘法(参见维基百科关于之间的差异的内积和点积在一般或看到该SO答案关于numpy的的实现)。
>>> np.inner(a, b)
array([16, 6, 8])
# Beware using for matrix-matrix multiplication though!
>>> b = a.T
>>> np.dot(a, b)
array([[35, 9, 10],
[ 9, 3, 4],
[10, 4, 6]])
>>> np.inner(a, b)
array([[29, 12, 19],
[ 7, 4, 5],
[ 8, 5, 6]])
边缘案例的较难选项
如果有张量(维数大于或等于1的数组),则可以numpy.tensordot与可选参数一起使用axes=1:
>>> np.tensordot(a, b, axes=1)
array([16, 6, 8])
numpy.vdot如果您有复数矩阵,请不要使用,因为该矩阵将被展平为一维数组,然后它将尝试在展平的矩阵和向量之间找到复杂的共轭点积(由于大小不匹配而失败)n*mvs n)。
python矩阵内积乘_numpy矩阵向量乘法相关推荐
- numpy中矩阵的转置_NumPy矩阵transpose()-Python中数组的转置
numpy中矩阵的转置 The transpose of a matrix is obtained by moving the rows data to the column and columns ...
- python矩阵定义_python定义矩阵
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 假如有俩个矩阵score,score1 save('score.mat','sc ...
- python创建数组放入矩阵_python数组和矩阵使用总结
1.数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作.使用这个包,需要导入numpy. SciPy包以NumPy包为基础,大大的扩展了numpy的能力.因此只要导入了s ...
- python给矩阵赋值_python给矩阵赋值
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python的numpy创造矩阵from numpy import matimp ...
- python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例
np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, ...
- python如何对两个矩阵进行拼接_Python合并两个numpy矩阵
numpy是Python用来科学计算的一个非常重要的库,numpy主要用来处理一些矩阵对象,可以说numpy让Python有了Matlab的味道. 实际的应用中,矩阵的合并是一个经常发生的操作,如何利 ...
- python数组和列表_Python-01矩阵、数组和列表等的总结
python的基础知识总结 使用到了numpy库,所以第一步需要 import numpy as np 1.创建矩阵 1.1一般矩阵的创建 创建一个二维的矩阵,并使用ndim.shape.size分别 ...
- fun是什么意思 python中def_【python】 numpy中的矩阵转置(ndarray.T)为什么不加括号却可以实现方法的功能...
[python] numpy中的矩阵转置(ndarray.T)为什么不加括号却可以实现方法的功能 经过搜索和查询源码了解到,.T就是一个方法,但是是被装饰器修饰了一下... @property是pyt ...
- python二维元素向量_详解python Numpy中求向量和矩阵的范数
在python Numpy中求向量和矩阵的范数实例 np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=n ...
最新文章
- OBS集成WebRTC
- 【干货分享】如何应对线上数据库的误操作
- Win10系列:UWP界面布局基础4
- HighCharts点击柱形或饼块等加URL或Click事件
- MySQL的环境变量配置详细步骤
- tomcat日志详情
- 卸载VMware Server后,无法加载登录用户界面 #F#
- 有关 this 指向问题总结
- 拓端tecdat|python对网络图networkx进行社区检测和彩色绘图
- Java并发包学习--ReentrantLock
- vue项目实战(pc端)
- 2分钟搞定收货地址三级联动,数据易于维护,更新。
- VS配置永久OpenCV(小萌轻松操作):超细致
- vue元素显示隐藏 v-if 和 v-show 指令
- 【FreeRTOS】在Cortex-M4开发板上移植FreeRTOS并且实现LED灯闪烁(保姆级教程)
- 软件测试需要会python吗_真实揭秘90后职业新选择:25岁刚入行软件测试,竟拿到这么多薪资……...
- 尘埃落定!AI 大牛贾佳亚离开腾讯优图,创立思谋科技,投身差异化 AI 创业
- 系列解读Dropout
- 香港星光大道1月底重开 料成旅客“打卡”热门地
- Altium Designer 20 (5)——排针类元件创建