Spec-Zone.ru › NumPy 2.0

numpy.inner

numpy.inner(a, b, /)

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

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

Параметры:
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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.inner.html

Spec-Zone.ru

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