numpy里矩阵乘法matmul,@和dot的区别?

  数学 线性代数 Python    浏览次数: 3761
0

numpy里matmul,@和dot看起来都可以进行矩阵乘法运算,那么它们有什么区别?


 

TheTheThe   2017-11-14 14:18



   1个回答 
3

严格说

np.matmul(a, b)

完全等价于

a @ b

只是表示方式不同。


对于矩阵乘法来说,

np.matmul(a, b)

也完全等价于

np.dot(a, b)



dot和matmul的区别是,当a或b其中一个是标量的时候,只能用np.dot,用matmul会报错。


KingBug   2017-11-15 08:17



  相关主题

numpy里生成单位矩阵?   1回答

怎么对numpy array转置?   2回答

numpy怎么进行矩阵乘法   1回答

怎么把scipy.sparse.csr.csr_matrix转成numpy array   1回答

numpy.array从行向量转为列向量   3回答

numpy array里怎么用fillna填充nan的值?   1回答

对np.array求每行的均值   1回答

怎么对2维的numpy array取整?   2回答

numpy中获得tensor的维数?   2回答

删除numpy array中指定的一列   1回答

调用np.average()时报错TypeError: No loop matching   1回答

python numpy里array和matrix的区别?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!