在求特征值的时候,我们通常QR迭代后就是一个拟上三角矩阵,但不一定是上三角矩阵,还要留意这个拟字。
例如:
![607126aa33c421e999485f814e09ba7d.png](https://i-blog.csdnimg.cn/blog_migrate/169c8d82d4420145b2e90a25c6127bfd.jpeg)
Q32竟然不是0?
在一定条件下,由QR算法生成的序列{Ak}收敛为Schur分块上三角形,对角块按特征值的模从大到小排列。
但有特殊情况,就是我们今天遇到的,当收敛结果为Schur分块上三角形时,序列{Ak}的对角块以上的元素以及2阶块的元素不一定收敛。
Q22、Q23、Q32、Q33构成了一个二阶矩阵。需要继续求得该二阶矩阵的特征值,补充到原矩阵的特征值中即可。
![f43c0b888682f133ea73a0f03d681bed.png](https://i-blog.csdnimg.cn/blog_migrate/1abf2755cf2ffb35115f4d692d8be36b.jpeg)
为什么会这样?
首先,回到实Schur分解定理,对于任意A方阵,存在这样的正交矩阵U
![equation?tex=U%5E%7BT%7DAU%3DT](https://i-blog.csdnimg.cn/blog_migrate/468baf382d95d049b2a53a8696dd745d.png)
![equation?tex=UTU%5E%7BT%7D%3DA](https://i-blog.csdnimg.cn/blog_migrate/4bc06dd41e452328de5f8b7d014c3786.png)
其中U是酉矩阵,这里特指正交矩阵,T是一个Schur分块上三角矩阵(上三角和对角阵是特殊情况),如下图所示:
![equation?tex=%5Cbegin%7Barray%7D%7B1%7D+T_%7B11%7D%26T_%7B12%7D%26+...%26T_%7B1m%7D+%5C%5C+%26T_%7B22%7D%26...%26T_%7B2m%7D+%5C%5C+%26%26...%26...+%5C%5C+%26%26%26T_%7Bmm%7D+%5Cend%7Barray%7D](https://i-blog.csdnimg.cn/blog_migrate/8dbad17f7d931dc412f73f7ab751beb3.png)
其中对角块
![equation?tex=T_%7Bii%7D](https://i-blog.csdnimg.cn/blog_migrate/4f1e671a037dc9ecfe7043036b2fb720.png)
从文章开头截图我们可以看出,我们已经将A转化成Hessenberg的形式,主要是为了节省运算量。
QR迭代也是Schur分解定理的应用,所以生成的是Schur分块上三角矩阵。