Levels of Routines
Next: Data Types and
Up: Structure of LAPACK
Previous: Structure of LAPACK
The subroutines in LAPACK are classified as follows:
- driver routines , each of which solves a complete problem,
for example solving a system of linear equations, or computing the
eigenvalues of a real symmetric matrix.
Users are recommended to use a driver routine if there is one that
meets their requirements. They are listed in Section 2.2.
- computational routines , each of which performs a distinct
computational task, for example an LU factorization,
or the reduction of a real symmetric matrix to tridiagonal form.
Each driver routine calls a
sequence of computational routines. Users (especially software developers)
may need to call
computational routines directly to perform tasks, or sequences of tasks,
that cannot conveniently
be performed by the driver routines. They are listed in
Section 2.3.
- auxiliary routines , which in turn can be classified as follows:
- routines that perform subtasks of block algorithms - in particular,
routines that implement unblocked versions of the algorithms;
- routines that perform some commonly required low-level
computations, for example scaling a matrix, computing a matrix-norm,
or generating an elementary Householder matrix; some of
these may be of interest to numerical analysts or software developers and
could be considered for future additions to the BLAS;
- a few extensions to the BLAS, such as routines for applying complex plane
rotations, or matrix-vector operations involving complex symmetric
matrices (the BLAS themselves are not strictly speaking part of LAPACK).
Both driver routines and computational routines are fully described in
this Users' Guide, but not the auxiliary routines.
A list of the auxiliary routines, with brief descriptions
of their functions, is given in Appendix B.
Tue Nov 29 14:03:33 EST 1994