• np.dot()、np.multiply()、np.matmul()方法以及*和@运算符的用法总结


    转载自:https://blog.csdn.net/FrankieHello/article/details/103510118

    一:基本概念

    (一)点积(dot product)

    又称为数量积、标量积(scalar product)或者内积(inner product)

    它是指实数域中的两个向量运算得到一个实数值标量的二元运算。

    举例:

    (二)矩阵乘法 

    两个运算的矩阵需要满足矩阵乘法的规则,即需要前一个矩阵的列与后一个矩阵的行相匹配。

    总之:上面的两个概念都是针对向量或者矩阵的运算,需要和标量的计算区分开来。

    二:dot运算

    如果参与运算的两个一维数组,那么得到的结果是两个数组的内积(inner product);

    可以看着没有进行转置的矩阵乘法。 

    注意:两个向量必须同维度

    如果参与运算的是两个二维数组,那么得到的结果是矩阵乘积(matrix multiplication),两个参与运算的矩阵需要满足矩阵乘法的规则,但是官方更推荐使用np.matmul()和@用于矩阵乘法。

    三:np.multiply()*

    星号和np.multiply()方法是针对的是标量的运算,当参与运算的是两个数组时,得到的结果是两个数组进行对应位置的乘积(element-wise product),输出的结果与参与运算的数组或者矩阵的大小一致。

    四:np.matmul()@

    matmul是matrix multiply的缩写,所以即是专门用于矩阵乘法的函数。另外,@运算方法和matmul()则是一样的作用,相当于简便写法。 

    五:总结

    当进行向量的内积运算时,可以通过np.dot()
    当进行矩阵的乘法运算时,可以通过np.matmul()或者@
    当进行标量的乘法运算时,可以通过np.multiply()或者* 

  • 相关阅读:
    学习FastDfs(三)
    学习FastDfs(二)
    学习FastDfs(一)
    学习ELK日志平台(五)
    学习ELK日志平台(四)
    学习ELK日志平台(二)
    学习ELK日志平台(一)
    并不对劲的CTS2019
    并不对劲的BJOI2019
    并不对劲的bzoj1095:p2056:[ZJOI2007]捉迷藏
  • 原文地址:https://www.cnblogs.com/ssyfj/p/12913015.html
Copyright © 2020-2023  润新知