我试图找出与最小特征值对应的特征值和特征向量。我有一个矩阵 A
(nx2) 并且我计算了 B = transpose(A) * a
。当我使用 C++ 特征函数 compute()
并打印矩阵 B
的特征值时,它显示如下内容:
(4.4, 0)
(72.1, 0)
打印它给出输出的特征向量:
(-0.97, 0) (0.209, 0)
(-0.209, 0) (-0.97, 0)
我很困惑。我猜特征向量不能为零。那么,对于最小的特征值4.4,对应的特征向量是(-0.97, -0.209)
吗?
附言- 当我打印时
mysolution.eigenvalues()[0]
它打印 (4.4, 0)
。当我打印
mysolution.eigenvectors().col(0)
它打印 (-0.97, 0) (0.209, 0)
。这就是为什么我想我可以假设对于特征值 4.4,相应的特征向量是 (-0.97, -0.209)
。
最佳答案
我想你是对的。
不过,您的特征值都不为空。看来您正在处理复数。
会不会是您选择了一个复杂的浮点矩阵来进行计算?类似于 MatrixX2cf
或 MatrixX2cd
。
关于c++ 最小特征值对应的特征值和特征向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24100851/