python矩阵乘法中@和*有什么区别?

我知道一个人执行一种矩阵乘法,另一个人执行另一种矩阵乘法,但永远记不起其中的区别。


正在做


>>> import numpy as np

>>> a = np.matrix([[1, 2],[3,4]])


>>> print(a * a)

[[ 7 10]

 [15 22]]


>>> print(a @ a)

[[ 7 10]

 [15 22]]

似乎给出了相同的答案,这让我感到困惑。


慕妹3146593
浏览 380回答 1
1回答

慕村225694

a * b是一个乘法运算符 - 它将返回 中的元素a乘以 中的元素b。当a和b都是矩阵(由 明确定义np.matrix)时,结果将与运算符相同@。a @ b是矩阵乘法(与向量一起使用时的点积)。如果您没有指定它a是一个矩阵并使用数组,a * a则会返回平方中的每个元素a。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python