如何在Python中计算两个向量的点积?
在数学中,点积或也称为标量积是一种代数运算,它采用两个等长的数字序列并返回一个数字。让我们给定两个向量A和B,我们必须找到两个向量的点积。
鉴于,
和,
Where,
i: the unit vector along the x directions
j: the unit vector along the y directions
k: the unit vector along the z directions
然后点积计算为:
例子:
给定两个向量 A 和 B,
Python中两个向量的点积
Python提供了一种非常有效的方法来计算两个向量的点积。通过使用 NumPy 模块中可用的numpy.dot()方法,可以做到这一点。
Syntax:
numpy.dot(vector_a, vector_b, out = None)
Parameters:
vector_a: [array_like] if a is complex its complex conjugate is used for the calculation of the dot product.
vector_b: [array_like] if b is complex its complex conjugate is used for the calculation of the dot product.
out: [array, optional] output argument must be C-contiguous, and its dtype must be the dtype that would be returned for dot(a,b).
Return:
Dot Product of vectors a and b. if vector_a and vector_b are 1D, then scalar is returned
示例 1:
Python
# Python Program illustrating
# dot product of two vectors
# Importing numpy module
import numpy as np
# Taking two scalar values
a = 5
b = 7
# Calculating dot product using dot()
print(np.dot(a, b))
Python
# Python Program illustrating
# dot product of two vectors
# Importing numpy module
import numpy as np
# Taking two 1D array
a = 3 + 1j
b = 7 + 6j
# Calculating dot product using dot()
print(np.dot(a, b))
Python
# Python Program illustrating
# dot product of two vectors
# Importing numpy module
import numpy as np
# Taking two 2D array
# For 2-D arrays it is the matrix product
a = [[2, 1], [0, 3]]
b = [[1, 1], [3, 2]]
# Calculating dot product using dot()
print(np.dot(a, b))
Python
# Python Program illustrating
# dot product of two vectors
# Importing numpy module
import numpy as np
# Taking two 2D array
# For 2-D arrays it is the matrix product
a = [[2, 1], [0, 3]]
b = [[1, 1], [3, 2]]
# Calculating dot product using dot()
# Note that here I have taken dot(b, a)
# Instead of dot(a, b) and we are going to
# get a different output for the same vector value
print(np.dot(b, a))
输出:
35
示例 2:
Python
# Python Program illustrating
# dot product of two vectors
# Importing numpy module
import numpy as np
# Taking two 1D array
a = 3 + 1j
b = 7 + 6j
# Calculating dot product using dot()
print(np.dot(a, b))
输出:
(15+25j)
示例 3:
Python
# Python Program illustrating
# dot product of two vectors
# Importing numpy module
import numpy as np
# Taking two 2D array
# For 2-D arrays it is the matrix product
a = [[2, 1], [0, 3]]
b = [[1, 1], [3, 2]]
# Calculating dot product using dot()
print(np.dot(a, b))
输出:
[[5 4]
[9 6]]
示例 4:
Python
# Python Program illustrating
# dot product of two vectors
# Importing numpy module
import numpy as np
# Taking two 2D array
# For 2-D arrays it is the matrix product
a = [[2, 1], [0, 3]]
b = [[1, 1], [3, 2]]
# Calculating dot product using dot()
# Note that here I have taken dot(b, a)
# Instead of dot(a, b) and we are going to
# get a different output for the same vector value
print(np.dot(b, a))
输出:
[[2 4]
[6 9]]