我们如何检查矩阵是否是 PSD 是 PyTorch?

Dee*_*azi 5 matrix decomposition pytorch

有一篇关于在 Python 中检查矩阵是否为 PSD 的文章。我想知道我们如何在 PyTorch 中检查它?有这个功能吗?

Gil*_*sky 6

还没有为此找到 PyTorch 函数,但您应该能够轻松确定它,与您链接的帖子类似,通过检查矩阵是否对称且所有特征值是否非负:

def is_psd(mat):
    return bool((mat == mat.T).all() and (torch.linalg.eigvals(mat).real>=0).all())
#Test:
is_psd(torch.randn(2,2))
Run Code Online (Sandbox Code Playgroud)

  • 更好的解决方案是首先检查对称性,然后运行 ​​Cholesky 分解。 (2认同)