LAPACK
LAPACKはFortran 90以外のプログラミング言語から利用することが可能であり、これを目的とした言語バインディングのためのライブラリも開発されている。LAPACK 3.4.0よりC言語インターフェースであるLAPACKEが統合された。
以下に例を示す。
LAPACK95: Fortran 95用。インターフェースが簡略化される。
CLAPACK: C言語用。Fortran版をf2c(英語版)によって変換したもの。
LAPACKE: C言語用。インテルのMath Kernel Library互換のC言語インターフェース。
LAPACK++: C++用。
Armadillo: C++用。
CPPLAPACK: C++用。
Boost Numeric Bindings: C++用。
SciPy: Python用。
jlapack: Java用。
CSLapack: C#用。
Linalg: Ruby用。
LACAML: OCaml用。
hmatrix: Haskell用。
Accelerateフレームワーク: Objective-C用インターフェースが提供される。
Gonum: LAPACK and BLAS in Native Go
LAPACK (Linear Algebra PACKage) 数値線形代数のための数値解析ソフトウェアライブラリで、線型方程式や線型最小二乗問題、固有値問題、特異値問題等を数値的に解くために利用される。本ライブラリは複素数または実数を成分とする行列を扱うことが可能であり、LU分解やコレスキー分解、QR分解、シュア分解等の行列の分解を行うためのサブルーチンを含む。サブルーチンは単精度版と倍精度版が提供される。1992年 (1992)のLAPACKの初版はFORTRAN 77 で実装されていたが、現在はFortran 90が用いられている。LAPACK 3.4.0からはC言語インターフェースであるLAPACKEが統合され、C言語やC++からの利用が容易になった。
LAPACKはLINPACKおよびEISPACKの後継と見做されている。ただし、LINPACKの設計が開発当時近代的であった共有メモリ型ベクトルコンピュータを意識したものであるのに対して、本ライブラリの設計はキャッシュを用いたアーキテクチャを有する、より近代的なコンピュータを意識したものである。LAPACKはLINPACK同様にBLAS(Basic Linear Algebra Subprograms、基本線型代数サブプログラム群)ライブラリ上に構築されている。LAPACKは後に分散メモリ型のコンピュータ向けにScaLAPACK(英語版)やPLAPACK(英語版)へと拡張された。
LAPACKはBSDライセンスで提供されるオープンソースソフトウェアである。