### ME62 Sparse Hermitian or complex symmetric ﬁnite-element system: out-of-core
frontal method

To solve one or more sets of sparse Hermitian or complex symmetric linear unassembled ﬁnite-element
equations, $AX=B$,
by the frontal method, optionally holding the matrix factor out-of-core in direct-access ﬁles.
Numerical pivoting is not performed so for Hermitian matrices it is primarily designed
for the positive-deﬁnite case. 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)}^{H}\left(Hermitiancase\right),$$
or

$$A=PLD{\left(PL\right)}^{T}\left(symmetriccase\right),$$
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)}^{H}X=Y\left(Hermitiancase\right)$$
or

$${\left(PL\right)}^{T}X=Y\left(symmetriccase\right).$$
ME62 stores the values of the entries in the factors and their indices separately.
A principal feature of ME62 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.