【问题标题】:Numpy.linalg.eig function returning zero eigenvector?Numpy.linalg.eig 函数返回零特征向量?
【发布时间】:2021-10-21 18:21:14
【问题描述】:

我有一个 45x45 矩阵,堆栈溢出不允许我包含,因为它太长了。但是,如果我将这个矩阵放入 numpy.linalg.eig 中,它会在最后一列中给我一个全零的特征向量。这到底是什么意思?

【问题讨论】:

  • 也许这意味着矩阵不可对角化,因此不可特征分解。试试np.linalg.eig([[0, 1], [0, 0]]);这里的矩阵不可对角化。
  • 是的,我的许多测试都指向它是一个奇异矩阵。但是我找不到能够可靠地确定任意矩阵(不一定是正方形)是否是奇异的测试。例如,当我尝试使用 scipy.linalg.null_space 时,这个矩阵显然也没有空空间。但它在其他地方造成了大量错误,就好像它是单一的一样。
  • 不,特征值为零意味着存在一个非平凡的空空间。特征向量为零意味着不同的东西。而且我怀疑矩阵甚至不是特征可分解的。
  • @j1-lee 对。这就是我意识到的。但是零特征向量是什么意思呢?
  • 我不太确定,但我想这只是意味着你没有足够的(线性独立的)特征向量(即,不是特征可分解的)。根据定义,特征向量是非零的。如果函数返回零向量,我想这只是因为“A * 0 = lambda * 0”对于任何标量 lambda 来说都是微不足道的。

标签: python numpy linear-algebra


【解决方案1】:

所以看起来矩阵实际上是退化的,我认为这实际上是有道理的。

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2023-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-31
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多