首页 > 解决方案 > R如何选择特征向量?

问题描述

当给定一个具有重复特征值但无缺陷的矩阵时,R 函数如何eigen为特征空间选择一个基?例如,如果我调用eigen单位矩阵,它会为我提供标准基础。它是如何选择该基而不是任何其他正交基的?

标签: reigenvector

解决方案


仍然不是一个完整的答案,但更深入一点:源代码eigen显示它调用的真实对称矩阵.Internal(La_rs(x, only.values))

La_rs函数在此处找到,通过代码显示它调用了 LAPACK 函数dsyevr

dsyevr功能记录在这里

DSYEVR 首先通过调用 DSYTRD 将矩阵 A 简化为三对角形式 T。然后,只要有可能,DSYEVR 就会调用 DSTEMR 以使用相对稳健的表示来计算特征谱。DSTEMR 通过 dqds 算法计算特征值,而正交特征向量是从各种“良好”的 LDL^T 表示(也称为相对鲁棒表示)中计算出来的。

评论提供了这个链接,提供了更多的说明性细节:

下一个任务是计算 $\lambda - s$ 的特征向量。对于每一个 $\hat{\lambda}$,该算法会小心计算出一个最优的扭曲分解 ... 通过实现自上而下和自下而上的三角分解并将它们连接到一个精心选择的索引 r ...

[强调补充]。强调的字眼暗示细节中有些魔鬼;如果你想进一步深入兔子洞,看起来内部dlarrv 函数是实际计算特征向量的地方......

有关更多详细信息,请参阅 DSTEMR 的文档和:

  • Inderjit S. Dhillon 和 Beresford N. Parlett:“多重表示来计算对称三对角矩阵的正交特征向量”,线性代数及其应用,387(1),第 1-28 页,2004 年 8 月。
  • Inderjit Dhillon 和 Beresford Parlett:“正交特征向量和相对间隙”,SIAM 矩阵分析和应用杂志,卷。25, 2004. LAPACK 工作说明 154。
  • Inderjit Dhillon:“对称三对角特征值/特征向量问题的新 O(n^2) 算法”,计算机科学部技术报告编号 UCB/CSD-97-971,加州大学伯克利分校,1997 年 5 月。

推荐阅读