Spec-Zone.ru › NumPy 1.14

numpy.linalg.tensorsolve

numpy.linalg.tensorsolve(a, b, axes=None) [source]

Решить тензорное уравнение a x = b для x.

Предполагается, что все индексы x суммируются в произведении, вместе с правыми индексами a, как это делается, например, в tensordot(a, x, axes=b.ndim).

Параметры:

a : array_like

Тензор коэффициентов, формы b.shape + Q. Q, кортеж, равен форме подтензора a, состоящего из соответствующего числа его правых индексов, и должен быть таким, чтобы prod(Q) == prod(b.shape) (в этом смысле a называется «квадратным»).

b : array_like

Правый тензор, который может иметь любую форму.

axes : кортеж целых чисел, необязательно

Оси в a для переупорядочения вправо перед инверсией. Если None (по умолчанию), переупорядочение не выполняется.

Возвращает:

x : ndarray, форма Q

Возможные исключения:

LinAlgError

Если a является сингулярным или не «квадратным» (в вышеупомянутом смысле).

См. также

numpy.tensordot, tensorinv, numpy.einsum

Примеры

>>> a = np.eye(2*3*4)
>>> a.shape = (2*3, 4, 2, 3, 4)
>>> b = np.random.randn(2*3, 4)
>>> x = np.linalg.tensorsolve(a, b)
>>> x.shape
(2, 3, 4)
>>> np.allclose(np.tensordot(a, x, axes=3), b)
True

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.linalg.tensorsolve.html

Spec-Zone.ru

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