linalg.tensorsolve
Description
Solve the tensor equation a x = b for x.
Assume that all indices of x are summed over together with the rightmost indices of a, as is done in, for example, tensordot(a, x, axes=x.ndim).
Mandatory Input Parameters
Parameter |
Type |
Description |
|---|---|---|
a |
array_like |
Coefficient tensor, of shape b.shape + Q. Q, a tuple, equals the shape of that sub-tensor of a consisting of the appropriate number of its rightmost indices, and must be such that prod(Q) == prod(b.shape) (in which sense a is said to be 'square'). |
b |
array_like |
RHS tensor, which can be of any shape. |
Optional Input Parameters
Parameter |
Type |
Default Value |
Description |
|---|---|---|---|
axes |
tuple of ints |
None |
Axes in a to reorder to the right before inversion. If None, no reordering is done. |
Return Value
Type |
Description |
|---|---|
ndarray, shape Q |
Solution of tensor equation ax = b |
Examples
>>> import numpy as np >>> 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 >>>
Parent topic: Linear Algebra Functions