numpy中數組(矩陣)的乘法


  我們知道在處理數據的時候,使用矩陣間的運算將會是方便直觀的。matlab有先天的優勢,算矩陣是它的專長。當然我們用python,經常要用到的可能是numpy這個強大的庫。

  矩陣有兩種乘法,點乘和對應項相乘(element-wise product)。在numpy中應該怎么實現呢,看看下面的例子就明白了。

## A = B = array([[1, 2],
##                [3, 4]])
>>>A = np.array([[1,2],[3,4]])
>>>B = np.array([[1,2],[3,4]])
>>>A@B
array([[ 7, 10],
       [15, 22]])
>>>np.dot(A,B)
array([[ 7, 10],
       [15, 22]])
>>>np.multiply(A,B)
array([[ 1,  4],
       [ 9, 16]])
>>>A*B
array([[ 1,  4],
       [ 9, 16]])

  結果一目了然:

  np.dot(A, B) = A@B = 點乘

  np.multiply(A, B) = A*B = 對應項相乘

  點乘要求前者的列數等於后者的行數,對應項相乘需要矩陣的形狀相同(或者說有矩陣的延拓情況?沒有試驗過)    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM