編程速記(30):Python篇-矩陣乘法與除法&逐元素乘除

一、需求

實現矩陣乘法與除法。本篇blog主要是針對基於numpy實現的矩陣乘法與除法。

二、矩陣乘法

方式一:np.dot

定義兩個多維數組,滿足矩陣乘法規則,直接調用即可。

# np.dot 
import numpy as np 
a  = np.ones([2,3])
b = np.zeros([3,5])
print(np.dot(a,b))

方式二:基於np.mat

import numpy as np 
a  = np.mat(np.ones([2,3]))
b = np.mat(np.zeros([3,5]))
print(a*b)

注意:如果是np.array直接相乘的話是逐元素的進行的,這裏顯然會報錯,而且也不符合矩陣乘法。

三、矩陣除法

所謂矩陣除法A/B,其實就是矩陣A與矩陣B的逆矩陣B.I的乘法。因此需要藉助np.mat來處理

import numpy as np 
a  = np.asmatrix(np.ones([2,3]))
b = np.asmatrix(np.ones([3,3]))
b[1,1] = 5
b[0,2]=3
b[2,2] = 2
print(b)
print(a,b.I)

四、關於直接乘與直接除

對於np.array來說,直接乘除都是逐元素的
對於np.matrx來說,直接乘除都是按照矩陣乘除來做的。

a  = np.ones([2,3])
b = np.zeros([2,3])
print(a*b)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章