matlab 特征值分解排序,在 QZ 分解中将特征值重新排序

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

计算一对矩阵 A 和 B 的 QZ 分解或广义 Schur 分解。此分解生成因子 AA=QAZ 和 BB=QBZ。

A = magic(5);

B = hilb(5);

[AA,BB,Q,Z] = qz(A,B)

AA = 5×5

14.5272 -2.3517 8.5757 -0.2350 -1.4432

0 -19.7471 2.1824 4.5417 7.2059

0 0 -17.9538 8.9292 -9.6961

0 0 0 30.3449 -47.9191

0 0 0 0 32.4399

BB = 5×5

0.0000 0.0005 0.0018 0.0465 0.2304

0 0.0008 0.0199 0.1662 0.7320

0 0 0.0210 0.1006 -0.1341

0 0 0 0.0623 -1.1380

0 0 0 0 0.7434

Q = 5×5

-0.1743 -0.1099 -0.0789 -0.4690 0.8552

-0.7567 -0.1151 -0.0846 0.6172 0.1617

-0.4010 0.6782 0.5478 -0.2664 -0.0901

0.4178 -0.0297 0.6473 0.4883 0.4089

-0.2484 -0.7168 0.5173 -0.2995 -0.2593

Z = 5×5

0.0057 -0.0424 -0.2914 -0.5860 -0.7549

-0.1125 0.4109 0.7635 0.1734 -0.4533

0.4995 -0.6746 0.1486 0.4053 -0.3303

-0.7694 -0.2140 -0.2614 0.4749 -0.2616

0.3818 0.5731 -0.4917 0.4866 -0.2173

由于 AA 和 BB 都是三角矩阵,因此使用 ordeig 从 AA 和 BB 的对角块中提取特征值。

e = ordeig(AA,BB)

e = 5×1

106 ×

2.8871

-0.0257

-0.0009

0.0005

0.0000

将特征值分成组,由正实数特征值 (e>0) 构成起始组。根据此特征值顺序,对矩阵 AA、BB、Q 和 Z 重新排序。

[AAS,BBS,QS,ZS] = ordqz(AA,BB,Q,Z,'rhp')

AAS = 5×5

14.5272 -1.2849 1.0391 -7.6821 4.4119

0 21.7128 -19.1784 -1.8380 9.1187

0 0 60.3083 8.4452 -6.4304

0 0 0 -18.2081 3.3783

0 0 0 0 -14.6375

BBS = 5×5

0.0000 0.0114 0.1908 0.1119 0.0788

0 0.0446 0.0377 0.1107 0.1978

0 0 1.3820 0.6325 0.2807

0 0 0 0.0007 -0.0137

0 0 0 0 0.0171

QS = 5×5

-0.1743 -0.1099 -0.0789 -0.4690 0.8552

-0.6353 0.1853 0.4099 0.5765 0.2483

-0.7034 -0.4518 -0.3456 -0.2295 -0.3591

0.1415 -0.2036 -0.7054 0.6065 0.2703

-0.2263 0.8414 -0.4568 -0.1647 -0.0705

ZS = 5×5

0.0057 -0.0088 -0.5288 -0.3591 -0.7690

-0.1125 -0.6095 -0.3858 -0.4737 0.4926

0.4995 0.6478 -0.2711 -0.3644 0.3529

-0.7694 0.4176 -0.4090 0.1750 0.1890

0.3818 -0.1855 -0.5752 0.6952 0.0758

检查新的特征值顺序。

E2 = ordeig(AAS,BBS)

E2 = 5×1

106 ×

2.8871

0.0005

0.0000

-0.0257

-0.0009

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值