Numpy中數組的乘法


Numpy中數組的乘法

按照兩個相乘數組A和B的維度不同,分為以下乘法:

  1. 數字與一維/二維數組相乘;
  2. 一維數組與一維數組相乘;
  3. 二維數組與一維數組相乘;
  4. 二維數組與二維數組相乘;

numpy有以下乘法函數:

  1. *符號或者np.multiply:逐元素乘法,對應位置的元素相乘,要求shape相同
  2. @符號或者np.matmul:矩陣乘法,形狀要求滿足(n,k),(k,m)->(n,m)
  3. 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 將自動觸發廣播機制

 Numpy中重要的廣播概念

矩陣乘法

4. A和B都是二維數組,實現矩陣乘法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM