日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3 numpy中矩阵np.dot(a,b)乘法运算

發布時間:2024/7/5 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3 numpy中矩阵np.dot(a,b)乘法运算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python np.dot(a,b)乘法運算

首先我們知道矩陣運算是不滿足交換律的,np.dot(a, b)與np.dot(b, a)是不一樣的
另外np.dot(a,b)和a.dot(b)果是一樣的

1.numpy中數組(矩陣)相乘np.dot(a,b)運算:

對于兩數組a和b :
示例一:

a = np.array([[3], [3], [3]]) # (3,1) b = np.array([2, 2, 1]) # (3,)print(a, "\na的shape", a.shape) print(b, "\nb的shape", b.shape) c = b.dot(a) print(c, "\nc的shape", c.shape)

輸出:

[3][3]] a的shape (3, 1) [2 2 1] b的shape (3,) [15] c的shape (1,)

示例二:

a = np.array([[2,2,2,1],[3,3,3,1],[4,4,4,4]]) # shape=(3,4) b = np.array([[1,1,1],[2,2,2],[3,3,3],[4,4,4]]) # shape=(4,3)

可以直接看他們的shape:a的shape為(3, 4)設為(m, n);b的shape為(4, 3)設為(x, y)
對于上面兩個數組a,b:
np.dot(a,b)的運算條件為:n==x,如果a的shape變為(4, 3)則兩則無法dot

  • 簡單來說規律就是:如果a.shape=(m,n),b.shape=(x,y)那么**np.dot(a,b)**的運算條件為:n=x (這一點用于在python理解和快速判斷數組的shape是否用對了)
  • 實際上數組運算的規律將兩個數組畫出來,是這樣的:

    也就是矩陣的乘法運算

2.np.dot(a,b)運算之后的結果解析

規律:dot之后會將兩組數組中相等的(符合dot條件的)維度消掉,得到剩下的維度組合成新的數組,如果剩下只有一個維度則為行(對應一維),列是無
對于a.shape=(m,n),b.shape=(x,y)
dot之后n和x會消掉,結果shape變成(m,y)
如果n為1(或者空),shape變為(y,)
e.g1:

a = np.array([1,1,1]) # shape=(3,) b = np.array([[3],[3],[3]]) # shape=(3,1)print(np.dot(a,b)) print("dot之后的shape為:", np.dot(a,b).shape)

那么,3和3消掉,剩下只有一個數1,對應1行沒有列==>(1,)
運算結果:
[9]
dot之后的shape為:(1,)

e.g2:

a.shape=(4,1) b.shape=(1,4)

那么( 1和1消掉,剩下(4,4) )
np.dot(a,b)的shape為(4,4)

總結

以上是生活随笔為你收集整理的python3 numpy中矩阵np.dot(a,b)乘法运算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。