Systems of Linear Equations: ScaLAPACK
Computational Routines
ScaLAPACK supports routines for the systems of
equations with the following types of matrices:
- general
- general banded
- general diagonally dominant-like banded (including general tridiagonal)
- symmetric or Hermitian positive-definite
- symmetric or Hermitian positive-definite banded
- symmetric or Hermitian positive-definite tridiagonal
A
diagonally dominant-like matrix is
defined as a matrix for which it is known in advance that pivoting is not
required in the
LU
factorization
of this matrix.
For the above matrix types, the library includes
routines for performing the following computations:
factoring
the
matrix;
equilibrating
the matrix;
solving
a system
of linear equations;
estimating the condition number
of a
matrix;
refining
the
solution of linear equations and computing its error bounds;
inverting
the
matrix. Note that for some of the listed matrix types only part of the
computational routines are provided (for example, routines that refine the
solution are not provided for band or tridiagonal matrices). See
Table
“Computational Routines for Systems of Linear
Equations”
for full list of available routines.
To solve a particular problem, you can either call
two or more computational routines or call a corresponding
driver routine that combines
several tasks in one call. Thus, to solve a system of linear equations with a
general matrix, you can first call
p?getrf
(LU
factorization) and then
p?getrs
(computing the
solution). Then, you might wish to call
p?gerfs
to refine the
solution and get the error bounds. Alternatively, you can just use the driver
routine
p?gesvx
which performs
all these tasks in one call.
Table
“Computational Routines for Systems of Linear
Equations”
lists the ScaLAPACK computational routines for
factorizing, equilibrating, and inverting matrices, estimating their condition
numbers, solving systems of equations with real matrices, refining the
solution, and estimating its error.
Matrix type, storage scheme
| Factorize matrix
| Equilibrate matrix
| Solve system
| Condition number
| Estimate error
| Invert matrix
|
---|---|---|---|---|---|---|
In this table
?
stands for
s
(single precision real),
d
(double precision real),
c
(single precision complex),
or
z
(double precision complex).