【问题标题】:Code for finding eigen values查找特征值的代码
【发布时间】:2023-03-17 14:45:01
【问题描述】:

您好,我一直在尝试编写代码来查找 n*n 矩阵的特征值。但我想不出它的算法应该是什么。

第 1 步:找到 det(A-(lamda)*I) = 0

求 lamda 的一般矩阵的算法应该是什么?

我已经编写了查找矩阵行列式的代码,可以在我们的算法中使用它吗?

请帮忙。将不胜感激。

【问题讨论】:

    标签: c matrix eigenvector eigenvalue


    【解决方案1】:

    [假设您的矩阵是厄米特矩阵(简单地说,对称),因此特征向量是实数]

    在计算中,您不使用行列式求解特征向量和特征值。速度太慢,数值不稳定。

    您所做的是应用转换(householder reduction)将您的矩阵简化为三对角线形式。

    之后,您对其应用所谓的 QL 算法。

    作为起点,请查看数字食谱 (www.nr.com) 中的 tred2tqli。这些是我刚刚描述的算法。

    请注意,这些例程还可以恢复候选特征向量

    【讨论】:

    • 当然,可以从三对角线或 Hessenberg 形式的特征多项式计算,这将比从原始矩阵更快、更稳定。但是移位的 QR 算法可能还是会快一点。
    • 我搜索并发现有一些库 - “SLEPc”用于解决特征值问题。你知道关于这个图书馆的任何事情吗,因为我很担心它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    相关资源
    最近更新 更多