python中的“*”,“np.dot()” 和 “@” 的区别 您所在的位置:网站首页 python中_和__的区别 python中的“*”,“np.dot()” 和 “@” 的区别

python中的“*”,“np.dot()” 和 “@” 的区别

#python中的“*”,“np.dot()” 和 “@” 的区别| 来源: 网络整理| 查看: 265

前言

经常会用到python来进行矩阵的运算,发现几种跟矩阵相关的乘法运算:“*”,“np.dot()” 和 “@”

现总结一下,并配合代码查看各自计算结果。

矩阵A,B的定义

用numpy的np.array()定义矩阵A,B,如下:

import numpy as np A = np.array([ [1, 2, 3], [4, 5, 6] ]) B = np.array([ [6, 5], [4, 3], [2, 1] ]) A.T*B:

“*”运算是将两个向量中每个元素进行相乘,是数乘运算,需要两个矩阵维度相同,所以需要A的转置与B做“*”运算:

print(A.T*B) ''' [[ 6 20] [ 8 15] [ 6 6]] ''' np.dot(A, B): print(np.dot(A, B)) ''' [[20 14] [56 41]] ''' A@B: print(A @ B) ''' [[20 14] [56 41]] '''  总结:

对于用np.array()多维数组定义的矩阵,“*”运算是单纯做对应位置元素的数乘,“np.dot()”和“@”运算都可以起到矩阵乘法的作用。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有