Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
LAPACK
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Software library for numerical linear algebra}} {{Infobox software | name = LAPACK (Netlib reference implementation) | logo = LAPACK logo.svg | logo size = 120px | screenshot = | caption = | collapsible = | author = | developer = | released = {{Start date and age|1992}} | latest release version = {{Wikidata|property|reference|edit|P348}} | latest release date = {{Start date and age|{{wikidata|qualifier|P348|P577}}|df=yes}} | latest preview version = | latest preview date = | programming language = [[Fortran 90]] | operating system = | platform = | size = | language = | genre = [[Software library]] | license = [[BSD-new]] | website = <!-- Wikidata --> }} '''LAPACK''' ("Linear Algebra Package") is a standard [[software library]] for [[numerical linear algebra]]. It provides [[subroutine|routines]] for solving [[systems of linear equations]] and [[numerical methods for linear least squares|linear least squares]], [[eigendecomposition of a matrix|eigenvalue problems]], and [[singular value decomposition]]. It also includes routines to implement the associated [[matrix factorization]]s such as [[LU decomposition|LU]], [[QR decomposition|QR]], [[Cholesky decomposition|Cholesky]] and [[Schur decomposition]].<ref name="LAPACK User Manual">{{cite book|last1=Anderson|first1=E.|last2=Bai|first2=Z.|last3=Bischof|first3=C.|last4=Blackford|first4=S.|last5=Demmel|first5=J.|author-link5=James Demmel|last6=Dongarra|first6=J.|author-link6=Jack Dongarra|last7=Du Croz|first7=J.|last8=Greenbaum|first8=A.|author-link8=Anne Greenbaum|last9=Hammarling|first9=S.|last10=McKenney|first10=A.|last11=Sorensen|first11=D. | title =LAPACK Users' Guide | edition = Third | publisher = Society for Industrial and Applied Mathematics | year = 1999 | location = Philadelphia, PA | isbn = 0-89871-447-8 | url = https://www.netlib.org/lapack/lug/ | access-date=28 May 2022 }}</ref> LAPACK was originally written in [[FORTRAN 77]], but moved to [[Fortran 90]] in version 3.2 (2008).<ref>{{cite web|url=https://www.netlib.org/lapack/lapack-3.2.html|title=LAPACK 3.2 Release Notes|date=16 November 2008}}</ref> The routines handle both [[real number|real]] and [[complex number|complex]] matrices in both [[single precision|single]] and [[double precision]]. LAPACK relies on an underlying [[Basic Linear Algebra Subprograms|BLAS]] implementation to provide efficient and portable computational building blocks for its routines.<ref name="LAPACK User Manual" />{{rp|at=[https://www.netlib.org/lapack/lug/node65.html "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 processor|vector computer]]s with shared memory. LAPACK, in contrast, was designed to effectively exploit the [[CPU cache|cache]]s on modern cache-based architectures and the [[instruction-level parallelism]] of modern [[superscalar processor]]s,<ref name="LAPACK User Manual" />{{rp|at=[https://www.netlib.org/lapack/lug/node61.html "Factors that Affect Performance"]}} and thus can run orders of magnitude faster than LINPACK on such machines, given a well-tuned [[Basic Linear Algebra Subprograms|BLAS]] implementation.<ref name="LAPACK User Manual" />{{rp|at=[https://www.netlib.org/lapack/lug/node65.html "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.<ref>{{cite web|access-date=20 April 2017| date=12 June 2007| title=PLAPACK: Parallel Linear Algebra Package| url=https://www.cs.utexas.edu/users/plapack/| website=www.cs.utexas.edu| publisher=[[University of Texas at Austin]]}}</ref> Netlib LAPACK is licensed under a three-clause [[BSD licenses|BSD style]] license, a [[permissive free software license]] with few restrictions.<ref>{{cite web |title=LICENSE.txt |url=https://www.netlib.org/lapack/LICENSE.txt |website=Netlib |access-date=28 May 2022}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)