| MATLAB Function Reference | ![]() |
Syntax
[AA,BB,Q,Z] = qz(A,B) [AA,BB,Q,Z,V,W] = qz(A,B) qz(A,B,flag)
Description
[AA,BB,Q,Z] = qz(A,B)
對於方陣 A 和 B, 會產生上 quasitriangular 矩陣 AA 、 BB, 和么正矩陣Q 、 Z 使得 Q*A*Z = AA, 且 Q*B*Z = BB。若對於複數矩陣的話, AA 、 BB 則為 triangular。
[AA,BB,Q,Z,V,W] = qz(A,B)
還會另外產生 V 與 W ,它的行向量為廣義的特徵向量。
qz(A,B,flag)
對於實矩陣 A 和 B,會根據 flag 值來產生分解:
'complex' |
複數分解產生一個三角矩陣 AA。為了要與早期的版本相容, 'complex' 為預設值。 |
'real' |
實數分解產生一個 quasitriangular 矩陣AA,其包含了 1-by-1 和 2-by-2 的區塊在對角線上。 |
alpha =diag(AA)beta =diag(BB)
A*V*diag(beta) = B*V*diag(alpha) diag(beta)*W'*A = diag(alpha)*W'*B
lambda = eig(A,B)
lambda = alpha 。/ beta
若 AA 不是三角矩陣,則需要進一步的降低 2-by-2 的區塊以獲得整個系統的特徵值。
Algorithm
對於實數的 QZ 在實數的 A 矩陣、 B矩陣上, eig 會使用 LAPACK DGGES 程序。若你需要的是第五個輸出 V,則 eig 也可以用 DTGEVC。
對於複數的 QZ 在複數的 A 矩陣、 B矩陣上, eig 會使用 LAPACK ZGGES 程序。若你需要的是第五個輸出 V,則 eig 也可以用 ZTGEVC。
See Also
References
[1] Anderson, E., Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen, LAPACK User's Guide (http://www.netlib.org/lapack/lug/ lapack_lug.html), Third Edition, SIAM, Philadelphia, 1999.
| quiver3 | rand | ![]() |