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 |