当前位置: 首页 > 编程笔记 >

对python中的乘法dot和对应分量相乘multiply详解

严项明
2023-03-14
本文向大家介绍对python中的乘法dot和对应分量相乘multiply详解,包括了对python中的乘法dot和对应分量相乘multiply详解的使用技巧和注意事项,需要的朋友参考一下

向量点乘 (dot) 和对应分量相乘 (multiply) :

>>> a
array([1, 2, 3])
>>> b
array([ 1., 1., 1.])
>>> np.multiply(a,b)
array([ 1., 2., 3.])
>>> np.dot(a,b)
6.0

矩阵乘法 (dot) 和对应分量相乘 (multiply) :

>>> c
matrix([[1, 2, 3]])
>>> d
matrix([[ 1., 1., 1.]])
>>> np.multiply(c,d)
matrix([[ 1., 2., 3.]])
>>> np.dot(c,d)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: shapes (1,3) and (1,3) not aligned: 3 (dim 1) != 1 (dim 0)

写代码过程中,*表示对应分量相乘 (multiply) :

>>> a*b
array([ 1., 2., 3.])
>>> c*d
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\matrixlib\defmatrix.py", line 343, in __mul__
  return N.dot(self, asmatrix(other))
ValueError: shapes (1,3) and (1,3) not aligned: 3 (dim 1) != 1 (dim 0)

以上这篇对python中的乘法dot和对应分量相乘multiply详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 我最近使用了Python 3.5,注意到新的矩阵乘法运算符(@)有时与numpy点运算符的行为不同。例如,对于3D数组:

  • 本文向大家介绍Python 实现两个列表里元素对应相乘的方法,包括了Python 实现两个列表里元素对应相乘的方法的使用技巧和注意事项,需要的朋友参考一下 方法一: 结合zip函数,使用map函数: 方法二: 把列表转化为数组,使用np.multiply函数 以上这篇Python 实现两个列表里元素对应相乘的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我试图乘以两个块对称矩阵(矩阵大小矩阵大小)。我想执行块矩阵乘法(将一个矩阵分成多个块大小矩阵,并将相应的块相乘)。我已经写了一些代码,但想改进它,并存储主对角线以上的块,但我没有任何想法。如果可能的话,你们能帮忙吗?

  • 本文向大家介绍python的几种矩阵相乘的公式详解,包括了python的几种矩阵相乘的公式详解的使用技巧和注意事项,需要的朋友参考一下 1. 同线性代数中矩阵乘法的定义: np.dot() np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。见如下Python代码: 结果如下: 2. 对应元素相乘 element-wise p

  • 问题内容: 有人知道有关此行为的文档吗? diff.max()接近机器精度 的非零值 ,例如4.4e-16。 这个(0的差异)通常很好…在有限精度的世界中,我们不应感到惊讶。 而且,我猜想numpy在对称产品方面很聪明,可以节省翻牌并确保对称输出… 但是我处理的是混乱的系统, 调试 时这种小的差异很快就变得很明显。所以我想确切地知道发生了什么。 问题答案: 此行为是在请求请求#6932中为NumP

  • 问题内容: 问题: 生成大型二进制字符串(长度超过2000)。快速执行此操作,因为此generateRandom()函数在算法中将被调用300,000次。 尝试的解决方案: 生成3或4个二进制数并将它们加在一起500次。这太慢了。 一次调用random.random()并将其乘以一个巨大的数字。一次转换为二进制并完成。这适用于较小的数字,但是因为二进制字符串必须具有一定的长度,所以要转换为二进制的