numpy.linalg.tensorsolve#
- linalg.tensorsolve(a,b,axes=None)[source]#
Solve the tensor equation
ax=bfor 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 shape
b.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).
See also
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