Singular Matrix Pencils and the QZ Algorithm
This year, 2023, is the 50-th anniversary of the QZ algorithm for generalized matrix eignenvalue problems,
Ax = λBx
The algorithm computes these eigevalues without inverting either A or B. And, the QZ-algorithm can help detect and analyze exceptional situaions known as singular pencils.
Contents
Matrix pencils
If A and B are two square matrices, the linear matrix pencil is the matrix-valued function
A - λB
A pencil is regular if there is at least one value of λ for which A - λB if not singular. The pencil is singular if both A and B are singular and, moreover, A - λB is singular for all λ. In other words,
det(A - λB) = 0 for all λ.
Singular pencils are more insiduous than migt appear at first glance.
Example
A = [9 8 7; 6 5 4; 3 2 1] B = [7 9 8; 4 6 5; 1 3 2]
A = 9 8 7 6 5 4 3 2 1 B = 7 9 8 4 6 5 1 3 2
syms s
AB = A - s*B
d = det(AB)
AB = [9 - 7*s, 8 - 9*s, 7 - 8*s] [6 - 4*s, 5 - 6*s, 4 - 5*s] [ 3 - s, 2 - 3*s, 1 - 2*s] d = 0
eig1 = eig(A,B) eig2 = 1./eig(B,A) [QAZ,QBZ,Q,Z,V,W] = qz(A,B); QAZ, QBZ
eig1 = -0.4071 1.0000 0.2439 eig2 = -2.0000 1.0000 0.3536 QAZ = -1.0298 -13.0363 7.7455 0 5.6991 -4.6389 0 0 0.0000 QBZ = 2.4396 -11.4948 9.6394 0 5.6991 -4.6389 0 0 0.0000
eig3 = eig(A',B') eig4 = 1./eig(B',A') [QATZ,QBTZ,Q,Z,V,W] = qz(A',B'); QATZ, QBTZ
eig3 = -0.2169 Inf 1.0000 eig4 = -0.0738 0 1.0000 QATZ = -0.0000 -15.0218 6.8390 0 2.6729 -2.2533 0 0 0.5922 QBTZ = 0.0000 -15.2578 7.1280 0 0 1.0203 0 0 0.5922
Wilkinson example
clear 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 5 0 0 -3 -2 3 1 3 5
syms s
AB = A - s*B
d = det(AB)
AB = [4 - 2*s, 3 - s, 2 - 3*s, 5 - 4*s] [6 - 3*s, 4 - 3*s, 2 - 3*s, 7 - 5*s] [ -1, -1, 3*s - 2, 2*s - 2] [5 - 3*s, 3 - s, 2 - 3*s, 6 - 5*s] d = 0
eig1 = eig(A,B) eig2 = 1./eig(B,A) [QAZ,QBZ,Q,Z,V,W] = qz(A,B); QAZ, QBZ
eig1 = 1.2056 0.7055 -1.0000 -Inf eig2 = 1.5097 0.6408 0 -1.0000 QAZ = 0.7437 4.1769 -12.7279 -5.5000 0 0.0000 5.2328 2.1602 0 0 0.7857 0.0123 0 0 0 -0.2887 QBZ = 0.5005 6.6143 -8.4853 -2.5000 0 0.0000 3.2668 2.0105 0 0 1.1525 -0.7904 0 0 0 0.2887
eig3 = eig(A',B') eig4 = 1./eig(B',A') [QATZ,QBTZ,Q,Z,V,W] = qz(A',B'); QATZ, QBTZ
eig3 = -0.2141 + 0.2033i -0.2141 - 0.2033i 0.7013 + 0.0000i 1.4508 + 0.0000i eig4 = 0.3168 0.9823 1.2325 0 QATZ = 0.1281 - 0.2434i 0.2665 + 0.0169i 0.2663 + 1.4905i 0.3721 + 3.5350i 0.0000 + 0.0000i 0.0587 + 0.1116i 5.2603 - 1.6197i 12.7878 - 4.0110i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 4.1745 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.7572 + 0.0000i QBTZ = 0.9052 + 0.0000i 0.6130 - 0.6141i -0.2443 + 0.8738i 1.2233 + 2.5485i 0.0000 + 0.0000i 0.4150 + 0.0000i 3.5658 - 1.2114i 8.0696 - 2.2671i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 6.6127 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.5220 + 0.0000i
References
C. B. Moler and G. W. Stewart, "An Algorithm for Generalized Matrix Eigenvalue Problems", SIAM J.NUMER.ANAL. Vol.10, No.2, April 1973. Also available at cbm_gws.pdf
J. H. Wilkinson, Kronecker's Canonical Form and the QZ Algorithm", LINEAR ALGEBRA AND ITS APPPLICATIONS, Vol. 28, 1979. Also available at Also available at wilkinson.pdf
Comments
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.