下一节:转换为标准问题
上一级:广义非厄米特征值问题
上一节:引言
直接法
QZ算法
是计算广义非对称厄米特征值问题(GNHEP)(8.1)的首选方法。
该算法是针对广义特征值问题的QR算法(参见第7.3节)的类似方法。
它遵循QR算法所述的模式:
- 首先通过酉等价变换同时将A和B化为压缩形式。
更具体地说,A被化为上海森堡形式,而B被化为上三角形式(舒尔形式)。
关键在于现在要将A也化为上舒尔形式,同时保持B为该形式。
这一步在下一步中完成。
- 通过矩阵对A和B上的酉等价变换Q和Z,模拟一次带位移的QR步对AB^{-1}的影响(不形成该矩阵乘积);这是QZ迭代的核心。
如果迭代应用,它将A化为三角或准三角形式(即对角线上有2乘2块,以避免复数运算),同时保持B的三角结构。
收敛时,我们得到A和B的广义舒尔形式(参见第2.6节);即,我们计算出正交的Q和Z,使得QAZ和QBZ为上三角。
- 可以从三角形式的对角线计算特征值。
特征向量可以作为三角问题的特征向量计算,然后通过Z变换回原问题的特征向量。
这一简要概述必然遗留了许多重要问题未予讨论。
欲了解更多细节,读者应查阅文献:QZ算法的原始论文是莫勒和斯图尔特[328];QZ算法也在例如戈卢布和范洛恩[198]或戴米尔[114]的教科书中有所描述。
QZ算法可求得所有特征值,并可选地求得右和左特征向量。
它需要O(n^3)次浮点运算和O(n^2)个内存位置,其中n是A和B的阶数。
更具体地说,仅计算特征值需要约30 n^3次浮点运算。
如果需要右特征向量,则还需额外16n^3次运算,左特征向量亦然。
这些工作量的估计基于经验,即每个特征值约需两次QZ迭代(QZ的收敛性质与QR大致相同)。
大多数与线性代数相关的软件包都包含了实现QZ算法的子程序。
在MATLAB中,它被用作eig(A,B)命令。[1]在LAPACK[12]中,以下驱动程序可用于执行各种任务:
- xGGES:计算广义特征值、广义舒尔形式,并可选地计算左和/或右舒尔向量矩阵。
- xGGESX:xGGES加上特征值和降阶子空间的条件估计。
- xGGEV:广义特征值,并可选地计算左和/或右广义特征向量。
- xGGEVX:xGGEV加上特征值和特征向量的条件估计。
字母{\tt x}代表实单或双精度数据类型的S或D,或复单或双精度数据类型的C或Z。
下一节:转换为标准问题
上一级:广义非厄米特征值问题
上一节:引言
Susan Blackford
2000-11-20