NumPy 矩阵乘法
转载自:https://blog.csdn.net/u012300744/article/details/80423135
数组、矩阵
m = np.array([[1,2,3],[4,5,6]])
#m显示以下结果:
array([[1, 2, 3],
[4, 5, 6]])
数乘:
n = m * 0.25
#n显示以下结果:
array([[ 0.25, 0.5 , 0.75],
[ 1. , 1.25, 1.5 ]])
数组相乘:
c=m*n 等价于 c=np.multiply(m, n)
# 显示以下结果:
array([[ 0.25, 1. , 2.25],
[ 4. , 6.25, 9. ]])
矩阵相乘
a = np.array([[1,2,3,4],[5,6,7,8]])
即:
# array([[1, 2, 3, 4],
# [5, 6, 7, 8]])
b = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
即:
# array([[ 1, 2, 3],
# [ 4, 5, 6],
# [ 7, 8, 9],
# [10, 11, 12]])
c = np.matmul(a, b) 等价于 c=a.dot(b)
c显示以下结果:
# array([[ 70, 80, 90],
# [158, 184, 210]])
dot函数
a.dot(b) 等价于 np.matmul(a, b)
矩阵相乘的matmul函数和dot函数的先后位置很重要,因为要满足矩阵乘法;
而数组相乘,只是对应元素相乘。