cholesky_inverse

paddle.linalg. cholesky_inverse ( x, upper=False, name=None ) [源代码]

使用 Cholesky 因子 U 计算对称正定矩阵的逆矩阵,返回矩阵 inv。 如果 upperFalse,则 U 为下三角矩阵:

\[inv = (UU^{T})^{-1}\]

如果 upperTrue,则 U 为上三角矩阵:

\[inv = (U^{T}U)^{-1}\]

参数

  • x (Tensor)- 输入变量是形状为 [N, N] 的对称正定矩阵的下三角或上三角 Cholesky 分解张量。支持数据类型为 float32、float64。

  • upper (bool,可选)- 如果 upperFalse,则输入为下三角矩阵,否则为上三角矩阵。默认值为 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]])