在numpy中有可以用ndarray和matrix表示矩阵。matrix是ndarray的特殊形式,只用来表示二维矩阵,ndarray不受维度的限制。比起matrix,ndarray更灵活。
在矩阵中,乘法有两个,一个是矩阵相乘,比如一个(2×3)的矩阵和一个(3×4)的矩阵相乘,结果是一个(2×4)的矩阵。
a=np.array(np.arange(6).reshape(2,3)) b=np.array((np.arange(12)+1).reshape(3,4)) print(type(a),' ',a) print('----------------') print(type(b),' ',b) print('----------------') print(np.matmul(a,b))
a=np.mat(np.arange(6).reshape(2,3)) b=np.mat((np.arange(12)+1).reshape(3,4)) print(type(a),' ',a) print('----------------') print(type(b),' ',b) print('----------------') print(a*b)
一个是矩阵的对应位置相乘,这就要求相乘的两个矩阵的大小是一样的。
a=np.array(np.arange(6).reshape(2,3)) b=np.array((np.arange(6)+1).reshape(2,3)) print(type(a),' ',a) print('----------------') print(type(b),' ',b) print('----------------') print(a*b)
a=np.mat(np.arange(6).reshape(2,3)) b=np.mat((np.arange(6)+1).reshape(2,3)) print(type(a),' ',a) print('----------------') print(type(b),' ',b) print('----------------') print(np.multiply(a,b))