对NumPy中dot()函数的理解(亲测,矩阵算法)
今天學(xué)習(xí)到numpy基本的運算方法,遇到了一個讓我比較難理解的問題。就是dot函數(shù)是如何對矩陣進行運算的。
一、dot()的使用
參考文檔:https://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html
dot()返回的是兩個數(shù)組的點積(dot product)
1.如果處理的是一維數(shù)組,則得到的是兩數(shù)組的內(nèi)積(順便去補一下數(shù)學(xué)知識)
In : d = np.arange(0,9) Out: array([0, 1, 2, 3, 4, 5, 6, 7, 8]) In : e = d[::-1] Out: array([8, 7, 6, 5, 4, 3, 2, 1, 0])In : np.dot(d,e) Out: 842.如果是二維數(shù)組(矩陣)之間的運算,則得到的是矩陣積(mastrix?product)。
In : a = np.arange(1,5).reshape(2,2)
Out:
array([[1, 2],
? ? ? ?[3, 4]])
In : b = np.arange(5,9).reshape(2,2)
Out: array([[5, 6],
? ? ? ? ? ? [7, 8]])
In : np.dot(a,b)
Out:
array([[19, 22],
? ? ? ?[43, 50]])
所得到的數(shù)組中的每個元素為,第一個矩陣中與該元素行號相同的元素與第二個矩陣與該元素列號相同的元素,兩兩相乘后再求和。
這句話有點難理解,但是這句話里面沒有哪個字是多余的。結(jié)合下圖理解這句話。
3.dot()函數(shù)可以通過numpy庫調(diào)用,也可以由數(shù)組實例對象進行調(diào)用。a.dot(b)?與?np.dot(a,b)效果相同。
矩陣積計算不遵循交換律,np.dot(a,b)?和 np.dot(b,a)?得到的結(jié)果是不一樣的。
來源:https://www.cnblogs.com/luhuan/p/7925790.html
總結(jié)
以上是生活随笔為你收集整理的对NumPy中dot()函数的理解(亲测,矩阵算法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 起个好听的微信名字
- 下一篇: 改名字可以改多少次 改名字能改几次