linalg.
tensorsolve
解张量方程 a x = b 为X。
a x = b
假设所有指数 x 与最右边的指数 a ,例如, tensordot(a, x, axes=b.ndim) .
tensordot(a, x, axes=b.ndim)
形状系数张量 b.shape + Q . Q 一个元组,等于 a 由适当数量的最右边的指数组成,并且必须 prod(Q) == prod(b.shape) (从哪个意义上说 a 据说是“正方形”)。
b.shape + Q
prod(Q) == prod(b.shape)
右手张量,可以是任何形状。
轴在 a 在反转之前,向右重新排序。如果没有(默认),则不会重新排序。
如果 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