的產品,我理解numpy的點功能背後的工作有一個問題,broadcasting.Below是片斷我想了解Np個陣列點矢量和陣列
a=np.array([[1,2],[3,5]])
如果我們檢查的形狀一個 a.shape
的將是(2,2)
b=np.array([3,6])
和b.shape is (2,)
問題1:是b
列向量或行向量?在提供輸入時,似乎b
是行向量,但隨後形狀將其顯示爲具有2行的列向量。在我的理解中,錯誤是什麼?
現在如果做 a.dot(b)
它導致 array([15,39])
問題2:按矩陣乘法如果a
是m*n
然後b
必須n*k
並且由於a
是2 * 2然後b
必須是2 * 1。這是否證實b
是列向量,否則如果它是行向量,則不可能進行矩陣乘法,但點積的輸出確實給出根據矩陣乘法的值,考慮b
作爲列向量並將其廣播
現在b.dot(a)
也可以在 array([21,36])
和 這個吹我mind.How他們在檢查矩陣乘法矢量的兼容性以及他們是如何計算的結果嗎? 在至少一個場景中,它們必須拋出乘法的不兼容維度的錯誤。但它沒有顯示,它們正在計算兩種情況下的結果。
一個= np.array([[1,2],[3,5 ])這必須是a = np.array([[1,2],[3,5]])。陣列產品和矩陣產品是不同的。我建議你通過差異 – LethalProgrammer