power_method


power_method, a FORTRAN90 code which carries out the power method.

The power method implemented here is given a real square matrix, and 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 MIT license

Languages:

power_method is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

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

power_method_test

TEST_EIGEN, a FORTRAN90 code which implements test matrices for eigenvalue analysis.

TEST_MAT, a FORTRAN90 code which defines test matrices.

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:


Last modified on 19 August 2020.