当前位置:   article > 正文

python——numpy.dot()和numpy.inner()之间的区别_np.dot np.inner

np.dot np.inner

两个函数对于一维数据来说,效果是相同的,这里做个实验:

  1. import numpy as np
  2. A=[1,2,3]
  3. B=[4,5,6]
  4. print(np.inner(A,B))
  5. print(np.dot(A,B))

可以看到结果都是32

但是对于二维数据来说,两者就有了区别:

  1. import numpy as np
  2. A=[[1 ,10],
  3. [100,1000]]
  4. B=[[1,2],
  5. [3,4]]
  6. print(np.inner(A,B))
  7. print(np.dot(A,B))

输出结果为:

下面的就是典型的行列式计算,每行乘以每列的结果,手动算一下就可以得到

可以看到inner的运算是

A的第一行与B的第一行:

1*1+2*10得到第一个值21

A的第一行与B的第二行:

1*3+10*4 = 43 得到第二个值43

A的第二行与B的第一行:

100*1+1000*2=2100 得到第三个值2100

A的第二行与B的第二行:

100*3+1000*4 = 4300 得到最后的结果4300

当数据是三维的时候,来看一下想法对不对:

  1. A=[[1 ,10],
  2. [100,1000],
  3. [100000,1]]
  4. B=[[1,2],
  5. [3,4],
  6. [100000,1]]
  7. print(np.inner(A,B))

大概理解了inner是怎么做的了。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/369191
推荐阅读
相关标签
  

闽ICP备14008679号