r - R如何选择特征向量?
问题描述
当给定一个具有重复特征值但无缺陷的矩阵时,R 函数如何eigen
为特征空间选择一个基?例如,如果我调用eigen
单位矩阵,它会为我提供标准基础。它是如何选择该基而不是任何其他正交基的?
解决方案
仍然不是一个完整的答案,但更深入一点:源代码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 月。
推荐阅读
- r - 如何按R中的列计算异常值?
- r - 在 R 中解释绘图(auto.arima)
- win-universal-app - 在转换时通过 DesktopAppConvertor 读取注册表值
- sap - 从单独的日期和时间 int 创建时间戳
- css - 我应该使用 fontawesome-free 还是 angular-fontawesome
- facebook - Error: A valid Facebook app id must be set in the AndroidManifest.xml
- python - 是否可以导入模块并在导入模块的上下文中执行所有操作?
- javascript - 在更改年份月份时以打开状态显示引导下拉菜单
- c# - 将整数值从数据库转换为文本框最大长度
- javascript - 进行多个 api 调用时如何选择最新的 api 调用