Version 2.0.0

17th July 2008

Recent Changes

Code Download

  • Single
  • Double

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.