久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

Python中什么是詳解矩陣乘法?

今天大家一起了解一下Python中什么是詳解矩陣乘法!python 矩陣有兩種形式:array 和 matrix 對象(它們的區別在這里就不說了),下面介紹相關乘法

1. np.multiply

對 array 和 matrix 對象的操作相同

(1) a 和 b 維度相同

都是每行對應元素相乘(即對應內積的第一步,不求和)

>>> a = np.array([[1,2],[1,2]])

>>> a*a

>>> array([[1, 4],

[1, 4]])

(2)對于兩個矩陣元素 a 和 b 維度不一的情況(array 和 matrix 對象都適用),則需將相應的行和列進行擴充,需要擴充的行或列的維度必須為 1。

對列擴充則補 1, 對行擴充則將第一行復制到每一行。比如,a:3 * 1, b: 1 * 2,則 a 擴充為 3 * 2,b 擴充為 3 * 2。

如下所示:

>>> a = np.array([[1],[1],[1]])

>>> b = np.array([1,2])

>>> np.multiply(a, b)

>>> array([[1, 2],

[1, 2],

[1, 2]])

(3)a 和 b為標量:則標量直接相乘

2. *

(1)對于 matrix 對象,代表矩陣乘法(維度必須滿足相應規則);

(2)對于array對象,則是每行對應元素相乘。當 array 對象的 shape 不同時(matrix 對象不行) ,其規則和 p.multiply 一樣;

3. np.matmul

該函數對 array 和 matrix 對象的操作是不一樣的。

(1)對于 matrix 對象,對應矩陣乘法,對象維度必須滿足矩陣乘法規則。

(2)對于 array 對象,對應內積,但對象維度必須相同,不支持維度擴展。

(3)不支持標量運算。

在array 中,與 multiply 一樣,每行對應元素相乘

4. np.dot

對于matrix 對象,對應矩陣乘法。

對于兩個 array 類型的元素:a,b,有如下可能:

(1)a 和 b 都是一維 array,那么 dot 就是它們的內積(點乘);

(2)a 和 b 都是二維 array,那么 dot 就是它們的矩陣乘積(即按矩陣乘法規則來計算),也可以用 matmul 或 a @ b;

(3)如果a 和 b 都是標量(scalar),那么 dot 就是兩個數的乘積,也可以用 multiply 或 a * b;

(4)若 a:N * D,b:1 * D,那么 dot 為 a 的每一行和 b (只有一行)的 內積;

>>>a = np.array([[1,2], [3, 4]])

>>>b = np.array([1, 2])

>>>np.dot(a, b)

>>>array([ 5, 11])

好啦!今天的分享到這里就結束了,希望大家能夠持續關注馬哥教育官網,每天都會有大量優質內容與大家分享歐!版權聲明:轉載文章來自公開網絡,版權歸作者本人所有,推送文章除非無法確認,我們都會注明作者和來源。如果出處有誤或侵犯到原作者權益,請與我們聯系刪除或授權事宜。

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 科尔| 青浦区| 固安县| 宜宾县| 兴国县| 堆龙德庆县| 新余市| 平顶山市| 江西省| 大庆市| 论坛| 渝北区| 余干县| 临潭县| 松潘县| 长宁区| 南部县| 孝昌县| 盱眙县| 平远县| 贡觉县| 满城县| 石家庄市| 通榆县| 西昌市| 沈丘县| 济南市| 阿拉善右旗| 巩义市| 蛟河市| 彰化市| 梅州市| 德惠市| 儋州市| 万荣县| 东明县| 田林县| 涪陵区| 呈贡县| 宁蒗| 广平县|