Spec-Zone.ru › NumPy 1.21

numpy.inner

numpy.inner(a, b)

Внутреннее произведение двух массивов.

Обычное внутреннее произведение векторов для одномерных массивов (без комплексного сопряжения), в более высоких измерениях — сумма произведений по последним осям.

Параметры
a, barray_like

Если a и b не скаляры, их последние измерения должны совпадать.

Возвращает
outndarray

Если a и b оба скаляры или оба одномерные массивы, то возвращается скаляр; в противном случае возвращается массив. out.shape = (*a.shape[:-1], *b.shape[:-1])

Возбуждает
ValueError

Если оба a и b не скаляры и их последние измерения имеют разные размеры.

См. также

tensordot

Сумма произведений по произвольным осям.

dot

Обобщённое матричное произведение, используя предпоследнее измерение b.

einsum

Условность Эйнштейна по суммированию.

Примечания

Для векторов (одномерных массивов) вычисляется обычное внутреннее произведение:

np.inner(a, b) = sum(a[:]*b[:])

В более общем случае, если ndim(a) = r > 0 и ndim(b) = s > 0:

np.inner(a, b) = np.tensordot(a, b, axes=(-1,-1))

или явно:

np.inner(a, b)[i0,...,ir-2,j0,...,js-2]
     = sum(a[i0,...,ir-2,:]*b[j0,...,js-2,:])

Кроме того, a или b могут быть скалярами, в этом случае:

np.inner(a,b) = a*b

Примеры

Обычное внутреннее произведение для векторов:

>>> a = np.array([1,2,3])
>>> b = np.array([0,1,0])
>>> np.inner(a, b)
2

Примеры для многомерных случаев:

>>> a = np.arange(24).reshape((2,3,4))
>>> b = np.arange(4)
>>> c = np.inner(a, b)
>>> c.shape
(2, 3)
>>> c
array([[ 14,  38,  62],
       [ 86, 110, 134]])
>>> a = np.arange(2).reshape((1,1,2))
>>> b = np.arange(6).reshape((3,2))
>>> c = np.inner(a, b)
>>> c.shape
(1, 1, 3)
>>> c
array([[[1, 3, 5]]])

Пример, где b является скаляром:

>>> np.inner(np.eye(2), 7)
array([[7., 0.],
       [0., 7.]])

© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.inner.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API