博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
numpy中dot与*的区别
阅读量:6584 次
发布时间:2019-06-24

本文共 677 字,大约阅读时间需要 2 分钟。

dot是矩阵相乘,只要矩阵满足前一个矩阵的列与后一个矩阵的行相匹配即可

*是遵循numpy中的广播机制,必须保证行列相对应才可以进行运算

先看一则正例

>>import numpy as np#test1与test2行列相同>>test1 = np.array([[1,2],[3,4]])>>test2 = np.array([[3,3],[2,2]])>>test1 * test2array([[3, 6],       [6, 8]])>>np.dot(test1,test2)array([[ 7,  7],       [17, 17]])

再看一则反例

#test3与test4行列数不相同>>test3 = np.array([[1,2],[2,3]])>>test4 = np.array([[2,3,4],[4,5,6]])>>test3*test4Traceback (most recent call last):  File "", line 1, in 
ValueError: operands could not be broadcast together with shapes (2,2) (2,3) >>np.dot(test3,test4)array([[10, 13, 16], [16, 21, 26]])

很明显,错误信息是由于test3中的(2,2)与test4(2,3)行列不匹配,故不可以进行*运算,而dot则可以因为test3中的列2 = test4中的行2

转载地址:http://kvano.baihongyu.com/

你可能感兴趣的文章
关于时区的时间的详解,比如UTC\GMT等
查看>>
C#实现的三种方式实现模拟键盘按键
查看>>
洛谷P3327 [SDOI2015]约数个数和(莫比乌斯反演)
查看>>
java 堆和栈一般理解
查看>>
解决PLSQL Developer 插入中文 乱码问题(转)
查看>>
使用 SVN Hook 实现服务器端代码自动更新
查看>>
最炫数学风
查看>>
python 高阶函数 map lambda filter等
查看>>
windows管理员利器之用Log Parser Studio分析IIS日志(附逐浪CMS官方命令集)
查看>>
SpringMVC之HandlerMapping的使用
查看>>
扩展Microsoft Graph数据结构 - 架构扩展
查看>>
ubuntu14.04 安装 搜狗输入法
查看>>
黄聪:visual studio 2017编译运行出现脚本发生错误等问题如何解决?
查看>>
【Windows】Dos中的日期的和时间
查看>>
mongodb学习笔记
查看>>
Java虚拟机(Java Virtual Machine)
查看>>
java泛型的作用和好处
查看>>
amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules
查看>>
kernel: swapper: page allocation failure. order:1, mode:0x20
查看>>
Oracle VM VirtualBox各种显示模式切换 热键
查看>>