奇异矩阵铅笔和QZ算法,更新

(1月5日的那篇文章不成熟,也不完整。)

今年,2023年,是QZ算法解决广义矩阵特征值问题50周年,

Ax = λBx

该算法避免了两者的反转一个B。而且,重要的是,QZ算法可用于检测和分析问题的异常实例奇异的铅笔。这些铅笔不会出现在标准特征值问题中B是单位矩阵。

内容

奇异的铅笔

矩阵铅笔是单数如果两个一个B都是单数,而且,一个- - - - - -λB对所有λ是奇异的。同样,

det(A - λ b) = 0。

奇异的铅笔比乍一看更阴险。在某种意义上,光谱就是整个复平面。

标准特征值问题不存在奇异铅笔

Ax = λx

在哪里B是单位矩阵,当然是非奇异的。

如果一个B都是实对称的或复厄密的,但都不是正定的,铅笔可以是也可以不是奇异的。对称问题经常出现,并且有单独的算法和摄动和收敛理论。

QZ算法直到最后一步才计算特征值λ。它稳定地减少一个B以α和β为对角线的三角形。特征值就是比值

λ = α./β

α或β中的孤立零产生零或无限个特征值,没有特别困难。当且仅当α和β中的零出现时,才会出现奇异铅笔使用相同的索引和(用精确的算术)导致λ = 0/0 = NaN。

对于一个奇异的铅笔,α和β中的一些,也许是全部的对角线值对摄动是高度敏感的,并且从比率计算出的所有特征值都是可疑的。理论上,病态特征值可以由Kronecker标准形式确定,它是著名的Jordan标准形式的推广。但是,像Jordan形式一样,Kronecker形式不能提供一个稳定的数值算法。

3 x3的例子

A = [9 8 7];6 5 4;[1 2 2] b = [1 3 2];4 6 5;[7]
A = 9 8 7 6 5 4 3 2 1 b = 1 3 2 4 6 5 7 9 8

我们来验证一下这是一支单铅笔。使用符号数学工具箱来引入自由变量。

信谊λAB = A - *B
AB = [9 - lambda, 8 - 3*lambda, 7 - 2*lambda] [6 - 4*lambda, 5 - 6*lambda, 4 - 5*lambda] [3 - 7*lambda, 2 - 9*lambda, 1 - 8*lambda]

无需进一步计算,我们可以看到第二行是所有第一行和第三行的平均值λ因此行列式必须等于零。

用精确的算术,这些表述中的每一个都会产生相同的特征值。引入一些舍入误差后,两个λ是不确定的,但是Lambda = -1出现在所有四个结果中。是Lambda = -1一个稳定的特征值?

lambda_AB = eig(A,B) lambda_BA = 1./eig(B,A) lambda_ATBT = eig(A',B') lambda_BTAT = 1./eig(B',A')
lambda_AB = 1.8984 -1.0000 -0.0807 lambda_BA = -1.0000 0.5837 -0.9274 lambda_ATBT = 0.0829 Inf -1.0000 lambda_BTAT = -0.9661 0 -1.0000

的三角矩阵lambda_AB

[qz,QBZ] = qz(A,B);QAZ QBZ
QBZ = 1.6131 10.2664 -11.0905 0 -4.2969 5.9613 00 -0.0000 QBZ = 0.7898 6.8901 -13.5242 0 4.2969 -5.9613 00 0.0000

仔细检查对角线可以发现阿尔法(2)/β(2)正在生产-1,而阿尔法(3)/β(3)是舍入除以舍入。

格式ealpha = diag(QAZ) beta = diag(QBZ)格式
alpha = 1.613087771308989e+00 -4.296911800112353e+00 -1.965207685813115e-15 beta = 7.898460671891234e-01 4.296911800112357e+00 1.359052275299816e-15

威尔金森的例子

1979年,吉姆·威尔金森发表了一篇关于QZ和克罗内克产品的调查论文。下载188bet金宝搏他的一个例子是

A = [4 3 2 5];6 4 2 7;-1 -1 -2 -2;[3] b = [4];3 3 3 5;0 0 -3 -2;[3]
A = 4 3 2 5 6 4 2 7 -1 -1 -2 -2 5 3 2 6 b = 2 1 3 4 4 3 3 5 0

使用“符号数学工具箱”来验证这是一支单数铅笔。

信谊λAB = A - *B
AB = [4 - 2*lambda, 3 - lambda, 2 - 3*lambda, 5 - 4*lambda] [6 - 3*lambda, 4 - 3*lambda, 2 - 3*lambda, 7 - 5*lambda] [-1, -1, 3*lambda - 2,2 *lambda - 2] [5 - 3*lambda, 3 - lambda, 2 - 3*lambda, 6 - 5*lambda]

行列式对所有都等于零λ

d = det(AB)
D = 0

使用精确的算术,这些语句中的每一个都将产生相同的特征值,但实际上每一组都是不同的。没有一个特征值是稳定的。

lambda_AB = eig(A,B) lambda_BA = 1./eig(B,A) lambda_ATBT = eig(A',B') lambda_BTAT = 1./eig(B',A')
lambda_AB = 1.2056 0.7055 -1.0000 - inf lambda_BA = 1.5097 0.6408 0 -1.0000 lambda_ATBT = -0.2141 + 0.2033i -0.2141 - 0.2033i 0.7013 + 0.0000i 1.4508 + 0.0000i lambda_BTAT = 0.3168 0.9823 1.2325 0

的三角矩阵lambda_AB

[qz,QBZ] = qz(A,B);QAZ QBZ
QBZ = 0.7437 4.1769 -12.7279 -5.5000 0 0.0000 5.2328 2.1602 00 0.7857 0.0123 000 -0.2887 QBZ = 0.5005 6.6143 -8.4853 -2.5000 0 0.0000 3.2668 2.0105 00 1.1525 -0.7904 000 0.2887

更仔细地检查对角线。阿尔法(2)/β(2)是唯一的四舍五入,但是所有四个特征值都是不稳定的。

格式ealpha = diag(QAZ) beta = diag(QBZ)格式
alpha = 7.437114999643711e-01 1.216947725307920e-14 7.857314232211017e-01 -2.886751345948121e-01 1.21080292327182e 1.152509249099882e+00 2.886751345948153e-01

参考文献

C. B. Moler和G. W. Stewart,“广义矩阵特征值问题的一种算法”,刘建军。数值分析,第10卷第2期,1973年4月。亦可于cbm_gws.pdf

J. H. Wilkinson,“Kronecker标准形式与QZ算法”,线性代数及其应用, 1979年第28卷。亦可于wilkinson.pdf




用MATLAB®R2023a发布

|

评论

要发表评论,请点击此处2017-07-29 13:313:00