Spec-Zone.ru › NumPy 1.11

numpy.inner

numpy.inner(a, b)

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

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

Параметры:

a, b : array_like

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

Возвращаемое значение:

out : ndarray

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-1,j0,...,js-1]
     = sum(a[i0,...,ir-1,:]*b[j0,...,js-1,:])

Кроме того, 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)
>>> np.inner(a, b)
array([[ 14,  38,  62],
       [ 86, 110, 134]])

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

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

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.inner.html

Spec-Zone.ru

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