1. 程式人生 > 其它 >python numpy中array和mat型別矩陣乘法的三種方式比較(np.dot()、*、np.multiply())

python numpy中array和mat型別矩陣乘法的三種方式比較(np.dot()、*、np.multiply())

技術標籤:# 矩陣pythonnumpy線性代數

import numpy as np

# np.array()
# 1. np.dot() 矩陣乘法
a = np.array([[1, 2], [3, 4]])
b = np.array([[1, 2], [3, 4]])
c = np.dot(a, b)
print(c)

# 2. * 對應相乘
d = a * b
print(d)

# 3. np.multiply() 對應相乘
e = np.multiply(a, b)
print(e)

# np.mat()
# 1. np.dot() 矩陣乘法
a1 = np.mat([[1, 2], [3, 4]], dtype=np.float)
b1 = np.mat([[1, 2], [3, 4]], dtype=np.float)
c1 = np.dot(a1, b1)
print(c1)

# 2. * 矩陣乘法
C = a1 * b1
print(C)

# 3. np.multiply() 對應相乘
E = np.multiply(a1, b1)
print(E)

結果


總結

np.dot()對於array和mat都是矩陣乘法

*對於array是對應相乘,對於mat是矩陣乘法

np.multiply()對於array和mat都是對應相乘

對於列向量乘行向量,其矩陣乘法和對應相乘結果是一致的;其餘情況結果不同。