## Version 6.2.0

18th March 2021

Recent Changes

• Single
• Double

### HSL_MA77 Sparse symmetric system: multifrontal out of core

HSL_MA77 solves one or more sets of sparse symmetric equations $\mathbf{AX}=\mathbf{B}$ using an out-of-core multifrontal method. The symmetric matrix $\mathbf{A}$ may be either positive deﬁnite or indeﬁnite. It may be input by the user in either of the following ways:

(i) by square symmetric elements, such as in a ﬁnite-element calculation, or
(ii) by rows.

In both cases, the coeﬃcient matrix is of order $n$ and is of the form

$\mathbf{A}=\sum _{k=1}^{m}{\mathbf{A}}^{\left(k\right)}.$

In (i), the summation is over elements and ${\mathbf{A}}^{\left(k\right)}$ is nonzero only in those rows and columns that correspond to variables in the $k$th element. In (ii), the summation is over rows and ${\mathbf{A}}^{\left(k\right)}$ is nonzero only in row $k$. In both cases, for each $k$, the user must supply a list specifying which columns of $\mathbf{A}$ are associated with ${\mathbf{A}}^{\left(k\right)}$, and an array containing ${\mathbf{A}}^{\left(k\right)}$ in packed form.

The multifrontal method is a variant of sparse Gaussian elimination. In the positive-deﬁnite case, it involves the Cholesky factorization

$\mathbf{A}=\left(\mathbf{PL}\right){\left(\mathbf{PL}\right)}^{T}$

where $\mathbf{P}$ is a permutation matrix and $\mathbf{L}$ is lower triangular. In the indeﬁnite case, it involves the factorization

$\mathbf{A}=\left(\mathbf{PL}\right)\mathbf{D}{\left(\mathbf{PL}\right)}^{T}$

where $\mathbf{P}$ is a permutation matrix, $\mathbf{L}$ is unit lower triangular, and $\mathbf{D}$ is block diagonal with blocks of size $1×1$ and $2×2$. The factorization is performed by the subroutine MA77_factor and is controlled by an elimination tree that is constructed by the subroutine MA77_analyse, which needs the lists of variables in elements or rows and an elimination sequence. Once a matrix has been factorized, any number of calls to the subroutine MA77_solve may be made for diﬀerent right-hand sides $\mathbf{B}$. An option exists for computing the residuals. For large problems, the matrix data and the computed factors are held in direct-access ﬁles.

The eﬃciency of HSL_MA77 is dependent on the elimination order that the user supplies. The HSL routine HSL_MC68 may be used to obtain a suitable ordering.