cholesky_inverse

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

使用 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,可选) - 具体用法请参见 api_guide_Name,一般无需设置,默认值为 None。

返回

Tensor,求解得到的逆矩阵。

代码示例

>>> import paddle

>>> # lower triangular matrix
>>> x = paddle.to_tensor([[3.0, 0.0, 0.0], [5.0, 3.0, 0.0], [-1.0, 1.0, 2.0]])
>>> out = paddle.linalg.cholesky_inverse(x)
>>> print(out)
Tensor(shape=[3, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[ 0.61728376, -0.25925916,  0.22222215],
 [-0.25925916,  0.13888885, -0.08333330],
 [ 0.22222213, -0.08333331,  0.24999997]])

>>> # upper triangular matrix
>>> out = paddle.linalg.cholesky_inverse(x.T, upper=True)
>>> print(out)
Tensor(shape=[3, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[ 0.61728376, -0.25925916,  0.22222215],
 [-0.25925916,  0.13888885, -0.08333330],
 [ 0.22222213, -0.08333331,  0.24999997]])

使用本API的教程文档