np.array() 與 np.mat() 比較



1. 生成數組所需格式不同

np.mat()可以從字符串或列表中生成。np.array()只能從列表中生成。

import numpy as np

a = np.mat(data="1, 2; 3, 4")
b = np.array([[1, 2], [3, 4]])
print(a)
print(b)

結果:

[[1 2]
 [3 4]]


[[1 2]
 [3 4]]


2. 計算方式不同

np.array()生成的數組,np.dot() 表示矩陣乘積;*multiply 表示點乘。

print(np.dot(b, b))

print(b * b)
print(np.multiply(b, b))

結果:

[[ 7 10]
 [15 22]]


[[ 1  4]
 [ 9 16]]
[[ 1  4]
 [ 9 16]]

np.mat()生成的數組,np.dot() 和 * 表示矩陣乘積;np.multiply() 表示點乘。

print(np.dot(a, a))
print(a * a)

print(np.multiply(a, a))

結果:

[[ 7 10]
 [15 22]]
[[ 7 10]
 [15 22]]


[[ 1  4]
 [ 9 16]]

總結:np.dot() 一定是矩陣乘積,np.multiply() 一定是點乘。




免責聲明!

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



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