【发布时间】:2023-03-17 14:45:01
【问题描述】:
您好,我一直在尝试编写代码来查找 n*n 矩阵的特征值。但我想不出它的算法应该是什么。
第 1 步:找到 det(A-(lamda)*I) = 0
求 lamda 的一般矩阵的算法应该是什么?
我已经编写了查找矩阵行列式的代码,可以在我们的算法中使用它吗?
请帮忙。将不胜感激。
【问题讨论】:
标签: c matrix eigenvector eigenvalue
您好,我一直在尝试编写代码来查找 n*n 矩阵的特征值。但我想不出它的算法应该是什么。
第 1 步:找到 det(A-(lamda)*I) = 0
求 lamda 的一般矩阵的算法应该是什么?
我已经编写了查找矩阵行列式的代码,可以在我们的算法中使用它吗?
请帮忙。将不胜感激。
【问题讨论】:
标签: c matrix eigenvector eigenvalue
[假设您的矩阵是厄米特矩阵(简单地说,对称),因此特征向量是实数]
在计算中,您不使用行列式求解特征向量和特征值。速度太慢,数值不稳定。
您所做的是应用转换(householder reduction)将您的矩阵简化为三对角线形式。
之后,您对其应用所谓的 QL 算法。
作为起点,请查看数字食谱 (www.nr.com) 中的 tred2 和 tqli。这些是我刚刚描述的算法。
请注意,这些例程还可以恢复候选特征向量。
【讨论】: