40.ordqz函数

在MATLAB中,提供了ordqz函数实现在QZ分解中将特征值重新排序。

[AAS,BBS,QS,ZS]=ordqz(AA,BB,Q,Z,select):对由[AA,BB,Q,Z]=qz(A,B)生成的QZ分解Q∗A∗Z=AA和Q∗B∗Z=BB重新排序,并返回重新排序后的矩阵对组(AAS,BBS)以及正交矩阵(QS,ZS),从而使得QS∗A∗ZS=AAS,QS∗B∗ZS=BBS。

在此重新排序中,选定的特征值组出现在拟三角对组(AAS,BBS)的主(左上方)对角块中。对应的不变子空间为ZS的前导列所涵盖。逻辑向量select指定选定的组为e(select),其中e=ordeig(AA,BB)。

[AAS,BBS,QS,ZS]=ordqz(AA,BB,Q,Z,keyword):设置选定的组以包含keyword指定的区域中的所有特征值。

[AAS,BBS,QS,ZS]=ordqz(AA,BB,Q,Z,clusters):同时对多个组重新排序。ordqz沿(AAS,BBS)的对角线按降序排列指定的组,具有最高索引的群集位于左上角。

【例1-42】计算一对矩阵的QZ分解,然后根据指定的特征值顺序对因子重新排序。