性夜影院午夜看片,无码精品久久一区二区三区,婷婷成人丁香五月综合激情,校园春色 qvod,性调教室高h学校

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

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

1. np.multiply

對(duì) array 和 matrix 對(duì)象的操作相同

(1) a 和 b 維度相同

都是每行對(duì)應(yīng)元素相乘(即對(duì)應(yīng)內(nèi)積的第一步,不求和)

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

>>> a*a

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

[1, 4]])

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

對(duì)列擴(kuò)充則補(bǔ) 1, 對(duì)行擴(kuò)充則將第一行復(fù)制到每一行。比如,a:3 * 1, b: 1 * 2,則 a 擴(kuò)充為 3 * 2,b 擴(kuò)充為 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為標(biāo)量:則標(biāo)量直接相乘

2. *

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

(2)對(duì)于array對(duì)象,則是每行對(duì)應(yīng)元素相乘。當(dāng) array 對(duì)象的 shape 不同時(shí)(matrix 對(duì)象不行) ,其規(guī)則和 p.multiply 一樣;

3. np.matmul

該函數(shù)對(duì) array 和 matrix 對(duì)象的操作是不一樣的。

(1)對(duì)于 matrix 對(duì)象,對(duì)應(yīng)矩陣乘法,對(duì)象維度必須滿足矩陣乘法規(guī)則。

(2)對(duì)于 array 對(duì)象,對(duì)應(yīng)內(nèi)積,但對(duì)象維度必須相同,不支持維度擴(kuò)展。

(3)不支持標(biāo)量運(yùn)算。

在array 中,與 multiply 一樣,每行對(duì)應(yīng)元素相乘

4. np.dot

對(duì)于matrix 對(duì)象,對(duì)應(yīng)矩陣乘法。

對(duì)于兩個(gè) array 類型的元素:a,b,有如下可能:

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

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

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

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

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

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

>>>np.dot(a, b)

>>>array([ 5, 11])

好啦!今天的分享到這里就結(jié)束了,希望大家能夠持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量優(yōu)質(zhì)內(nèi)容與大家分享歐!版權(quán)聲明:轉(zhuǎn)載文章來自公開網(wǎng)絡(luò),版權(quán)歸作者本人所有,推送文章除非無法確認(rèn),我們都會(huì)注明作者和來源。如果出處有誤或侵犯到原作者權(quán)益,請(qǐng)與我們聯(lián)系刪除或授權(quán)事宜。

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!