关于Python中的矩阵求法,我们一般有两种数据格式实现:np.array()和np.mat()类型。
对于这两种数据类型均有三种操作类型:
1、乘号*
2、np.dot()
3、np.multiply()
import numpy as np
#1、array类型
a = np.array([[1,2],[3,4]])
b = np.array([[1,2],[3,4]])
print(np.dot(a,b))
print(np.multiply(a,b))
print(a*b)
[[ 7 10]
[15 22]]
[[ 1 4]
[ 9 16]]
[[ 1 4]
[ 9 16]]
#2、mat类型
a = np.mat([[1,2],[3,4]])
b = np.mat([[1,2],[3,4]])
print(np.dot(a,b))
print(np.multiply(a,b))
print(a*b)
[[ 7 10]
[15 22]]
[[ 1 4]
[ 9 16]]
[[ 7 10]
[15 22]]
总结:
- no.dot() 对于这两种数据类型均为矩阵乘法
- np.multiply()对于这两种数据类型均为对应元素相乘
- *对于array类型为对应元素相乘,对于mat类型为矩阵相乘