Two types of driver routines are provided for solving systems of linear equations :

- a
**simple**driver (name ending -SV) , which solves the system*AX*=*B*by factorizing*A*and overwriting*B*with the solution*X*; - an
**expert**driver (name ending -SVX) , which can also perform some or all of the following functions (some of them optionally):- solve or (unless
*A*is symmetric or Hermitian); - estimate the condition number of
*A*, check for near-singularity, and check for pivot growth; - refine the solution and compute forward and backward error bounds;
- equilibrate the system if
*A*is poorly scaled.

The expert driver requires roughly twice as much storage as the simple driver in order to perform these extra functions.

- solve or (unless

Both types of driver routines can handle multiple right-hand sides
(the columns of *B*).

Different driver routines are provided to take advantage of special
properties or storage schemes of the matrix *A*, as shown in
table 3.2.

These driver routines cover all the functionality of the computational routines for linear systems , except matrix inversion . It is seldom necessary to compute the inverse of a matrix explicitly, and such computation is certainly not recommended as a means of solving linear systems.

At present, only simple drivers (name ending -SV) are provided for
systems involving band and tridiagonal matrices.
It is important to note that in the banded and tridiagonal factorizations
(PxDBTRF, PxDTTRF, PxGBTRF, PxPBTRF, and PxPTTRF) used within these
drivers, the resulting
factorization is *not* the same factorization as returned from
LAPACK. Additional permutations are performed on the matrix for the
sake of parallelism. Further details of the algorithmic implementations
can be found in [32].

**Table 3.2:** Driver routines for linear equations

Tue May 13 09:21:01 EDT 1997