- LAPACK
LAPACK, the Linear Algebra PACKage, is a
software library for numerical computing written in Fortran 77. It provides routines for solving systems of simultaneouslinear equation s, least-squares solutions oflinear system s of equations,eigenvalue problems,Householder transformation to implementQR decomposition on a matrix andsingular value problems. [http://www.netlib.org/lapack95/ Lapack95] uses features of Fortran 95 to simplify the interface of the routines. LAPACK is licensed under a three-clause BSD style license [http://www.netlib.org/lapack/COPYING] .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 hasalso been extended to run on distributed-memory systems in later packages such asScaLAPACK andPLAPACK .LAPACK has largely superseded the Eigenvalue routines from
EISPACK , and the linear equations and linear least-squares problems fromLINPACK .There are several language bindings available:
*clapack for C (especially useful if there is noFortran Compiler available, as it is already preprocessed withf2c )
*LAPACK++ forC++
*HBlas for Haskell
* [http://www.ocaml.info/home/ocaml_sources.html#LACAML LACAML] forOCaml
* Boost uBLAS [http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Linear_Algebra_With_UBLAS numerics bindings] ( [http://svn.boost.org/svn/boost/sandbox/boost/numeric/bindings/ svn] ) for C++.Naming scheme
Details on this scheme can be found in the [http://www.netlib.org/lapack/lug/node24.html 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 [http://www.physics.oregonstate.edu/~rubin/nacphy/lapack/cprogp.html using LAPACK with C] for useful hints and examples.
External links
* [http://www.netlib.org/lapack/ LAPACK homepage] on Netlib.org
* [http://www.netlib.org/lapack/lug/ LAPACK Users' Guide]
* [http://math.nist.gov/lapack++/ LAPACK++ Homepage]
* [http://lapackpp.sourceforge.net/ NEW LAPACK++ Homepage (versions 1.9 and above)] on Sourceforge.net
* [http://developers.sun.com/prodtech/cc/perflib_index.html Sun Performance Library] optimized LAPACK for Solaris OS on SPARC/x86/x64 and Linux
* [http://www.osreviews.net/reviews/sci/lapack OS Reviews article on LAPACK]
* [http://www.cs.utexas.edu/~plapack/ PLAPACK]
* [http://www.physics.oregonstate.edu/~rubin/nacphy/lapack/cprogp.html How to use LAPACK with C]
Wikimedia Foundation. 2010.