Version 2.0.0

Code Download

  • Single
  • Double

HSL_MP48 Sparse unsymmetric system: parallel direct method

The module HSL_MP48 solves sets of n × n unsymmetric linear systems of equations Ax = b, in parallel using Gaussian elimination. The matrix A must have been preordered to singly-bordered block-diagonal form

A11 C1 A22 C2 ANNCN .

MPI is used for message passing.

A partial LU decomposition is performed on each of the submatrices (AllCL) separately. Once all possible eliminations have been performed, for each submatrix there remains a Schur complement matrix Fl. The variables that remain are called interface variables and the interface matrix F is formed by summing the matrices Fl. Gaussian elimination is used to factorize F, using the HSL sparse direct solver MA48. Block forward elimination and back substitution completes the solution.

The user’s matrix data may optionally be held in unformatted sequential files. In addition, L and U factors for the submatrices may optionally be written to sequential files. This reduces main memory requirements when the number N of submatrices is greater than the number of processes used.

The HSL package HSL_MC66 may be used for preordering the matrix to singly-bordered block-diagonal form.