numpy.vdot#
- numpy.vdot(a, b, /)#
傳回兩個向量的點積。
vdot
函數處理複數的方式與dot
不同:如果第一個參數是複數,則在點積計算中會以其複共軛取代。vdot
處理多維陣列的方式也與dot
不同:它不會執行矩陣乘積,而是在計算向量點積之前,先將參數展平為 1 維陣列。因此,當參數是相同形狀的 2 維陣列時,此函數實際上會傳回它們的 Frobenius 內積(也稱為跡內積或矩陣向量空間上的標準內積)。
- 參數:
- aarray_like
如果 a 是複數,則在計算點積之前會取其複共軛。
- barray_like
點積的第二個參數。
- 傳回值:
- outputndarray
a 和 b 的點積。可以是整數、浮點數或複數,取決於 a 和 b 的類型。
另請參閱
dot
傳回點積,但不使用第一個參數的複共軛。
範例
>>> import numpy as np >>> a = np.array([1+2j,3+4j]) >>> b = np.array([5+6j,7+8j]) >>> np.vdot(a, b) (70-8j) >>> np.vdot(b, a) (70+8j)
請注意,更高維度的陣列會被展平!
>>> a = np.array([[1, 4], [5, 6]]) >>> b = np.array([[4, 1], [2, 2]]) >>> np.vdot(a, b) 30 >>> np.vdot(b, a) 30 >>> 1*4 + 4*1 + 5*2 + 6*2 30