MATLAB Function Reference | ![]() ![]() |
QZ factorization for generalized eigenvalues
Syntax
[AA,BB,Q,Z,V] = qz(A,B) [AA,BB,Q,Z,V] = qz(A,B,flag)
Description
The qz
function gives access to intermediate results in the computation of generalized eigenvalues.
[AA,BB,Q,Z,V] = qz(A,B)
for square matrices A
and B
, produces upper triangular matrices AA
and BB
, unitary matrices Q
and Z
containing the products of the left and right transformations, such that Q*A*Z = AA
, and Q*B*Z = BB
, and the generalized eigenvector matrix V
.
[AA,BB,Q,Z,V] = qz(A,B,flag)
for real matrices A
and B
, produces one of two decompositions depending on the value of flag
:
If AA
is triangular, the alphas and betas comprising the generalized eigenvalues are the diagonal elements of AA
and BB
so that
A*V*diag(BB) = B*V*diag(AA)
If AA
is quaditriangular, it is necessary to solve 2-by-2 generalized problems to obtain the actual eigenvalues.
For complex matrices A
and B
, AA
and BB
are always triangular.
Algorithm
For real QZ on real A
and real B
, eig
uses the LAPACK DGGES
routine. If you request the fifth output V
, eig
also uses DTGEVC
.
For complex QZ on real or complex A
and B
, eig
uses the LAPACK ZGGES
routine. If you request the fifth output V
, eig
also uses 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, Third Edition, SIAM, Philadelphia, 1999.
![]() | quiver3 | rand | ![]() |