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

问题描述

在Python中,有poste用于检查矩阵是否为PSD。我想知道如何在PyTorch中进行检查吗?有功能吗?

解决方法

尚未为此找到PyTorch函数,但是通过检查所有特征值是否均为负值,您应该能够轻松地(与链接的帖子类似)确定它:

def is_psd(mat):
    return bool(torch.all(torch.eig(mat)[0][:,0]>=0))
#Test:
is_psd(torch.randn(2,2))