R如何选择特征向量?

问题描述 投票:0回答:2

当给定一个具有重复特征值但无缺陷的矩阵时,R 函数

eigen
如何选择特征空间的基?例如,如果我在单位矩阵上调用
eigen
,它就会为我提供标准基础。它是如何选择该基而不是其他正交基的?

r eigenvector
2个回答
3
投票

仍然不是完整的答案,但更深入一点:

eigen
的源代码显示,对于实数对称矩阵,它调用
.Internal(La_rs(x, only.values))

La_rs
函数可以在here找到,查看代码发现它调用了LAPACK函数
dsyevr

dsyevr
函数已记录在此处

DSYEVR 首先通过调用将矩阵 A 简化为三对角形式 T 至 DSYTRD。然后,只要有可能,DSYEVR 就会调用 DSTEMR 来计算 使用相对稳健的表示的特征谱。 DSTEMR 通过 dqds 算法计算特征值,同时正交 特征向量是根据各种“好的”L D L^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 月。

0
投票

它可能使用了很久以前用 FORTRAN 编写的某种算法。

我怀疑有一个对矩阵执行的程序将其调整为可以轻松确定特征值和特征向量的形式。我还怀疑此过程不需要对单位矩阵执行任何操作即可将其转换为所需的形式,因此特征值和特征向量只需立即读取。

在退化特征值的一般情况下,您得到的答案将取决于该算法的细节。我怀疑是否会做出任何选择 - 这只是它首先吐出的东西。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.