cholesky_inverse¶
使用 Cholesky 因子 U 计算对称正定矩阵的逆矩阵,返回矩阵 inv。 如果 upper 是 False,则 U 为下三角矩阵:
\[inv = (UU^{T})^{-1}\]
如果 upper 是 True,则 U 为上三角矩阵:
\[inv = (U^{T}U)^{-1}\]
参数¶
x (Tensor)- 输入变量是形状为 [N, N] 的对称正定矩阵的下三角或上三角 Cholesky 分解张量。支持数据类型为 float32、float64。
upper (bool,可选)- 如果 upper 是 False,则输入为下三角矩阵,否则为上三角矩阵。默认值为 False。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
Tensor,求解得到的逆矩阵。
代码示例¶
>>> import paddle
>>> # lower triangular matrix
>>> x = paddle.to_tensor([[3.,.0,.0], [5.,3.,.0], [-1.,1.,2.]])
>>> out = paddle.linalg.cholesky_inverse(x)
>>> print(out)
Tensor(shape=[3, 3], dtype=float32, place=Place(gpu:0), stop_gradient=True,
[[ 0.61728382, -0.25925916, 0.22222219],
[-0.25925916, 0.13888884, -0.08333331],
[ 0.22222218, -0.08333331, 0.25000000]])
>>> # upper triangular matrix
>>> out = paddle.linalg.cholesky_inverse(x.T, upper=True)
>>> print(out)
Tensor(shape=[3, 3], dtype=float32, place=Place(gpu:0), stop_gradient=True,
[[ 0.61728382, -0.25925916, 0.22222219],
[-0.25925916, 0.13888884, -0.08333331],
[ 0.22222218, -0.08333331, 0.25000000]])