NumPy inner() 函数返回两个数组的内积。对于一维数组,它返回普通的内积(没有复杂的共轭)。对于更高维度,返回最后一个轴的和积。
语法
numpy.inner(a, b)
参数
a | 必填。 指定第一个类似数组的参数。如果 a 和 b 是非标量,则它们的最后一个维度必须匹配。 |
b | 必需。 指定第二个类似数组的参数。 |
返回值
返回a和b的内积。
异常
如果 a 和 b 的最后一个维度大小不同,则引发 ValueError 异常。
示例:inner() 函数标量
下面的示例显示了两个标量与 inner() 函数一起使用时的结果。
import numpy as np
print(np.inner(5, 10))
上述代码的输出将是:
50
示例:一维数组的inner()函数
当使用两个一维数组时,该函数返回数组的内积。
import numpy as np
Arr1 = [5, 8]
Arr2 = [10, 20]
#返回 5*10 + 8*20 = 210
print(np.inner(Arr1, Arr2))
上述代码的输出将是:
210
示例:具有复数的inner()函数
inner() 函数可用于复数。考虑以下示例。
import numpy as np
Arr1 = np.array([1+2j, 1+3j])
Arr2 = np.array([2+2j, 2+3j])
Arr3 = np.inner(Arr1, Arr2)
print(Arr3)
上述代码的输出将为:
(-9+15j)
内积计算如下:
= (1+2j)*(2+2j) + (1+3j)*(2+3j)
= (-2+6j) + (-7+9j)
= (-9+15j)
示例:带有矩阵的inner()函数
当使用两个矩阵时,该函数在矩阵的最后一个轴上执行内积。
import numpy as np
Arr1 = np.array([[1, 2],
[3, 4]])
Arr2 = np.array([[10, 20],
[30, 40]])
Arr3 = np.inner(Arr1, Arr2)
print(Arr3)
上述代码的输出将是:
[[ 50 110]
[110 250]]
内积计算如下:
[[1*10+2*20 1*30+2*40]
[3*10+4*20 3*30+4*40]]
= [[ 50 110]
[110 250]]