Generalized Nonsymmetric Eigenvalue Problems

This topic describes LAPACK routines for solving generalized nonsymmetric eigenvalue problems, reordering the generalized Schur factorization of a pair of matrices, as well as performing a number of related computational tasks.

A generalized nonsymmetric eigenvalue problem is as follows: given a pair of nonsymmetric (or non-Hermitian) n-by-n matrices A and B, find the generalized eigenvalues λ and the corresponding generalized eigenvectors x and y that satisfy the equations

Ax = λBx (right generalized eigenvectors x)

and

yHA = λyHB (left generalized eigenvectors y).

Table "Computational Routines for Solving Generalized Nonsymmetric Eigenvalue Problems" lists LAPACK routines (FORTRAN 77 interface) used to solve the generalized nonsymmetric eigenvalue problems and the generalized Sylvester equation. The corresponding routine names in the Fortran 95 interface are without the first symbol.

Computational Routines for Solving Generalized Nonsymmetric Eigenvalue Problems

Routine name

Operation performed

gghrd

Reduces a pair of matrices to generalized upper Hessenberg form using orthogonal/unitary transformations.

ggbal

Balances a pair of general real or complex matrices.

ggbak

Forms the right or left eigenvectors of a generalized eigenvalue problem.

hgeqz

Implements the QZ method for finding the generalized eigenvalues of the matrix pair (H,T).

tgevc

Computes some or all of the right and/or left generalized eigenvectors of a pair of upper triangular matrices

tgexc

Reorders the generalized Schur decomposition of a pair of matrices (A,B) so that one diagonal block of (A,B) moves to another row index.

tgsen

Reorders the generalized Schur decomposition of a pair of matrices (A,B) so that a selected cluster of eigenvalues appears in the leading diagonal blocks of (A,B).

tgsyl

Solves the generalized Sylvester equation.

tgsyl

Estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a pair of matrices in generalized real Schur canonical form.

For more complete information about compiler optimizations, see our Optimization Notice.