c++ 最小特征值对应的特征值和特征向量

标签 c++ eigen

我试图找出与最小特征值对应的特征值和特征向量。我有一个矩阵 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)

最佳答案

我想你是对的。

不过,您的特征值都不为空。看来您正在处理复数。

会不会是您选择了一个复杂的浮点矩阵来进行计算?类似于 MatrixX2cfMatrixX2cd

关于c++ 最小特征值对应的特征值和特征向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24100851/

相关文章:

c++ - boost::shared_ptr 和 std::shared_ptr 共存

c++ - 特征:如何用一些子稀疏矩阵初始化稀疏矩阵

OpenCV CalcPca 输入数据

c++ - 稀疏求解器的特征非常数 MatrixReplacement

c++ - 使用 C++ 在 R 中乘以复杂矩阵

c++ - Eigen Library - EigenSolver 中的复数值

c++ - 如果从构造函数调用 QWidget winId 崩溃

c++ - 如何在 header 和 cpp 之间拆分静态/模板类?

c++ - 使用#define 在 C++/C 中包含另一个文件

c++ - 用于从 USB MIDI 设备读取 MIDI 信号的 C/C++ 库