MATLAB Function Reference |

QZ factorization for generalized eigenvalues

**Syntax**

**Description**

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`

:

If `AA`

is triangular, the diagonal elements of `AA`

and `BB`

,

are the generalized eigenvalues that satisfy

are the element-wise ratios of `alpha`

and `beta`

.

If `AA`

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

**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* (http://www.netlib.org/lapack/lug/
lapack_lug.html), Third Edition, SIAM, Philadelphia, 1999.

quiver3 | rand |