隐式QR 法求实矩阵的全部特征值matlab 实现
要求:用matlab 编写通用子程序,利用隐式QR 法求实矩阵的全部特征值和特征向量。
思想:隐式QR 法实质上就是将一个矩阵 Schur 化,之后求解特征值就比较方便。而隐式QR 法还需要用到household 变换,以及上hessenberg 变换。最后使用QR 迭代,达到Schur 化的结果。
步骤:
1.将矩阵A 上hessenberg 化(算法6.4.1),送而得到一个上hessenberg 形矩阵H ;
2.可约性判定,也就是判断次对角线元素是否非零,如果次对角线元素非零,则不可约。
3.Schur 化,也就是通过QR 迭代,将矩阵H 变化成为某些次对角线元素变成0,同时还要满足,这些元素之间间隔最大为1,那么,所得到的最重的矩阵H 就是一个Schur 形矩阵。
4.假如两个等于0的次对角线元素间隔为0,那么该元素的上面一个元素,也就是H 的对角线上的元素,即为其中一个特征值;假如两个等于0的次对角线元素间隔为1,那么在这两个元素之间就形成了一个2*2的矩阵,可以求解一个一元二次方程来得到两个共轭的特征值。
实验代码:详见附录2
实验结果:(代码相见附录2)
(i )设矩阵A 如下:
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡2.65.39.41.64.97.12.36.17.43.52.40.46.20.31.9x 求x=0.9, 1.0, 1.1时的特征值和特征向量。