最简单的解决方案

使用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矩阵向量乘法相关推荐

  1. numpy中矩阵的转置_NumPy矩阵transpose()-Python中数组的转置

    numpy中矩阵的转置 The transpose of a matrix is obtained by moving the rows data to the column and columns ...

  2. python矩阵定义_python定义矩阵

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 假如有俩个矩阵score,score1 save('score.mat','sc ...

  3. python创建数组放入矩阵_python数组和矩阵使用总结

    1.数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作.使用这个包,需要导入numpy. SciPy包以NumPy包为基础,大大的扩展了numpy的能力.因此只要导入了s ...

  4. python给矩阵赋值_python给矩阵赋值

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python的numpy创造矩阵from numpy import matimp ...

  5. python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例

    np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, ...

  6. python如何对两个矩阵进行拼接_Python合并两个numpy矩阵

    numpy是Python用来科学计算的一个非常重要的库,numpy主要用来处理一些矩阵对象,可以说numpy让Python有了Matlab的味道. 实际的应用中,矩阵的合并是一个经常发生的操作,如何利 ...

  7. python数组和列表_Python-01矩阵、数组和列表等的总结

    python的基础知识总结 使用到了numpy库,所以第一步需要 import numpy as np 1.创建矩阵 1.1一般矩阵的创建 创建一个二维的矩阵,并使用ndim.shape.size分别 ...

  8. fun是什么意思 python中def_【python】 numpy中的矩阵转置(ndarray.T)为什么不加括号却可以实现方法的功能...

    [python] numpy中的矩阵转置(ndarray.T)为什么不加括号却可以实现方法的功能 经过搜索和查询源码了解到,.T就是一个方法,但是是被装饰器修饰了一下... @property是pyt ...

  9. python二维元素向量_详解python Numpy中求向量和矩阵的范数

    在python Numpy中求向量和矩阵的范数实例 np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=n ...

最新文章

  1. OBS集成WebRTC
  2. 【干货分享】如何应对线上数据库的误操作
  3. Win10系列:UWP界面布局基础4
  4. HighCharts点击柱形或饼块等加URL或Click事件
  5. MySQL的环境变量配置详细步骤
  6. tomcat日志详情
  7. 卸载VMware Server后,无法加载登录用户界面 #F#
  8. 有关 this 指向问题总结
  9. 拓端tecdat|python对网络图networkx进行社区检测和彩色绘图
  10. Java并发包学习--ReentrantLock
  11. vue项目实战(pc端)
  12. 2分钟搞定收货地址三级联动,数据易于维护,更新。
  13. VS配置永久OpenCV(小萌轻松操作):超细致
  14. vue元素显示隐藏 v-if 和 v-show 指令
  15. 【FreeRTOS】在Cortex-M4开发板上移植FreeRTOS并且实现LED灯闪烁(保姆级教程)
  16. 软件测试需要会python吗_真实揭秘90后职业新选择:25岁刚入行软件测试,竟拿到这么多薪资……...
  17. 尘埃落定!AI 大牛贾佳亚离开腾讯优图,创立思谋科技,投身差异化 AI 创业
  18. 系列解读Dropout
  19. 香港星光大道1月底重开 料成旅客“打卡”热门地
  20. Altium Designer 20 (5)——排针类元件创建

热门文章

  1. 在手机端访问pc服务器的方法
  2. 程序是虚幻的,点心是真实的20050425
  3. 看清接收网络数据包的全过程
  4. A股-入门-新手该如何成功选股
  5. 微信小程序识别二维码
  6. gif原理+gifsicle压缩gif
  7. linux OS与SQL修改时区,系统时间
  8. Thymeleaf介绍和基操(附截图和代码)
  9. 算法分析:大O符号/大Ω符号/大Θ符号/小o符号/小w符号
  10. 使用adb.exe禁止安卓手机app震动权限