Spec-Zone.ru › NumPy 1.12

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–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.inner.html

Spec-Zone.ru

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