numpy 陣列 矩陣乘法運算

2021-08-21 09:44:10 字數 2207 閱讀 9082

為了區分三種乘法運算的規則,具體分析如下:

import numpy as np
函式作用

陣列和矩陣對應位置相乘,輸出與相乘陣列/矩陣的大小一致

1.1陣列場景

a = np.arange(1,5).reshape(2,2)

a

array([[1, 2],

[3, 4]])

b = np.arange(0,4).reshape(2,2)

b

array([[0, 1],

[2, 3]])

np.multiply(a,b)       #陣列對應元素位置相乘
array([[ 0,  2],

[ 6, 12]])

1.2 矩陣場景

np.multiply(np.mat(a),np.mat(b))     #矩陣對應元素位置相乘,利用np.mat()將陣列轉換為矩陣
matrix([[ 0,  2],

[ 6, 12]])

np.sum(np.multiply(np.mat(a),np.mat(b)))    #輸出為標量
20
函式作用

對於秩為1的陣列,執行對應位置相乘,然後再相加;

對於秩不為1的二維陣列,執行矩陣乘法運算;超過二維的可以參考numpy庫介紹。

a = np.arange(1,5).reshape(2,2)

a

array([[1, 2],

[3, 4]])

b = np.arange(0,4).reshape(2,2)

b

array([[0, 1],

[2, 3]])

np.dot(a,b)    #對陣列執行矩陣相乘運算
array([[ 4,  7],

[ 8, 15]])

c = np.arange(1,4)

c

array([1, 2, 3])
d = np.arange(0,3)

d

array([0, 1, 2])
np.dot(c,d)   #對應位置相乘,再求和
8
np.dot(np.mat(a),np.mat(b))   #執行矩陣乘法運算
matrix([[ 4,  7],

[ 8, 15]])

作用

對陣列執行對應位置相乘

對矩陣執行矩陣乘法運算

3.1 陣列場景

a = np.arange(1,5).reshape(2,2)

a

array([[1, 2],

[3, 4]])

b = np.arange(0,4).reshape(2,2)

b

array([[0, 1],

[2, 3]])

a*b  #對應位置點乘
array([[ 0,  2],

[ 6, 12]])

(np.mat(a))*(np.mat(b))  #執行矩陣運算
matrix([[ 4,  7],

[ 8, 15]])

NumPy 矩陣乘法

numpy 支援的幾類矩陣乘法也很重要。你已看過了一些元素級乘法。你可以使用multiply函式或 運算子來實現。回顧一下,它看起來是這樣的 m np.array 1,2,3 4,5,6 m 顯示以下結果 array 1,2,3 4,5,6 n m 0.25 n 顯示以下結果 array 0.25,...

numpy 陣列和矩陣的乘法

1.當為array的時候,預設d f就是對應元素的乘積,multiply也是對應元素的乘積,dot d,f 會轉化為矩陣的乘積,dot點乘意味著相加,而multiply只是對應元素相乘,不相加 2.當為mat的時候,預設d f就是矩陣的乘積,multiply轉化為對應元素的乘積,dot d,f 為矩...

numpy 矩陣運算

numpy 通過matrix基類支援向量運算,下面是生產向量的方法 執行結果 雖然array與matrix形式上類似,但不是一回事哦 我們可以通過array生成matrix物件,matrix物件提供矩陣計算功能。from numpy import numpy 多維資料元件,不支援向量運用 a1 ar...