Skip to main content

4.8) Numerical Libraries: BLAS/LAPACK


Using libraries is a good way to improve the functionality and efficiency of codes, while avoiding unnecessary errors. There is a large number of scientific libraries available, but here we briefly discuss numerical linear algebra libraries as their use is quite widespread. In the HPC domain, a large proportion of applications make extensive use of numerical linear algebra techniques. For instance problems involving optimisation or searching and sorting can be reduced to operations on matrices.

The basic linear algebra routines have been standardised in the Basic Linear Algebra Subroutines (BLAS) library. The full documentation is available at http://www.netlib.org/blas/. It provides routines for vector operations, matrix-vector operations and matrix-matrix operations.

LAPACK (Linear Algebra Package) builds on the BLAS routines to provide routines to address more complex problems, such as solving linear systems, or computing eigenvalues. The documentation is available at http://www.netlib.org/lapack/.