This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


QZ factorization for generalized eigenvalues


[AA,BB,Q,Z] = qz(A,B)
[AA,BB,Q,Z,V,W] = qz(A,B)


The qz function gives access to intermediate results in the computation of generalized eigenvalues.

[AA,BB,Q,Z] = qz(A,B) for square matrices A and B, produces upper quasitriangular matrices AA and BB, and unitary matrices Q and Z such that Q*A*Z = AA, and Q*B*Z = BB. For complex matrices, AA and BB are triangular.

[AA,BB,Q,Z,V,W] = qz(A,B) also produces matrices V and W whose columns are generalized eigenvectors.

qz(A,B,flag) for real matrices A and B, produces one of two decompositions depending on the value of flag:


Produces a possibly complex decomposition with a triangular AA. For compatibility with earlier versions, 'complex' is the default.


Produces a real decomposition with a quasitriangular AA, containing 1-by-1 and 2-by-2 blocks on its diagonal.

If AA is triangular, then the diagonal elements a = diag(AA) and b = diag(BB) are the generalized eigenvalues that satisfy

A*V*b = B*V*a
b'*W'*A = a'*W'*B

The eigenvalues produced by lambda = eig(A,B) are the ratios of the diagonal elements a and b, such that lambda = a./b.

If AA is not triangular, it is necessary to further reduce the 2-by-2 blocks to obtain the eigenvalues of the full system.

See Also

Introduced before R2006a