LAPACK

LAPACK (Netlib reference implementation)
Initial release1992; 32 years ago (1992)
Stable release
3.12.0[1] Edit this on Wikidata / 24 November 2023; 12 months ago (24 November 2023)
Repository
Written inFortran 90
TypeSoftware library
LicenseBSD-new
Websitenetlib.org/lapack/ Edit this on Wikidata

LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It also includes routines to implement the associated matrix factorizations such as LU, QR, Cholesky and Schur decomposition.[2] LAPACK was originally written in FORTRAN 77, but moved to Fortran 90 in version 3.2 (2008).[3] The routines handle both real and complex matrices in both single and double precision. LAPACK relies on an underlying BLAS implementation to provide efficient and portable computational building blocks for its routines.[2]: "The BLAS as the Key to Portability"

LAPACK was designed as the successor to the linear equations and linear least-squares routines of LINPACK and the eigenvalue routines of EISPACK. LINPACK, written in the 1970s and 1980s, was designed to run on the then-modern vector computers with shared memory. LAPACK, in contrast, was designed to effectively exploit the caches on modern cache-based architectures and the instruction-level parallelism of modern superscalar processors,[2]: "Factors that Affect Performance" and thus can run orders of magnitude faster than LINPACK on such machines, given a well-tuned BLAS implementation.[2]: "The BLAS as the Key to Portability" LAPACK has also been extended to run on distributed memory systems in later packages such as ScaLAPACK and PLAPACK.[4]

Netlib LAPACK is licensed under a three-clause BSD style license, a permissive free software license with few restrictions.[5]

  1. ^ "Release 3.12.0". 24 November 2023. Retrieved 19 December 2023.
  2. ^ a b c d Anderson, E.; Bai, Z.; Bischof, C.; Blackford, S.; Demmel, J.; Dongarra, J.; Du Croz, J.; Greenbaum, A.; Hammarling, S.; McKenney, A.; Sorensen, D. (1999). LAPACK Users' Guide (Third ed.). Philadelphia, PA: Society for Industrial and Applied Mathematics. ISBN 0-89871-447-8. Retrieved 28 May 2022.
  3. ^ "LAPACK 3.2 Release Notes". 16 November 2008.
  4. ^ "PLAPACK: Parallel Linear Algebra Package". www.cs.utexas.edu. University of Texas at Austin. 12 June 2007. Retrieved 20 April 2017.
  5. ^ "LICENSE.txt". Netlib. Retrieved 28 May 2022.