numpy中dot與*的區別
dot是矩陣相乘,只要矩陣滿足前一個矩陣的列與後一個矩陣的行相匹配即可
*是遵循numpy中的廣播機制,必須保證行列相對應才可以進行運算
先看一則正例
>>import numpy as np
#test1與test2行列相同
>>test1 = np.array([[1,2],[3,4]])
>>test2 = np.array([[3,3],[2,2]])
>>test1 * test2
array([[3, 6],
[6, 8]])
>>np.dot(test1,test2)
array([[ 7, 7],
[17, 17]])
再看一則反例
#test3與test4行列數不相同
>>test3 = np.array([[1,2],[2,3]])
>>test4 = np.array([[2,3,4],[4,5,6]])
>>test3*test4
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: operands could not be broadcast together with shapes (2,2) (2,3)
>>np.dot(test3,test4)
array([[10, 13, 16],
[16, 21, 26]])
很明顯,錯誤資訊是由於test3中的(2,2)與test4(2,3)行列不匹配,故不可以進行*運算,而dot則可以因為test3中的列2 = test4中的行2
相關文章
- numpy 中np.array 與 np.ndarry的區別
- Numpy中reshape和resize的區別
- numpy中np.array()與np.asarray的區別以及.tolist
- 淺談Numpy中的shape、reshape函式的區別函式
- Javascript中“==”與“===”的區別JavaScript
- Python中 ‘==‘ 與‘is‘的區別Python
- Python學習之Pandas和Numpy的區別!Python
- Java中(==)與equals的區別Java
- 簡述 Python 的 Numpy、SciPy、Pandas、Matplotlib 的區別Python
- Python的向量和矩陣乘法意義大全包括dot和*的區別(2020)Python矩陣
- js中 let 與 var 的區別JS
- vue中sass與SCSS的區別VueCSS
- js中!和!!的區別與用法JS
- JavaScript 中substr與 substring 的區別JavaScript
- Vue 中ref()與 reactive() 的區別VueReact
- spring中的FactoryBean與ObjectFactory的區別SpringBeanObject
- Java中類與物件的關係與區別Java物件
- vue中 lang="ts"與js的區別VueJS
- StringUtils類中isEmpty與isBlank的區別
- Vue的mode中 hash 與 history 的區別Vue
- ??與?:的區別
- 什麼是NumPy?Python中NumPy資料型別有哪些?Python資料型別
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- JPA中PersistenceUnit與PersistenceContext區別Context
- devexpress中 cxTreeList 與 cxVirtualTreeList 區別devExpress
- Java中replace與replaceAll區別Java
- jQuery中onload與ready區別jQuery
- 我是如何與“DOT”產生“感情”的?
- Node中Exports與module.export的使用與區別Export
- 資料庫中where與having的區別資料庫
- sklearn 中fit_tansform 與 transform的區別ORM
- Python中eval與exec的使用及區別Python
- Spring中ref local=""與ref bean=""的區別SpringBean
- springdatajpa 中get××方法與find××方法的區別Spring
- Linux中檔案與目錄的區別Linux
- table中cesllspacing與cellpadding的區別詳解padding
- CSS中 offsetLeft 與style.left 的區別CSS
- CSS中的class與id區別及用法CSS
- JavaScript中apply、call、bind的區別與用法JavaScriptAPP