1. 区别
1)np.array更具通用性,np.mat只适用于二维矩阵,维数超过2以后,np.mat就不适用了。
2)语法上:np.mat既然是为矩阵专门定制的(类比R语言中的matrix),那么肯定有它独特的语法优势
矩阵乘法
import numpy as np
a = np.mat('4,3;2,1')
b = np.mat('1 2;3 4')
c=np.array([[4, 3], [2, 1]])
d=np.array([[1, 2], [3, 4]])
np.mat矩阵乘法
a*b
np.array对应元素相乘
c*d
array中矩阵乘法有两种
c@d
np.dot(c,d)
转置 这点上没区别
a.T
逆矩阵
np.mat有如下简单写法
a.I
np.array
np.linalg.inv(c)
2. 转换
最后,np.mat和np.array可以相互转化。
np.asmatrix(c)
np.asarray(a)
参考
1The difference between numpy.array and numpy.mat
2numpy.mat 官方文档
网友评论