我有一个 6000*6000 对称矩阵,所有条目都是正数。我使用 matlab 的 eig 函数来分解其特征值和特征向量。但是结果中存在负特征值。你认为问题出在哪里?
谢谢。塞维尔。
没有问题。 仅仅因为矩阵是对称的并且具有所有正值并不能保证正特征值。 例如,尝试以下对称矩阵,所有正值都[3 4; 4 3]
。 执行eig([3 4; 4 3])
会产生 -1 和 7 的特征值,因此两个特征值中的一个为负。
请注意,具有所有正值且对称的矩阵与正定矩阵不同。 正定矩阵具有所有正特征值,我相信这是您感到困惑的地方。 总而言之,具有所有正值的对称矩阵不一定是正定矩阵,正如您在上面给出的示例中可以清楚地看到的那样。