###
HSL_MP43: Sparse unsymmetric system: multiple-front method, equation entry

The module `HSL_MP43`

uses the multiple front method to solve sets of linear equations \(\mathbf{Ax} = \mathbf{b}\) (or \(\mathbf{AX} = \mathbf{B}\)) where \(\mathbf{A}\) has been preordered to singly-bordered block-diagonal form

\[\left (
\begin{array}{cccccc}
\mathbf{A} _{11} &&&&& \mathbf{C} _1 \\
& \mathbf{A} _{22} &&&& \mathbf{C} _2 \\
&& \ldots &&& \ldots \\
&&& \ldots && \ldots \\
&&&&\mathbf{A} _{NN} & \mathbf{C} _N
\end{array} \right ) .\] The HSL routines `MA42`

and `MA52`

are used with MPI for message passing.

In the multiple front method, a partial frontal decomposition is performed on each of the submatrices \((\mathbf{A} _{ll} \mathbf{C} _L)\) separately. Thus, on each submatrix, \(\mathbf{L}\) and \(\mathbf{U}\) factors are computed. Once all possible eliminations have performed, for each submatrix there remains a frontal matrix \(\mathbf{F} _l\). The variables that remain in the front are called interface variables and the interface matrix \(\mathbf{F}\) is formed by summing the matrices \(\mathbf{F} _l\). The interface matrix \(\mathbf{F}\) is also factorized using the frontal method. Block back-substitution completes the solution.

The matrix data and/or the matrix factors are optionally held in direct-access files.