## Version 2.0.0

• 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

$\left(\begin{array}{cccccc}\hfill {A}_{11}\hfill & \hfill \hfill & \hfill \hfill & \hfill \hfill & \hfill \hfill & \hfill {C}_{1}\hfill \\ \hfill \hfill & \hfill {A}_{22}\hfill & \hfill \hfill & \hfill \hfill & \hfill \hfill & \hfill {C}_{2}\hfill \\ \hfill \hfill & \hfill \hfill & \hfill \dots \hfill & \hfill \hfill & \hfill \hfill & \hfill \dots \hfill \\ \hfill \hfill & \hfill \hfill & \hfill \hfill & \hfill \dots \hfill & \hfill \hfill & \hfill \dots \hfill \\ \hfill \hfill & \hfill \hfill & \hfill \hfill & \hfill \hfill & \hfill {A}_{NN}\hfill & \hfill {C}_{N}\hfill \end{array}\right).$

MPI is used for message passing.

A partial $LU$ decomposition is performed on each of the submatrices $\left({A}_{ll}{C}_{L}\right)$ separately. Once all possible eliminations have been performed, for each submatrix there remains a Schur complement matrix ${F}_{l}$. The variables that remain are called interface variables and the interface matrix $F$ is formed by summing the matrices ${F}_{l}$. 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 ﬁles. In addition, $L$ and $U$ factors for the submatrices may optionally be written to sequential ﬁles. 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.