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,可选) - 具体用法请参见 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]])