NumPy 函数

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]]