3rd January 2012

User documentation

- Single
- Double

Given a dense unsymmetric $n\times n$ matrix $A$, HSL_MA74 performs partial factorizations and solutions of corresponding sets of equations. It is designed as a kernel for use in a frontal or multifrontal solver or may be used to factorize and solve a full system of equations.

Eliminations are limited to the leading $p\le n$ rows and columns. Stability considerations may lead to $q\le p$ eliminations being performed. The factorization takes the form

$$PAQ=\left(\begin{array}{c}\hfill {L}_{1}\hfill \\ \hfill {L}_{2}\hfill & \hfill I\hfill \end{array}\right)\left(\begin{array}{c}\hfill {D}_{1}\hfill \\ \hfill \hfill & \hfill {A}_{2}\hfill \end{array}\right)\left(\begin{array}{cc}\hfill {U}_{1}\hfill & \hfill {U}_{2}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right),$$where $P$ and $Q$ are permutation matrices, ${L}_{1}$ and ${U}_{1}$ are unit lower and unit upper triangular matrices of order $q$, and ${D}_{1}$ is the diagonal of order $q$. The permutation matrices $P$ and $Q$ are of the form

$$P=\left(\begin{array}{c}\hfill {P}_{1}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right)andQ=\left(\begin{array}{c}\hfill {Q}_{1}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right),$$

where ${P}_{1}$ and ${Q}_{1}$ are of order $p$.

Subroutines are provided for partial solutions, that is, solving systems of the form

$$\left(\begin{array}{c}\hfill {L}_{1}\hfill \\ \hfill {L}_{2}\hfill & \hfill I\hfill \end{array}\right)X=B,\left(\begin{array}{c}\hfill {D}_{1}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right)X=B,\left(\begin{array}{c}\hfill {D}_{1}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right)\left(\begin{array}{cc}\hfill {U}_{1}\hfill & \hfill {U}_{2}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right)X=B,$$

and

$$\left(\begin{array}{cc}\hfill {U}_{1}\hfill & \hfill {U}_{2}\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$.

Subroutines are also provided for partial solutions to transpose systems, that is, solving systems of the form

$$\left(\begin{array}{c}\hfill {U}_{1}^{T}\hfill \\ \hfill {U}_{2}^{T}\hfill & \hfill I\hfill \end{array}\right)X=B,\left(\begin{array}{c}\hfill {D}_{1}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right)\left(\begin{array}{cc}\hfill {L}_{1}^{T}\hfill & \hfill {L}_{2}^{T}\hfill \\ \hfill \hfill & \hfill I\hfill \end{array}\right)X=B,\left(\begin{array}{cc}\hfill {L}_{1}^{T}\hfill & \hfill {L}_{2}^{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$.

Options are included for threshold partial pivoting, threshold diagonal pivoting, threshold rook pivoting, and static pivoting.

Note: If a full factorization and solution of one or more sets of equations is required $\left(p=n\right)$, routines from the LAPACK library may be used (and may be more eﬃcient).