eigs, a Fortran90 code which calculates the eigenvalues of a real matrix.
In cases like MATLAB, Octave, and Python, there is a standard built-in function for computing eigenvalues which is appropriate for this task, and we simply supply a code eigs_test() to demonstrate its use.
In other cases, particularly C, C++, Fortran77 and Fortran90, pre-existing eigenvalue software has been rearranged and packaged to form a simple function of the form eigs(n,A,lambda), which saves the user from the usual trouble of arranging a proper call.
Here, the Fortran90 version of eigs() relies on a call to the lapack() function dgeev() to produce its results. It is assumed that a precompiled copy of the lapack() library is available at link time.
The information on this web page is distributed under the MIT license.
arpack, a Fortran90 code which uses Arnoldi iteration to compute eigenvalues for large matrices. It includes a reverse communication (RC) feature. It is Richard Lehoucq, Danny Sorensen, Chao Yang;
eispack, a Fortran90 code which carries out eigenvalue computations. It includes a function to compute the singular value decomposition (SVD) of a rectangular matrix. superseded by lapack();
jacobi_eigenvalue, a Fortran90 code which implements the Jacobi iteration for the iterative determination of the eigenvalues and eigenvectors of a real symmetric matrix.
lapack_test, a Fortran90 code which calls lapack(), which is a standard linear algebra package for solving linear systems, computing matrix factorizations, and solving eigenvalue problems. A precompiled copy of the lapack() library is often available on most scientific computing systems.
power_method, a Fortran90 code which carries out the power method for finding a dominant eigenvalue and its eigenvector.
test_eigen, a Fortran90 code which defines various eigenvalue test cases.
test_matrix, a Fortran90 code which defines test matrices, some of which have known eigenvalues and eigenvectors.