Numpy eig / eigh给出对称正半定矩阵的负值

时间:2016-02-24 05:26:51

标签: numpy linear-algebra eigenvalue

GCN之后的CIFAR数据集的以下代码:

xtx = np.dot(dataset.train_data[i].transpose(), dataset.train_data[i])
e, q = np.linalg.eigh(xtx)
print(np.max(e), np.min(e))

产生以下输出:

2.65138e+07 -0.00247511

这是不一致的,因为xtx是对称的正半确定的。我的猜测是,这可能是由于之前应用了GCN,但最小特征值是否仍然接近于0?

更新:所以矩阵的条件数是8.89952e + 09。我实际上已经忘记了取出均值所以现在最大特征值是~573,而最小特征值是-7.14630133e-08。我的问题是我正在尝试做ZCA。在这种情况下,我该怎么办?将对角线petrubtion添加到xtx或特征值?

0 个答案:

没有答案