如何在Python中计算点积?

468 阅读2分钟

学员你好!在这篇文章中,我们将看到寻找任何给定数量的点积的python代码,例如向量或数组。Python编程语言提供了几种方法来实现这一目标,下面将讨论其中一些方法。

什么是点积?

首先,让我们了解一下 "点积"。

在数学中,点积(有时被称为标量积)是一种代数运算,从两个等长的数字序列中返回一个单一的值。

这个单一的值被计算为两个序列中相应元素的乘积之和。这些序列可能是单维向量、多维向量,或者只是数字。

让我们举个例子来理解这个问题:

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 中计算点积不是很简单吗?有了可用的函数,当然很简单。这就是我的观点。我希望你能理解这篇文章。

到那时,祝你学习愉快! 🙂