當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy.vdot()用法及代碼示例


先決條件- python中的numpy.dot()
numpy.vdot(vector_a, vector_b) 返回向量a和b的點積。如果第一個參數是複數,則第一個參數的複共軛(這是vdot()不同的工作dot()方法)用於計算點積。它可以處理多維數組,但可以作為扁平數組處理。

參數-

  1. vector_a : [數組]如果a是複數,則將其複共軛用於點積的計算。
  2. vector_b : [數組]如果b是複數,則將其複共軛用於點積的計算。

返回-向量a和b的點積。


代碼1:

# Python Program illustrating 
# numpy.vdot() method 
  
import numpy as geek 
  
# 1D array 
vector_a = 2 + 3j
vector_b = 4 + 5j
  
product = geek.vdot(vector_a, vector_b) 
print("Dot Product  : ", product)

輸出:

Dot 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 Program illustrating 
# numpy.vdot() method 
  
import numpy as geek 
  
# 1D array 
vector_a = geek.array([[1, 4], [5, 6]]) 
vector_b = geek.array([[2, 4], [5, 2]]) 
  
product = geek.vdot(vector_a, vector_b) 
print("Dot Product  : ", product) 
  
product = geek.vdot(vector_b, vector_a) 
print("\nDot Product  : ", product) 
  
"""  
How Code 2 works :  
array is being flattened 
  
1 * 2 + 4 * 4 + 5 * 5 + 6 * 2 = 55 
"""

輸出:

Dot Product  :  55

Dot Product  :  55

參考文獻:
https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.vdot.html#numpy.vdot



相關用法


注:本文由純淨天空篩選整理自 numpy.vdot() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。