热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python3numpy中矩阵np.dot(a,b)乘法运算原创

原标题:python3numpy中矩阵np.dot(a,b)乘法运算原创pythonnp.dot(a,b)乘法运算

原标题:python3 numpy中矩阵np.dot(a,b)乘法运算
原创


python np.dot(a,b)乘法运算

首先我们知道矩阵运算是不满足交换律的,np.dot(a, b)与np.dot(b, a)是不一样的
另外np.dot(a,b)和a.dot(b)果是一样的


1.numpy中数组(矩阵)相乘np.dot(a,b)运算:

对于两数组a和b :
示例一:

a = np.array([[3], [3], [3]]) # (3,1)
b = np.array([2, 2, 文章来源站点https://www.yii666.com/1]) # (3,)
print(a, "\na的shape", a.shape)
print(b, "\nb的shape", b.shape)
c = b.dot(a)
print(c, "\nc的shape", c.shape)

输出:

[3]
[3]]
a的shape (3, 1)
[2 2 1]
b的shape (3,)
[15]
c的shape (1,)

示例二:

a = np.array([[2,2,2,1],[3,3,3,1],[4,4,4,4]]) # shape=(3,4)
b = www.yii666.comnp.array([[1,1,1],[2,2,2],[3,3,3],[4,4,4]]) # shape=(4,3)

可以直接看他们的shape:a的shape为(3, 4)设为(m, n);b的shape为(4, 3)设为(x, y)
对于上面两个数组a,b:
np.dot(a,b)的运算条件为:n==x,如果a的shape变为(4, 3)则两则无法dot


  • 简单来说规律就是:如果a.shape=(m,n),b.shape=(x,y)那么**np.dot(a,b)**的运算条件为:n=x (这一点用于在python理解和快速判断数组的shape是否用对了)


  • 实际上数组运算的规律将两个数组画出来,是这样的:
    在这里插入图片描述
    也就是矩阵的乘法运算



2.np.dot(a,b)运算之后的结果解析

规律:dot之后会将两组数组中相等的(符合dot条件的)维度消掉,得到剩下的维度组合成新的数组,如果剩下只有一个维度则为行(对应一维),列是无
对于a.shape=(m,n),b.shape=(x,y)
dot之后n和x会消掉,结果shape变成(m,y)
如果n为1www.yii666.com(或者空),shape变为(y,)
e.g1:

a = np.array([1,1,1]) # shape=(3,)
b = np.array([[3],[3],[3]]) # shape=(3,1)
print(np.dot(a,b))
print("dot之后的shape为:", np.dot(a,b).shape)

那么,3和3消掉,剩下只有一文章来源地址39020.html个数1文章来源地址39020.html,对应1行没有列==>(1,)
运算结果:
[9]
dot之后的shape为:(1,)

e.g2:

a.shape=(4,1)
b.shape=(1,4)

那么( 1和1消掉,剩下(4,4) )
np.dot(a,b)的shape为(4,4)

来源于:python3 numpy中矩阵np.dot(a,b)乘法运算
原创


推荐阅读
  • 直击热门考点——结构体内存对齐
    原标题:直击热门考点——结构体内存对齐文章目录前言一、引例 ... [详细]
  • 原标题:Python中numpy.power()函数介绍Python中numpy.power()函数介绍power(x,y)函数, ... [详细]
  • 20210921c++ 继承,虚继承(内存结构)
    原标题:2021-09-21c++继承,虚继承(内存结构)普通的公有继承 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • java.lang.Class.getDeclaredMethod()方法java.lang.Class.getDeclaredMethod()方法用法实例教程-方法返回一个Met ... [详细]
  • 以数据驱动品牌,为出海强势护航
                    原创
    原标题:以数 ... [详细]
  • 智商狂飙,问了ChatGPT几个数据库问题后,我的眼镜掉了
    原标题:智商狂飙,问了ChatGPT几个数据库问题后,我的眼镜掉了最近,ChatGPT火爆全网,介绍其产品、公司、作者、技术和应用等方面信息,占据着整个互联网,似乎不谈GPT好像 ... [详细]
  • JavaScript实现拖动对话框效果
    原标题:JavaScript实现拖动对话框效果代码实现:<!DOCTYPEhtml><htmllan ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 给定一个二维平面上的一些点,通过计算曼哈顿距离,求连接所有点的最小总费用。只有任意两点之间有且仅有一条简单路径时,才认为所有点都已连接。给出了几个示例并给出了对应的输出。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
author-avatar
大--Man_815
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有