110、對NumPy中dot()函式的理解

weixin_34413357發表於2017-12-18

        線性代數(如:矩陣乘法、矩陣分解、行列式以及其他方陣數學等)是任何陣列庫的重要組成部分。今天學習線性代數中有關矩陣點積的內容,使用dot函式實現。

dot()返回的是兩個陣列的點積(dot product)

1.如果處理的是一維陣列,則得到的是兩陣列的內積:

6626611-ec17e182ec84e239.png
圖片發自簡書App

即 20 = 1*4+2*3+3*2+4*1

2.如果是二維陣列(矩陣)之間的運算,則得到的是矩陣積(mastrix product):

6626611-5ece06dad622d770.png
圖片發自簡書App

        兩個陣列的點積演算法:所得到的陣列中的每個元素為,第一個矩陣中與該元素行號相同的元素與第二個矩陣與該元素列號相同的元素,兩兩相乘後再求和。

如:

6626611-46c9e248fb61dcff.png
圖片發自簡書App

        陣列中的結果58是由,陣列A中第1行元素與陣列B中第1列元素,兩兩相乘後求和得到

即:58 = 1*7+2*9+3*11,其他的以此類推。

numpy.linalg中有一組標準的矩陣分解運算以及諸如求逆和行列式之類的函式。

下面列出了一些常用的numpy.linalg函式:

6626611-58d927231e48098d.png
圖片發自簡書App

相關文章