numpy.linalg.tensorinv #
- 利纳尔格。张量( a , ind = 2 ) [来源] #
计算 N 维数组的“逆”。
结果是相对于张量点运算的逆,即 达到浮点精度, 是张量点运算的“恒等”张量。
tensordot(a, b, ind)
tensordot(tensorinv(a), a, ind)
- 参数:
- 类似数组
张量“反转”。它的形状必须是“正方形”,即 。
prod(a.shape[:ind]) == prod(a.shape[ind:])
- ind整数,可选
参与倒数和的第一个索引的个数。必须是正整数,默认为 2。
- 返回:
- 数组
a的张量逆矩阵, shape 。
a.shape[ind:] + a.shape[:ind]
- 加薪:
- 林算法错误
如果a是单数或不是“方”(在上述意义上)。
也可以看看
例子
>>> a = np.eye(4*6) >>> a.shape = (4, 6, 8, 3) >>> ainv = np.linalg.tensorinv(a, ind=2) >>> ainv.shape (8, 3, 4, 6) >>> b = np.random.randn(4, 6) >>> np.allclose(np.tensordot(ainv, b), np.linalg.tensorsolve(a, b)) True
>>> a = np.eye(4*6) >>> a.shape = (24, 8, 3) >>> ainv = np.linalg.tensorinv(a, ind=1) >>> ainv.shape (8, 3, 24) >>> b = np.random.randn(24) >>> np.allclose(np.tensordot(ainv, b, 1), np.linalg.tensorsolve(a, b)) True