Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

6.1 Defining the Problem

The basic symmetric eigenvalue problem is to find the eigenvalues, l, and the eigenvectors, p, which satisfy the basic eigenvalue equation:

for the symmetric matrix A. Unlike the nonsymmetric case, which we consider later, the eigenvalues and eigenvectors are all real numbers. Here we discuss the real case, although all the objects described also exist for the complex case. In the complex case, the matrix is Hermitian, not symmetric, and the eigenvectors, though not the eigenvalues, may be complex. In the examples here, we consider A to be a SymMat, but everything works as well for the symmetric banded matrices SymBandMat.

There are many variations on the basic eigenvalue problem, and many related problems, that you may also need to solve. You may need only the eigenvalues, and not the eigenvectors. You might need only some of the eigenvalues. You might want to use a specialized algorithm to compute the decomposition if you know that A is positive definite. You may even want access to the low-level business of tridiagonal decompositions, and the decomposition objects themselves, to write your own algorithm for computing the eigenvalue decomposition.

The interface in LAPACK.h++ has been carefully designed to allow for all of these possibilities, without adding overhead for those who do not need all the functionality. We do this by providing a rich, layered design consisting of objects, each of which is orthogonal to the other objects. This way you deal only with the objects you need to do your job, and the others do their job quietly behind the scenes.


Previous fileTop of DocumentContentsIndexNext file

©Copyright 1999, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.