STFC Website

part of UK Research & Innovation

Version 3.4.2

1st November 2023

HSL_MA48: Sparse unsymmetric system: driver for conventional direct method

To solve a sparse unsymmetric system of linear equations. Given a sparse matrix \(\mathbf{A} =\{ a_{ij }\}_{m \times n}\) and a vector \(\mathbf{b}\), this subroutine solves the system \(\mathbf{A x} = \mathbf{b}\) or the system \(\mathbf{A}^T \mathbf{x} = \mathbf{b}\). The matrix \(\mathbf{A}\) can be rectangular. There is an option for iterative refinement and return of error estimates.

This Fortran 95 code offers additional features to the Fortran 77 code MA48. For example, there is an option to analyse the matrix and generate the factors with a single call. The storage required for the factorization is chosen automatically and, if there is insufficient space for the factorization, more space is allocated and the factorization is restarted. The Fortran 95 version also returns the number of entries in the factors and has facilities for computing the determinant when the matrix is square and for identifying the rows and columns that are treated specially when the matrix is singular or rectangular. Some of the integers are long integers so that the size of the factors is not constrained by the 32-bit limit.