## Version 1.4.1

21 March 2013

Recent Changes

• Single
• Double

### HSL_MA54 Deﬁnite symmetric full matrix: partial or complete factorization and solution

For a matrix that is full, symmetric and positive deﬁnite, this module performs partial factorizations and solutions of corresponding sets of equations, paying special attention to the eﬃcient use of cache memory. It uses a modiﬁcation of the code of Andersen, Gunnels, Gustavson, Reid, and Wasniewski (ACM Trans. on Math. Software, 31, 2005, 201-227). It is designed as a kernel for use in a frontal or multifrontal solver, but may also be used for the direct solution of a full set of equations.

The modiﬁcation involves limiting the eliminations to the leading $p$ columns. The factorization takes the form

$A=\left(\begin{array}{cc}\hfill {A}_{11}\hfill & \hfill {A}_{21}^{T}\hfill \\ \hfill {A}_{21}\hfill & \hfill {A}_{22}\hfill \end{array}\right)=\left(\begin{array}{c}\hfill {L}_{11}\hfill \\ \hfill {L}_{21}\hfill & \hfill I\hfill \end{array}\right)\left(\begin{array}{c}\hfill I\hfill \\ \hfill \hfill & \hfill {S}_{22}\hfill \end{array}\right)\left(\begin{array}{cc}\hfill {L}_{11}^{T}\hfill & \hfill {L}_{21}^{T}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right)$

where ${L}_{11}$ is lower triangular and both ${A}_{11}$ and ${L}_{11}$ have order $p$.

The input format for $A$ is that its lower triangular part is held in lower packed format (that is, packed by columns). This format is also used for ${S}_{22}$ on return. The matrices ${L}_{11}$ and ${L}_{21}$ are held as block matrices with blocks of size at most $nb×nb$. Internally, we use this blocked format also for ${A}_{22}$.

The module has facilities for rearranging a lower triangular matrix in lower packed format (that is, packed by columns) to this blocked format and vice-versa.

Subroutines are provided for partial forward and back substitution, that is, solving equations of the form

$\left(\begin{array}{c}\hfill {L}_{11}\hfill \\ \hfill {L}_{21}\hfill & \hfill I\hfill \end{array}\right)X=B\mathrm{\text{and}}\left(\begin{array}{cc}\hfill {L}_{11}^{T}\hfill & \hfill {L}_{21}^{T}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right)X=B$

and the corresponding equations for a single right-hand side $B$ and solution $x$.

There are also subroutines for solving one or more sets of equations after a full factorization ($p=n$) and for extracting the diagonal of ${L}_{11}$.