| Written in | FORTRAN 77 |
|---|---|
| Type | Software library |
| License | BSD-new |
| Website | http://www.netlib.org/lapack/ |
LAPACK, the Linear Algebra PACKage, is a software library for numerical computing originally written in FORTRAN 77 and now written in FORTRAN 90. It provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, Householder transformation to implement QR decomposition on a matrix and singular value problems. Lapack95 uses features of Fortran 95 to simplify the interface of the routines. LAPACK is licensed under a three-clause BSD style license[1].
LAPACK can be seen as the successor to the original LINPACK, which was designed to run on the then-modern vector computers with shared memory. LAPACK, in contrast, depends upon the Basic Linear Algebra Subprograms (BLAS) in order to effectively exploit the caches on modern cache-based architectures, and thus can run orders of magnitude faster than LINPACK on such machines, given a well-tuned BLAS implementation. LAPACK has also been extended to run on distributed-memory systems in later packages such as ScaLAPACK and PLAPACK.
LAPACK has largely superseded the Eigenvalue routines from EISPACK, and the linear equations and linear least-squares problems from LINPACK.
There are several language bindings available:
- clapack for C (especially useful if there is no Fortran Compiler available, as it is already preprocessed with f2c)
- LAPACK++ for C++
- jlapack for Java
- HBlas for Haskell
- LACAML for OCaml
- Boost uBLAS numerics bindings (svn) for C++.
Naming scheme
Details on this scheme can be found in the Naming scheme section in LAPACK Users' Guide.
Use of LAPACK with other programming languages
Many programming environments today support the use of libraries with C binding. The LAPACK routines can be used like C functions if a few restrictions are observed. See using LAPACK with C for useful hints and examples.
External links
- LAPACK homepage on Netlib.org
- LAPACK Users' Guide
- LAPACK++ Homepage
- NEW LAPACK++ Homepage (versions 1.9 and above) on Sourceforge.net
- Sun Performance Library optimized LAPACK for Solaris OS on SPARC/x86/x64 and Linux
- OS Reviews article on LAPACK
- PLAPACK
- How to use LAPACK with C
- cvmlib An easy to use C++ wrapper with bindings to generic LAPACK or AMD or Intel implementations
No comments have been added.





