赞
踩
两个函数对于一维数据来说,效果是相同的,这里做个实验:
- import numpy as np
- A=[1,2,3]
- B=[4,5,6]
- print(np.inner(A,B))
- print(np.dot(A,B))
可以看到结果都是32
但是对于二维数据来说,两者就有了区别:
- import numpy as np
- A=[[1 ,10],
- [100,1000]]
- B=[[1,2],
- [3,4]]
- print(np.inner(A,B))
- 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
当数据是三维的时候,来看一下想法对不对:
- A=[[1 ,10],
- [100,1000],
- [100000,1]]
- B=[[1,2],
- [3,4],
- [100000,1]]
- print(np.inner(A,B))
大概理解了inner是怎么做的了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。