### MA62 Sparse symmetric ﬁnite-element system: out-of-core frontal method

To solve one or more sets of sparse symmetric linear unassembled ﬁnite-element
equations, $AX=B$,
by the frontal method, optionally holding the matrix factor out-of-core in direct-access
ﬁles. The package is primarily designed for positive-deﬁnite matrices since numerical
pivoting is not performed. Use is made of high-level BLAS kernels. The coeﬃcient
matrix $A$
must of the form

$$A=\sum _{k=1}^{m}{A}^{\left(k\right)}$$
with ${A}^{\left(k\right)}$
nonzero only in those rows and columns that correspond to variables in the
$k$-th
element.

The frontal method is a variant of Gaussian elimination and involves the
factorization

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

where $P$ is a permutation
matrix, $D$ is a diagonal
matrix, and $L$
is a unit lower triangular matrix. The solution process is completed by performing
the forward elimination

$$\left(PL\right)DY=B,$$

followed by the back substitution

$${\left(PL\right)}^{T}X=Y.$$

MA62 stores the reals of the factors and their indices separately. A
principal feature of MA62 is that, by holding the factors out-of-core, large
problems can be solved using a predetermined and relatively small
amount of in-core memory. At an intermediate stage of the solution,
$l$
say, the ‘front’ contains those variables associated with one or more of
${A}^{\left(k\right)}$,
$k=1,2,...,l$, which are also present
in one or more of ${A}^{\left(k\right)}$,
$k=l+1,...,m$. For eﬃciency, the
user should order the ${A}^{\left(k\right)}$
so that the number of variables in the front (the ‘front size’) is small. For example, a
very rectangular grid should be ordered pagewise parallel to the short side
of the rectangle. The elements may be preordered using the HSL routine
MC63.