【问题标题】:Matlab gives me negative eigenvalue for positive matrixMatlab给我正矩阵的负特征值
【发布时间】:2017-01-10 07:10:42
【问题描述】:

我有一个 6000*6000 对称矩阵,所有条目都是正数。我使用matlab的eig函数来分解它的特征值&特征向量。但是结果中存在负特征值。您认为问题出在哪里?

谢谢。 塞维尔。

【问题讨论】:

  • 供将来参考,当一个人在使用 MATLAB 时,直截了当地问“MATLAB 做数学错了吗?”答案是总是:“不,你做错了什么”。

标签: matlab matrix linear-algebra eigenvalue


【解决方案1】:

没有问题。仅仅因为矩阵是对称的并且具有所有正值并不能保证正特征值。例如,尝试使用所有正值[3 4; 4 3] 的以下对称矩阵。执行eig([3 4; 4 3]) 会产生 -1 和 7 的特征值,因此两个特征值之一是负数。

请注意,具有所有正值且对称的矩阵positive definite 的矩阵不同。正定矩阵具有所有正特征值,我相信这是您感到困惑的地方。总而言之,具有所有正值的对称矩阵不一定是正定矩阵,正如您在上面给出的示例中清楚地看到的那样。

【讨论】:

  • 我正在处理的矩阵是图的邻接矩阵的拉普拉斯算子。它不应该有负特征值。
  • @Sevil95 那么你的邻接矩阵是错误的。如果您不显示任何代码,我或其他任何人都无法诊断您的问题。现在,由于您没有向我们展示您尝试让我们重现您的问题的方法,因此您的问题的格式不正确。请向How to Ask 学习一个正确的问题,并请花时间继续tour
  • @Sevil95 另请阅读邻接矩阵的拉普拉斯算子的定义:en.wikipedia.org/wiki/Laplacian_matrix#Definition。您可以清楚地看到有负值。正如我所说,您的表述不正确,因此无需多说。
猜你喜欢
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
  • 2017-08-23
  • 1970-01-01
相关资源
最近更新 更多