Systems of Linear Equations: ScaLAPACK
ScaLAPACK supports routines for the systems of equations with the following types of matrices:
- 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
LUfactorization of this matrix.
For the above matrix types, the library includes routines for performing the following computations:
solvinga system of linear equations;
estimating the condition numberof a matrix;
refiningthe solution of linear equations and computing its error bounds;
invertingthe 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
LUfactorization) and then
p?getrs(computing the solution). Then, you might wish to call
p?gerfsto refine the solution and get the error bounds. Alternatively, you can just use the driver routine
p?gesvxwhich performs all these tasks in one call.
“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
symmetric/Hermitian positive-definite, tridiagonal