numpy中矩陣乘法

 在Python的 Numpy模塊中有很多關於矩陣乘法的方法,其中重點是 矩陣的點乘和叉乘,需要區分出來。

 

矩陣的點乘

就是矩陣各個對應元素相乘, 這個時候要求兩個矩陣必須同樣大小
在 numpy 模塊中 矩陣點乘是通過  multiply 函數或 * 運算符來實現

 

import numpy as np
m = np.array([[1,2,3],[4,5,6]])

n= np.array([[1,2,3],[4,5,6]])

'''
m=
[[1, 2, 3],
[4, 5, 6]]

n=
[[1, 2, 3],
[4, 5, 6]]
'''

print( m*n)

'''
輸出:
[[ 1  4  9]
 [16 25 36]]
 '''

print(np.multiply(m,n))

'''
輸出:
[[ 1  4  9]
 [16 25 36]]
 '''

 

矩陣的叉乘

 

要獲得矩陣乘積,你可以使用 Numpy 的 matmul  函數 或者 dot函數。 此時要求前面矩陣的列數等於後面矩陣的行數

對於 matmul 函數 和 dot 函數 在二維矩陣乘法上結果相同,但是對於多維矩陣的結果 就不一定相同。

 

 a=np.array([[1,2,3],[4,5,6]])  # 2行 3列 

 b=np.array([[1,2],[3,4],[5,5]]) # 3行 2列


'''
a=

[[1, 2, 3],
 [4, 5, 6]]


b=

[[1, 2],
 [3, 4],
 [5, 5]]

'''




print(np.dot(a,b))




'''
輸出:

[[22, 25],
  [49, 58]]

'''



print(np.matmul(a,b))




'''

輸出:

[[22, 25],
  [49, 58]]

'''

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章