zoukankan      html  css  js  c++  java
  • numpy中数组(矩阵)的乘法

      我们知道在处理数据的时候,使用矩阵间的运算将会是方便直观的。matlab有先天的优势,算矩阵是它的专长。当然我们用python,经常要用到的可能是numpy这个强大的库。

      矩阵有两种乘法,点乘和对应项相乘(element-wise product)。在numpy中应该怎么实现呢,看看下面的例子就明白了。

    ## A = B = array([[1, 2],
    ##                [3, 4]])
    >>>A = np.array([[1,2],[3,4]])
    >>>B = np.array([[1,2],[3,4]])
    >>>A@B
    array([[ 7, 10],
           [15, 22]])
    >>>np.dot(A,B)
    array([[ 7, 10],
           [15, 22]])
    >>>np.multiply(A,B)
    array([[ 1,  4],
           [ 9, 16]])
    >>>A*B
    array([[ 1,  4],
           [ 9, 16]])
    

      结果一目了然:

      np.dot(A, B) = A@B = 点乘

      np.multiply(A, B) = A*B = 对应项相乘

      点乘要求前者的列数等于后者的行数,对应项相乘需要矩阵的形状相同(或者说有矩阵的延拓情况?没有试验过)    

  • 相关阅读:
    数论——欧拉函数
    数论——最大公约数
    Python——循环
    数论——素数和反素数
    数论——快速幂剖析
    Perfect Keyboard
    HTML学习笔记Day6
    HTML学习笔记Day5
    HTML学习笔记Day4
    HTML学习笔记Day3
  • 原文地址:https://www.cnblogs.com/chester-cs/p/12690299.html
Copyright © 2011-2022 走看看