27th April 2022

# HSL_MA42_ELEMENT: Unsymmetric finite-element system: out-of-core frontal method (real and complex)

HSL_MA42_ELEMENT solves one or more sets of sparse linear unsymmetric unassembled finite-element equations, $$\mathbf{AX} = \mathbf{B}$$, or $$\mathbf{A} ^T \mathbf{X} = \mathbf{B}$$, or $$\mathbf{A} ^H \mathbf{X} = \mathbf{B}$$, by the frontal method. The system may be real or complex ($$\mathbf{A} ^H$$ denotes the conjugate transpose of $$\mathbf{A}$$). There are options for automatically ordering the elements, for supplying the elements using a reverse communication interface, for holding the matrix factors in direct-access files, and for preserving a partial factorization.

The $$n \times n$$ coefficient matrix $$\mathbf{A}$$ must have a symmetric structure and must be in elemental form

$\mathbf{A} = \sum _ {k=1} ^ {nelt} \mathbf{A} ^{[k]} ,$ where $$\mathbf{A} ^{[k]}$$ is nonzero only in those rows and columns that correspond to variables in the $$k$$-th finite element. The elements must be square elements, with the row indices equal to the column indices. For each $$k$$, the user must supply a list specifying which rows/columns of $$\mathbf{A}$$ are associated with $$\mathbf{A} ^{[k]}$$ and an array containing the nonzero entries. The right-hand sides $$\mathbf{B}$$ may be supplied in elemental form (that is, $$\mathbf{B} = \sum _ {k=1} ^ {nelt} \mathbf{B} ^{[k]}$$) or in assembled form.

Precision: Double - Note: only double precision versions are provided, as we do not recommend this algorithm is used with 4-byte arithmetic.