Numpy中數組的乘法
按照兩個相乘數組A和B的維度不同,分為以下乘法:
- 數字與一維/二維數組相乘;
- 一維數組與一維數組相乘;
- 二維數組與一維數組相乘;
- 二維數組與二維數組相乘;
numpy有以下乘法函數:
- *符號或者np.multiply:逐元素乘法,對應位置的元素相乘,要求shape相同
- @符號或者np.matmul:矩陣乘法,形狀要求滿足(n,k),(k,m)->(n,m)
- np.dot:點積乘法
解釋:點積,也叫內積,也叫數量積
兩個向量a = [a1, a2,…, an]和b = [b1, b2,…, bn]的點積定義為:
a·b=a1b1+a2b2+……+anbn。
在numpy中的一維數組可以看做是行向量也可以當做列向量
1. 數字與一維數組/二維數組相乘
一維數組
二維數組
2. 一維數組與一維數組相乘
逐元素乘法
點積/內積/數量積
3. 二維數組和一維數組相乘
逐元素乘法
為什么A是5行4列能和1行4列的矩陣B逐元素相乘呢?
因為numpy中的廣播將1行4列廣播成了5行4列,當運算中的 2 個數組的形狀不同時,numpy 將自動觸發廣播機制