Symmetric Eigenvalue Problems: LAPACK
Computational Routines
Symmetric eigenvalue
problems are posed as follows: given an
n
-by-n
real symmetric or complex
Hermitian matrix
A
, find the
eigenvalues λ
and the corresponding
eigenvectors
z
that
satisfy the equation
Az
=
λ
z
z
H
A
=
λ
z
H
In such eigenvalue problems, all
n
eigenvalues
are real not only for real symmetric but also for complex Hermitian matrices
A
, and there
exists an orthonormal system of
n
eigenvectors.
If
A
is a symmetric
or Hermitian positive-definite matrix, all eigenvalues are positive.
To solve a symmetric eigenvalue problem with LAPACK,
you usually need to reduce the matrix to tridiagonal form and then solve the
eigenvalue problem with the tridiagonal matrix obtained. LAPACK includes
routines for reducing the matrix to a tridiagonal form by an orthogonal (or
unitary) similarity transformation
as well as for
solving tridiagonal symmetric eigenvalue problems. These routines
are listed in
Table
A
=
QTQ
H
"Computational Routines for Solving Symmetric
Eigenvalue Problems"
.
There are different routines for symmetric eigenvalue
problems, depending on whether you need all eigenvectors or only some of them
or eigenvalues only, whether the matrix
A
is
positive-definite or not, and so on.
These routines are based on three primary algorithms
for computing eigenvalues and eigenvectors of symmetric problems: the divide
and conquer algorithm, the QR algorithm, and bisection followed by inverse
iteration. The divide and conquer algorithm is generally more efficient and is
recommended for computing all eigenvalues and eigenvectors. Furthermore, to
solve an eigenvalue problem using the divide and conquer algorithm, you need to
call only one routine. In general, more than one routine has to be called if
the QR algorithm or bisection followed by inverse iteration is used.
Operation
| Real symmetric matrices
| Complex Hermitian matrices
|
---|---|---|