結論:
元素乘法:np.multiply(a,b)
矩陣乘法:np.dot(a,b)
或 np.matmul(a,b)
或 a.dot(b)
唯獨注意:*
,在 np.array 中重載爲元素乘法,在 np.matrix 中重載爲矩陣乘法!
對於 np.array
對象
>>> a
array([[1, 2],
[3, 4]])
元素乘法 用 a*b
或 np.multiply(a,b)
,
>>> a*a
array([[ 1, 4],
[ 9, 16]])
>>> np.multiply(a,a)
array([[ 1, 4],
[ 9, 16]])
矩陣乘法 用 np.dot(a,b)
或 np.matmul(a,b)
或 a.dot(b)
。
>>> np.dot(a,a)
array([[ 7, 10],
[15, 22]])
>>> np.matmul(a,a)
array([[ 7, 10],
[15, 22]])
>>> a.dot(a)
array([[ 7, 10],
[15, 22]])
對於 np.matrix
對象
>>> A
matrix([[1, 2],
[3, 4]])
元素乘法 用 np.multiply(a,b)
>>> np.multiply(A,A)
matrix([[ 1, 4],
[ 9, 16]])
矩陣乘法 用 a*b
或 np.dot(a,b)
或 np.matmul(a,b)
或 a.dot(b)
。
>>> A*A
matrix([[ 7, 10],
[15, 22]])
>>> np.dot(A,A)
matrix([[ 7, 10],
[15, 22]])
>>> np.matmul(A,A)
matrix([[ 7, 10],
[15, 22]])
>>> A.dot(A)
matrix([[ 7, 10],
[15, 22]])