LAPACK
From Wikipedia, the free encyclopedia
LAPACK, the Linear Algebra PACKage, is a software library for numerical computing written in Fortran 77. 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++
- HBlas for Haskell
- LACAML for OCaml
- Boost uBLAS numerics bindings (svn) for C++.
[edit] Naming scheme
Details on this scheme can be found in the Naming scheme section in LAPACK Users' Guide.
[edit] 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.
[edit] 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