Spec-Zone.ru › NumPy 2.0

numpy.ma.innerproduct

ma.innerproduct(a, b, /)[source]

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

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

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

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

Возвращает:
outndarray

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

Исключения:
ValueError

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

См. также

tensordot

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

dot

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

einsum

Обозначение Эйнштейна.

Примечания

Маскированные значения заменяются 0.

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

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.ma.innerproduct.html

Spec-Zone.ru

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