numpy.linalg.tensorsolve #

利纳尔格。张量求解( a , b ,= None ) [来源] #

求解 x 的张量方程。a x = b

假设x的所有索引与a最右边的索引一起在乘积中求和,例如 中所做的那样 。tensordot(a, x, axes=x.ndim)

参数
类似数组

系数张量,形状。Q是一个元组,等于a的子张量的形状,该子张量由适当数量的最右边索引组成,并且必须是这样的 (在这种意义上a被称为“平方”)。b.shape + Qprod(Q) == prod(b.shape)

b类数组

右手张量,可以是任何形状。

整数元组,可选

a中的轴在反转之前向右重新排序。如果无(默认),则不进行重新排序。

返回
x ndarray,形状 Q
加薪
林算法错误

如果a是单数或不是“方”(在上述意义上)。

例子

>>> 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