The LA library provides a C++ vector and matrix class with an interface to BLAS and LAPACK linear algebra libraries and a few additional features. Templates (including some simple template metaprogramming) are employed in order to achieve generic applicability of the algorithms. In particular, iterative methods suitable for sparse matrices can be applied to your custom matrix class, which does not need to provide any explicit storage of the matrix elements (only matrix times vector operation has to be implemented). (Source: