Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

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
(or, equivalently,
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
A
=
QTQ
H
as well as for solving tridiagonal symmetric eigenvalue problems. These routines are listed in Table
"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.
Computational Routines for Solving Symmetric Eigenvalue Problems
Operation
Real symmetric matrices
Complex Hermitian matrices
Reduce to tridiagonal form
A
=
QTQ
H
(full storage)
Reduce to tridiagonal form
A
=
QTQ
H
(packed storage)
Reduce to tridiagonal form
A
=
QTQ
H
(band storage).
Generate matrix
Q
(full storage)
Generate matrix
Q
(packed storage)
Apply matrix
Q
(full storage)
Apply matrix
Q
(packed storage)
Find all eigenvalues of a tridiagonal matrix
T
 
Find all eigenvalues and eigenvectors of a tridiagonal matrix
T
Find all eigenvalues and eigenvectors of a tridiagonal positive-definite matrix
T
.
Find selected eigenvalues of a tridiagonal matrix
T
Find selected eigenvectors of a tridiagonal matrix
T
Find selected eigenvalues and eigenvectors of f a real symmetric tridiagonal matrix
T
Compute the reciprocal condition numbers for the eigenvectors

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804