zoukankan      html  css  js  c++  java
  • 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()或者* 

  • 相关阅读:
    打理自己的生活
    多线程练习 -- 自定义NSOperation
    多线程练习 -- 单例设计模式
    IOS学习笔记 -- 多线程
    画画板 -- 可自定义线的宽度和颜色
    手势识别器基本练习
    触摸事件练习 -- 手势解锁
    触摸事件练习 -- 画画板(截屏分类)
    Main.storyboard
    Quartz2D练习 -- 裁剪图片分类
  • 原文地址:https://www.cnblogs.com/ssyfj/p/12913015.html
Copyright © 2011-2022 走看看