LAPACK was designed to replace LINPACK and EISPACK as the primary numerical solver library for FORTRAN. LINPACK and EISPACK suffered from inefficiencies because of their disregard for a modern computer's memory hierarchy. LAPACK, on the other hand, uses Basic Linear Algebra Subprograms (BLAS) level 3 routines as much as possible, to make the libraries much more efficient.

While a a large number of matrix operations are available for LAPACK, it does not handle general sparse matrix methods. LAPACK is freely available for a whole slew of operating systems, including Windows and Linux. As of this writing, LAPACK is at version 3.0.

LAPACK's website is at http://www.netlib.org/lapack/

LAPACK contains, more specifically, extremely well written and time-tested (20+ years) routines for solving matrix algebra problems. These operations range from determining the eigenvalues of a system, to system factorization. The most important routines in the collection, in my opinion, are those that were written to solve linear systems. There are a very wide variety of LAPACK matrix solver routines, tailored for many specific kinds of matrices. These range from general, nonsymmetric matrices, to banded matrices, to upper-triangular and symmetric matrices, in packed and unpacked form. Routines exist to do these calculations for single and double precision real and complex number problems.

LAPACK is an indispensable resource when writing engineering software that involves matrix manipulation and solutions. These routines can be "dropped in" and used right away with almost no modification or headache to the programmer. I also differ on the statement that the routines are "difficult" to use, each routine is extensively well documented as far as the inputs they expect, the data formats, and the outputs.

Log in or register to write something here or to contact authors.