15th February 2023

User documentation

- Single
- Double
- Single Complex
- Double Complex

HSL_MA86 uses a direct method to solve large sparse symmetric indefinite linear systems of equations \(\mathbf{AX = B}\). This package uses OpenMP and is designed for multicore architectures. It computes the sparse factorization \[\mathbf{A = PLD(PL)^\star}\] where \(\mathbf{L^{\star}} = \mathbf{L}^T\) (real symmetric or complex symmetric) or \(\mathbf{L}^{\star} = \mathbf{L}^H\) (complex Hermitian, where \(\mathbf{L}^H\) denotes the conjugate transpose of \(\mathbf{L}\)), \(\mathbf{P}\) is a permutation matrix, \(\mathbf{L}\) is unit lower triangular, and \(\mathbf{D}\) is block diagonal with blocks of size \(1 \times 1\) and \(2 \times 2\).

The efficiency of HSL_MA86 is dependent on the user-supplied elimination order. The HSL package HSL_MC68 may be used to obtain a suitable ordering.

The lower triangular part of \(\mathbf{A}\) must be supplied in compressed sparse column format. The HSL package HSL_MC69 may be used to convert data held in other sparse matrix formats and also to check the userâ€™s matrix data for errors.

If \(\mathbf{A}\) is known to be positive definite (so that pivoting for numerical stability is not required), we recommend HSL_MA87.

.