HP MLIB User's Guide Vol. 2 7th Ed.

706 HP MLIB LAPACK User’s Guide
ScaLAPACK functionality
ScaLAPACK contains driver routines for solving standard types of problems,
computational routines to perform a distinct computational task, and auxiliary
routines to perform a certain subtask or common low-level computation.
ScaLAPACK provides functionality to solve dense and band matrix problems.
The functionality is provided for real and complex matrix problems.
Linear equations
Two types of driver routines are provided for solving systems of linear
equations:
Simple Driver (name ending -SV), which solves the system AX=B by
factorizing A and overwriting B with the solution X.
Expert Driver (name ending -SVX), which can also perform some or all of
the following functions (some of them optionally):
- Solve A
T
X=B or A
H
X=B (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.
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 10-3.
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.