【发布时间】: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