天天看點

Python的NumPy庫中dot()函數詳解

Python的NumPy庫中dot()函數詳解

1、NumPy庫中dot()函數文法定義:

import numpy as np
np.dot(a, b, out=None)  #該函數的作用是擷取兩個元素a,b的乘積.
           

2、前面講過數組的運算是元素級的,數組相乘的結果是各對應元素的積組成的數組,而對于矩陣而言,需要求的是點積,這裡NumPy庫提供了用于矩陣乘法的dot函數。在jupyter notebook中執行的代碼運算如下:

Python的NumPy庫中dot()函數詳解

 dot函數的運算總代碼顯示如下

 3、這樣的多元數組矩陣運算,通過Python代碼來實作倒是挺友善的,但是,通過我們人眼看起來,對于剛入門的朋友來說,可能會很吃力,或者不清楚該結果是怎麼實作的,接下來,我給大家一一介紹一下運算過程。

4、如下單個數的dot函數運算所示:

Python的NumPy庫中dot()函數詳解
np.dot(5,8)
40
           

5、如下一維數組的dot函數運算所示:

Python的NumPy庫中dot()函數詳解
Python的NumPy庫中dot()函數詳解

 一維數組的代碼案例如下

利用表格計算法來解釋上面的一維數組乘積的結果計算過程如下表1,表2,所示:

Python的NumPy庫中dot()函數詳解

        

Python的NumPy庫中dot()函數詳解

          表 1                                         表 2

通過上表中的計算過程顯示,是不是很快就能清楚,矩陣之間的運算。進而快速了解運算結果的由來。

6、如下二維數組的dot函數運算所示:

二維數組矩陣之間的dot函數運算得到的乘積是矩陣乘積

Python的NumPy庫中dot()函數詳解
Python的NumPy庫中dot()函數詳解

 二維數組的代碼案例如下

利用表格計算法來解釋上面的,二維數組乘積的結果計算過程如下表3,所示:

Python的NumPy庫中dot()函數詳解

                表 3

7、如下二維數組與三維數組的dot函數運算:

Python的NumPy庫中dot()函數詳解
Python的NumPy庫中dot()函數詳解

 二維數組與三維數組的運算案例代碼如下

 利用表格計算法來解釋上面的,二維數組與三維數組的矩陣乘積的結果計算過程如下表4,所示:

Python的NumPy庫中dot()函數詳解

                      表 4

8、如下多元數組的dot函數運算所示:

Python的NumPy庫中dot()函數詳解

 多元數組的代碼運算如下

 利用表格計算法來解釋上面的,多元數組的矩陣乘積的結果計算過程如下表5,表6,表7所示: 

Python的NumPy庫中dot()函數詳解
Python的NumPy庫中dot()函數詳解

                  表 5                                        表 6

                        

Python的NumPy庫中dot()函數詳解

                                      表 7 

9、dot()函數可以通過NumPy庫調用,也可以由數組執行個體對象進行調用。例如:a.dot(b) 與 np.dot(a,b)效果相同。但矩陣積計算不遵循交換律,np.dot(a,b) 和 np.dot(b,a) 得到的結果是不一樣的。