Matlab实现隐式QR法求实矩阵特征值:通用子程序与步骤详解

1 下载量 109 浏览量 更新于2024-08-03 收藏 85KB DOC 举报
在本篇文档中,我们讨论了如何使用Matlab实现隐式QR法来求解实矩阵的所有特征值。隐式QR方法是矩阵理论中的一个重要工具,它通过将矩阵转化为上Hessenberg形式(即主对角线上方的元素逐列减少,且非对角线元素绝对值小于等于主对角线上元素)来进行特征值求解。具体步骤如下: 1. **上Hessenberg化**:首先,使用算法6.4.1将输入矩阵A进行上Hessenberg化,这一步骤有助于简化后续的处理,因为上Hessenberg矩阵的特性使得求解更直接。 2. **可约性判定**:检查矩阵的次对角线元素,如果发现非零,意味着矩阵不可约,即无法进一步简化为上三角或Jordan块形式。这一步对于确定是否需要继续进行Schur化至关重要。 3. **Schur化过程**:通过QR迭代法(QR分解的一种迭代方法),逐步接近Schur形式,即目标是将次对角线元素变为0,并保持它们之间的差异尽可能大为1。这样,非零的次对角线元素及其对角线上的元素就对应于特征值。 4. **特征值计算**:对于两个连续的0次对角线元素,其上方的对角线元素就是特征值;而对于两个间隔为1的0次对角线元素,可以通过构造2x2子矩阵并解一元二次方程来找到两个共轭的特征值。 文档提供了一个具体的例子,当矩阵A为4.0 1.6 6.2 0.9的实数矩阵时,使用Matlab的`SchurQR`函数求得的特征值和对应的特征向量。结果表明,通过这个方法,不仅得到了特征值,还得到了每个特征值的特征向量矩阵V。 对于不同的输入矩阵X,如X=1,同样使用`SchurQR`函数,可以得到不同的特征值和特征向量,这展示了该方法的通用性和实用性。 总结来说,这篇文档详细介绍了如何在Matlab环境中运用隐式QR法求解实矩阵的特征值,涉及的关键步骤包括矩阵转换、可约性检查和特征值的计算,提供了实际操作示例和代码片段,有助于理解和应用这种数值计算技术。