Generalized Eigenvalue Problems
The generalized eigenvalue problem Ax = λBx is often difficult for users to analyze because it is frequently ill-conditioned. There are occasionally changes of variables that can be performed on the given problem to ease this ill-conditioning. Suppose that B is singular but A is nonsingular. Define the reciprocal μ = λ-1. Then, the roles of A and B are interchanged so that the reformulated problem Bx = μAx is solved. Those generalized eigenvalues μj = 0 correspond to eigenvalues λj = ∞. The remaining
The generalized eigenvectors for λj correspond to those for μj. Other reformulations can be made: If B is nonsingular, the user can solve the ordinary eigenvalue problem Cx ≡ B-1 Ax = λx. This is not recommended as a computational algorithm for two reasons. First, it is generally less efficient than solving the generalized problem directly. Second, the matrix C will be subject to perturbations due to ill-conditioning and rounding errors when computing B-1 A. Computing the condition numbers of the eigenvalues for C may, however, be helpful for analyzing the accuracy of results for the generalized problem.
There is another method that users can consider to reduce the generalized problem to an alternate ordinary problem. This technique is based on first computing a matrix decomposition
B =
PQ, where both
P and
Q are matrices that are “simple” to invert. Then, the given generalized problem is equivalent to the ordinary eigenvalue problem
Fy =
λy. The matrix
F ≡ P-1 AQ-1. The unnormalized eigenvectors of the generalized problem are given by
x =
Q-1 y. An example of this reformulation is used in the case where
A and
B are real and symmetric with
B positive definite. The IMSL routines
GVLSP and
GVCSP use
P =
RT and
Q =
R where
R is an upper triangular matrix obtained from a Cholesky decomposition,
B =
RTR. The matrix
F =
R-T AR-1 is symmetric and real. Computation of the eigenvalue-eigenvector expansion for
F is based on routine
EVCSF.