### LAPACK

Here, the high-level LAPACK bindings will be described.

LAPACK consists of three levels of routines:

- driver routines solve a complete problem, e.g., solving a system of linear equations, determining eigenvalues,
- computational routines solve a distinct computational task, such as a LU or QR decomposition.
- auxiliary routines carry out underlying tasks such as the non-blocked versions of matrix-vector operations.

Like with lapack, the bindings focus on the first two levels of routines: driver and computational.

Table 1.100. LAPACK driver routines

Fortran Subroutines | Boost.Numeric_Bindings Equivalent | Boost.Numeric_Bindings High-level Interface
--- | --- | ---
SGESV, CGESV, DGESV, ZGESV | lapack::gesv.hpp | lapack::solve
xGBSV | gbsv.hpp | lapack::solve
NAME | gtsv.hpp | lapack::solve
NAME | hesv.hpp | lapack::solve
NAME | hpsv.hpp | lapack::solve
NAME | posv.hpp | lapack::solve
NAME | ppsv.hpp | lapack::solve
NAME | pbsv.hpp | lapack::solve
NAME | ptsv.hpp | lapack::solve
NAME | sysv.hpp | lapack::solve
NAME | spsv.hpp | lapack::solve

`lapack::solve( a, b );`