3.1 KiB
Python 中如何计算点积?
原文:https://www.askpython.com/python-modules/numpy/dot-product
你好,初学者!在本文中,我们将看到 python 代码来寻找任何给定量的点积,比如向量或数组。Python 编程语言提供了几种方法来实现这一点,下面将讨论其中一些方法。
什么是点积?
首先,让我们了解一下“点积”
在数学中,点积(有时称为标量积)是一种代数运算,它从两个等长的数字序列中返回一个值。
这个单一值计算为两个序列中相应元素的乘积之和。这些序列可能是一维向量、多维向量或简单的数字。
让我们举个例子来理解这一点:
假设,两个向量 A 和 B 是二维数组
A = [ [1 2 ] [3 4] ],B = [ [5 6] [7 8] ]
然后, A.B 给出为
[ [ 19 22] [ 43 50] ]
这计算为(1 * 5)+(2 * 7))((1 * 6)+(2 * 8))][((3 * 5)+(4 * 7))((3 * 6)+(4 * 8))
查找点积的 Python 代码
Python 提供了一种寻找两个序列的点积的有效方法,这就是 numpy 库的 numpy.dot() 方法。
Numpy.dot()是一种方法,它将两个序列作为参数,无论是向量还是多维数组,并打印结果,即点积。要使用这个方法,我们必须导入 python 的 numpy 库。让我们看几个例子:
示例 1:标量的点积
在本例中,我们将采用两个标量值,并使用 numpy.dot()打印它们的点积。
两个标量的点积是通过简单的相乘得到的。
比如说,两个标量 A = 7,B = 6,那么 A.B = 42
#importing numpy library
import numpy as np
#Taking two scalars
a = 3
b = 8
#calculating dot product using dot()
print("The dot product of given scalars = a.b =",np.dot(a,b))
上述代码的输出是:
The dot product of given scalars = a.b = 24
示例 2:数组的点积
这里,我们将采用两个数组。这些数组可以是一维、二维或多维的。在 dot()的帮助下,我们将计算它们的点积。我们正在考虑点积的两个二维数组。
二维数组的点积通过矩阵乘法来计算。
#importing numpy library
import numpy as np
#Taking two 2-D arrays
a = [ [1, 2], [3, 4]]
b = [ [7, 6], [5, 4]]
#calculating dot product using dot()
print("The dot product of given arrays :")
np.dot(a,b))
输出是:
The dot product of given arrays :
array( [ [17, 14],
[41, 34] ] )
注:
对于二维或多维数组,点积*不可换。*即 a.b 不等于 b.a 例 2 中,我们把点积算成了 a.b,而不是 b.a,这样会给出完全不同的结果。
结论
那么,Python 中计算点积不是很简单吗?有了可用的功能,当然是了。这是我的观点。我希望你理解了这篇文章。更多此类文章,敬请关注 https://www.askpython.com/
在那之前,学习愉快!🙂