POWER_METHOD
The Power Method for Eigenvalues and Eigenvectors


POWER_METHOD is a C++ library which carries out the power method.

The power method seeks to determine the eigenvalue of maximum modulus, and a corresponding eigenvector.

The basic power method will not perform as expected if, corresponding to the maximum modulus, there are complex eigenvalues, or a pair of real eigenvalues of opposite sign. The power method's behavior can break down or be very slow initially if the starting vector has a zero or very small component in the eigenspace corresponding to the maximal eigenvalue.

A second version of the power method is included which can handle the case of complex eigenvalues.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

POWER_METHOD is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

ARPACK, a FORTRAN90 library which computes eigenvalues for large matrices;

EISPACK, a FORTRAN77 library which carries out eigenvalue computations; superseded by LAPACK;

TEST_EIGEN, a C++ library which implements test matrices for eigenvalue analysis.

TEST_MAT, a C++ library which defines test matrices.

TOMS343, a FORTRAN77 library which computes the eigenvalues and eigenvectors of a general real matrix;
this is a FORTRAN77 version of ACM TOMS algorithm 343.

TOMS384, a FORTRAN77 library which computes the eigenvalues and eigenvectors of a symmetric matrix;
this is a FORTRAN77 version of ACM TOMS algorithm 384.

Reference:

  1. Richard Burden, Douglas Faires,
    Numerical Analysis,
    Thomson Brooks/Cole, 2004,
    ISBN13: 978-0534392000,
    LC: QA297.B84.
  2. Ward Cheney, David Kincaid,
    Numerical Mathematics and Computing,
    Brooks-Cole Publishing, 2004,
    ISBN: 0534201121,
    LC: QA297.C426.
  3. Gene Golub, Charles VanLoan,
    Matrix Computations, Third Edition,
    Johns Hopkins, 1996,
    ISBN: 0-8018-4513-X,
    LC: QA188.G65.
  4. Eric VanDeVelde,
    Concurrent Scientific Programming,
    Springer, 1994,
    ISBN: 0-387-94195-9,
    LC: QA76.58.V35.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.


Last modified on 28 May 2008.