📜  Python中的numpy.vdot

📅  最后修改于: 2020-06-17 04:38:08             🧑  作者: Mango

先决条件– Python中的numpy.dot
numpy.vdot(vector_a, vector_b) 返回向量a和b的点积。如果第一个参数是复数,则将第一个参数的复共轭(这是方法的vdot()不同之处dot())用于点积的计算。它可以处理多维数组,但可以将其作为扁平数组进行处理。

参数:

  1. vector_a: [array_like]如果a是复数,则其复共轭用于计算点积。
  2. vector_b: [array_like]如果b是复数,则其复共轭用于点积的计算。

返回:向量a和b的点积。

代码1:

# Python程序说明numpy.vdot()方法 
  
import numpy as geek 
  
# 一维阵列 
vector_a = 2 + 3j
vector_b = 4 + 5j
  
product = geek.vdot(vector_a, vector_b) 
print("点积  : ", product)

输出:

点积 : (23-2j)

Code1如何工作?
vector_a = 2 + 3j
vector_b = 4 + 5j

按照方法,采用vector_a的共轭,即2 – 3j

现在点积= 2(4 – 5j)+ 3j(4 – 5j)
= 8 – 10j + 12j + 15
= 23 – 2j

 

代码2:

# Python程序说明numpy.vdot()方法 
  
import numpy as geek 
  
# 一维阵列 
vector_a = geek.array([[1, 4], [5, 6]]) 
vector_b = geek.array([[2, 4], [5, 2]]) 
  
product = geek.vdot(vector_a, vector_b) 
print("点积  : ", product) 
  
product = geek.vdot(vector_b, vector_a) 
print("\n点积  : ", product) 
  
"""  
代码2的工作原理:数组被展平 
  
1 * 2 + 4 * 4 + 5 * 5 + 6 * 2 = 55 
"""

输出:

点积  :  55

点积  :  55