LAPACK
LAPACK (Linear Algebra PACKage) est une bibliothèque de fonctions pour la résolution numérique de problèmes d'algèbre linéaire (matrices, systèmes linéaires ...). Cette librairie permet une manipulation efficace de matrices pleines ou bandes, mais ne contient pas de méthodes adaptées aux opérations sur les matrices creuses. Elle fournit des fonctions pour effectuer un grand nombre d'opérations de haut niveau: la factorisation LU, QR et Schur, recherche de valeurs propres et de vecteurs propres, décomposition en valeurs singulière (SVD) ...
LAPACK est codée en fortran. La compilation nécessite un compilateur Fortran90 à partir de la version 3.2. La version 3.4 a été rendue publique en Novembre 2011.
L'efficacité de LAPACK repose sur l'utilisation d'une librairie de plus bas niveau, appelée BLAS (Basic Linear Algebra Subprogram). Il existe des versions optimisées de BLAS/LAPACK (pas toujours gratuite) pour certaines plate-formes (Processeur/OS). Intel fournit par exemple BLAS/LAPACK comme composante de Intel Math Kernel Library (MKL). LAPACK/BLAS est également disponible sur les machines Apple (Mac OS X), dans le Framework Accelerate. Voir également le projet ATLAS: Automatically Tuned Linear Algebra Software .
LAPACK est une librairie fortran et son utilisation à partir d'autres langages compilés (C,C++,F95) ne représente pas de difficultés particulières. Une version clapack, traduite en C par f2c existe, ainsi qu'une interface (probablement partielle) pour Java.
LAPACK est largement utilisé comme noyau de calcul d'algèbre linéaire dans les logiciels de calcul et d'analyse de données. On peut citer MATLAB et Scilab parmi les plus répandus. Nous avons également utilisé LAPACK dans le cadre du projet SOPHYA de développement d'une librairie de classes C++ pour le calcul scientifique et d'analyse de données, et des outils associés.