[ 组合替代实现 ]torch.cholesky_inverse

torch.cholesky_inverse

torch.cholesky_inverse(input, upper=False, out=None)

功能介绍

用于计算对称正定矩阵的逆矩阵,公式为:

upper为 False 时, $inv=(uu^T)^{-1}$ ; 当upper为 True 时, $inv=(u^Tu)^{-1}$ 。

PaddlePaddle 目前无对应 API,可使用如下代码组合实现该 API。

import paddle

def cholesky_inverse(input, upper=False, out=None) :
    u = paddle.cholesky(input, False)
    ut = paddle.transpose(u, perm=[1, 0])
    if upper:
        out = paddle.inverse(paddle.matmul(ut, u))
    else:
        out = paddle.inverse(paddle.matmul(u, ut))
    return out