## Version 1.0.1

• Single
• Double

### 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.