power_method


power_method, a MATLAB code which carries out the power method, for determining the eigenvalue of largest magnitude, and the corresponding eigenvector, of a given matrix.

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 information on this web page is 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 and an Octave version and a Python version.

Related Data and Programs:

power_method_test

arpack_test, a MATLAB code which computes eigenvalues and eigenvectors of large sparse matrices, accessible via the built-in EIGS command;

pagerank, a MATLAB code which illustrates the eigenvalue (power method) and surfer (Markov chain) approaches to ranking web pages.

test_eigen, a MATLAB code which implements test matrices for eigenvalue analysis.

test_matrix, a MATLAB code which defines test matrices for which the condition number, determinant, eigenvalues, eigenvectors, inverse, null vectors, P*L*U factorization or linear system solution are known. Examples include the Fibonacci, Hilbert, Redheffer, Vandermonde, Wathen and Wilkinson matrices.

web_matrix, a MATLAB code which stores sample matrices describing a web page network. These matrices are typically very sparse, and the examples here are stored using the sparse triplet (ST) format. They can be used to demonstrate pagerank and other graph algorithms.

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 06 March 2019.