numpy.linalg.tensorsolve#

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

Solve the tensor equationax=b for x.

It is assumed that all indices ofx are summed over in the product,together with the rightmost indices ofa, as is done in, for example,tensordot(a,x,axes=x.ndim).

Parameters:
aarray_like

Coefficient tensor, of shapeb.shape+Q.Q, a tuple, equalsthe shape of that sub-tensor ofa consisting of the appropriatenumber of its rightmost indices, and must be such thatprod(Q)==prod(b.shape) (in which sensea is said to be‘square’).

barray_like

Right-hand tensor, which can be of any shape.

axestuple of ints, optional

Axes ina to reorder to the right, before inversion.If None (default), no reordering is done.

Returns:
xndarray, shape Q
Raises:
LinAlgError

Ifa is singular or not ‘square’ (in the above sense).

Examples

>>>importnumpyasnp>>>a=np.eye(2*3*4)>>>a.shape=(2*3,4,2,3,4)>>>rng=np.random.default_rng()>>>b=rng.normal(size=(2*3,4))>>>x=np.linalg.tensorsolve(a,b)>>>x.shape(2, 3, 4)>>>np.allclose(np.tensordot(a,x,axes=3),b)True
On this page