**LA_GGEVX** computes for a pair of real or complex matrices
the generalized eigenvalues in the form of scalar pairs (
)
and, optionally, the left and/or right generalized eigenvectors.

A generalized eigenvalue of the pair is, roughly speaking, a
scalar of the form
such that the matrix
is singular. It is usually represented as the pair
, as
there is a reasonable interpretation of the case
(even if ).

A right generalized eigenvector corresponding to a generalized
eigenvalue is a vector such
that
. A left generalized eigenvector is
a vector such that
, where is
the conjugate-transpose of .

The computation is based on the (generalized) real or complex Schur form of
. (See **LA_GGES** for details of this form.)

Optionally, **LA_GGEVX** also computes a balancing transformation (to improve
the conditioning of the eigenvalues and eigenvectors), reciprocal
condition numbers for the eigenvalues, and reciprocal condition numbers for the
right eigenvectors. The balancing transformation consists of a permutation of
rows and columns and/or a scaling of rows and columns.