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()
一定是点乘。