Navigation

Operators and Keywords

Function List:

C++ API

: lambda = qz (A, B)
: lambda = qz (A, B, opt)

QZ decomposition of the generalized eigenvalue problem (A x = s B x).

There are three ways to call this function:

  1. lambda = qz (A, B)

    Computes the generalized eigenvalues lambda of (A - s B).

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

    Computes QZ decomposition, generalized eigenvectors, and generalized eigenvalues of (A - s B)

    
    A * V = B * V * diag (lambda)
    W' * A = diag (lambda) * W' * B
    AA = Q * A * Z, BB = Q * B * Z
    
    

    with Q and Z orthogonal (unitary)= I

  3. [AA,BB,Z{, lambda}] = qz (A, B, opt)

    As in form [2], but allows ordering of generalized eigenpairs for, e.g., solution of discrete time algebraic Riccati equations. Form 3 is not available for complex matrices, and does not compute the generalized eigenvectors V, W, nor the orthogonal matrix Q.

    opt

    for ordering eigenvalues of the GEP pencil. The leading block of the revised pencil contains all eigenvalues that satisfy:

    "N"

    = unordered (default)

    "S"

    = small: leading block has all |lambda|≤ 1

    "B"

    = big: leading block has all |lambda|≥ 1

    "-"

    = negative real part: leading block has all eigenvalues in the open left half-plane

    "+"

    = non-negative real part: leading block has all eigenvalues in the closed right half-plane

Note: qz performs permutation balancing, but not scaling (see ‘XREFbalance’). The order of output arguments was selected for compatibility with MATLAB.

See also: eig, balance, lu, chol, hess, qr, qzhess, schur, svd.

Package: octave