A parallel-processing computer program finds a few eigenvalues in a sparse Hermitian matrix that contains as many as 100 million diagonal elements. This program finds the eigenvalues faster, using less memory, than do other, comparable eigensolver programs. This program implements a Lanczos algorithm in the American National Standards Institute/ International Organization for Standardization (ANSI/ISO) C computing language, using the Message Passing Interface (MPI) standard to complement an eigensolver in PARPACK. [PARPACK (Parallel Arnoldi Package) is an extension, to parallel-processing computer architectures, of ARPACK (Arnoldi Package), which is a collection of Fortran 77 subroutines that solve large-scale eigenvalue problems.] The eigensolver runs on Beowulf clusters of computers at the Jet Propulsion Laboratory (JPL). The package is open-source software and is distributed under the terms of the GNU Lesser General Public License (LGPL) on the Internet through the Open Channel Foundation at http://www.openchannelsoftware.com/  .

This program was written by E. Robert Tisdale, Fabiano Oyafuso, Gerhard Klimeck, and R. Chris Brown of Caltech for NASA’s Jet Propulsion Laboratory.

This software is available for commercial licensing. Please contact Don Hart of the California Institute of Technology at (818) 393- 3425. Refer to NPO-30834.



This Brief includes a Technical Support Package (TSP).
Document cover
Eigensolver for a Sparse, Large Hermitian Matrix

(reference NPO-30834) is currently available for download from the TSP library.

Don't have an account?



Magazine cover
NASA Tech Briefs Magazine

This article first appeared in the November, 2003 issue of NASA Tech Briefs Magazine (Vol. 27 No. 11).

Read more articles from the archives here.


Overview

The document presents a technical support package from NASA's Jet Propulsion Laboratory (JPL) detailing a parallel eigensolver designed for large sparse complex Hermitian matrices, capable of handling up to 100 million diagonal elements. This software addresses the need for efficient and fast eigensolvers in the realm of computational mathematics, particularly for applications that require the extraction of a few eigenvalues and their corresponding eigenvectors.

The eigensolver is implemented using the Lanczos algorithm, a well-known iterative method for finding eigenvalues and eigenvectors of large matrices. It is developed in the ANSI/ISO C programming language and utilizes the Message Passing Interface (MPI) standard, which facilitates parallel processing across multiple computing nodes. This design allows the software to run effectively on Beowulf clusters, which are groups of computers that work together to perform complex computations.

One of the standout features of this software is its open-source nature, distributed under the GNU Lesser General Public License (LGPL). This makes it accessible for both academic and commercial use, promoting collaboration and further development within the scientific community. The software package includes example programs that demonstrate its capabilities, including performance comparisons with existing eigensolvers like the Parallel Arnoldi Package (PARPACK).

The document emphasizes the unique combination of features that this eigensolver offers, particularly its ability to efficiently handle very large sparse matrices, which is a significant challenge in numerical linear algebra. The authors, E. Robert Tisdale, Fabiano Oyafuso, Gerhard Klimeck, and R. Chris Brown from Caltech, highlight the lack of fast, efficient, open-source solutions for such large-scale problems, positioning their work as a valuable contribution to the field.

In summary, this technical support package outlines a significant advancement in the computational tools available for researchers and engineers dealing with large-scale eigenvalue problems. By leveraging parallel processing and open-source principles, the JPL eigensolver not only enhances computational efficiency but also fosters innovation and collaboration in scientific research. The document serves as both an informative resource and a call to action for those interested in utilizing or contributing to this cutting-edge software.