奇异矩阵铅笔和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;3 2 1] b = [1 3 2;4 6 5;7 9 8]
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]

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

通过精确的算术,每一个表述都会产生相同的特征值。引入一些四舍五入错误后,两者的λ是不确定的,但是= -1在所有四个结果中都存在。是= -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
qz = 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 000 0.0000

仔细观察对角线就会发现阿尔法(2)/β(2)产生了1,而阿尔法(3)/β(3)四舍五入除以四舍五入。

格式ealfa = 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;5 3 2 6] b = [2 1 3 4;3 3 3 5;0 0 -3 -2;3 1 3 5]
A = 4 3 2 5 6 4 2 7 -1 -1 -2 -2 5 3 2 6 b = 2 1 3 4 3 3 3 3 5 0 0 -3 -2 3 1 3 5

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

信谊λ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
qz = 0.7437 4.1769 -12.7279 -5.5000 0 0.0000 5.2328 2.1602 00 0.7857 0.0123 0000 -0.2887 QBZ = 0.5005 6.6143 -8.4853 -2.5000 0 0.0000 3.2668 2.0105 00 1.1525 -0.7904 0000 0 0.2887

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

格式ealfa = diag(QAZ) beta = diag(QBZ)格式
alpha = 7.437114999643711e-01 1.857314232211017e -01 -2.886751345948121e-01 beta = 5.005405248737872e-01 1.21080292327182e -13 1.152509249099882e+00 2.886751345948153e-01

参考文献

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

J. H.威尔金森,“Kronecker的规范形式和QZ算法”,线性代数及其应用第28卷,1979年。另载于wilkinson.pdf




由MATLAB®R2023a发布

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。