Version 6.3.0

21st March 2013

Recent Changes

Code Download

  • Single
  • Double
  • Single Complex
  • Double Complex

HSL_MA64 Indefinite symmetric full matrix: partial or complete factorization and solution

For a full matrix that is real symmetric, complex Hermitian, or complex symmetric, this module performs partial or full factorizations and performs solutions of corresponding sets of equations, paying special attention to the efficient use of cache memory. In the real and complex Hermitian cases, the matrix need not be positive definite. The module performs symmetric interchanges for stability and uses both 1×1 and 2×2 pivots, assuming that the matrix is well scaled in the sense that changes that are small compared to the largest entry can be tolerated. It is suitable for use in a frontal or multifrontal solver, but may also be used for the direct solution of a full set of equations. Optionally, it may be compiled to use OpenMP.

Eliminations are limited to the leading p rows and columns. Stability considerations may lead to q p eliminations being performed, but there is an option to force all p eliminations to be performed. Using an asterisk to represent taking the transpose or Hermitian transpose of a matrix, the factorization takes the form

PAP = L11 L21 I D S 22 L11L 21 I

where A has order n, P is a permutation matrix, L11 is a unit lower triangular matrix of order q, D is block diagonal of order q, and S22 is a matrix of order n q. The permutation matrix P has the form

P = P1 I

where P1 is of order p. Each diagonal block of D has size one or two.

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 S22 on return. The matrix L11 L21 is returned as a sequence of block columns, each of which consists of a triangular matrix packed by columns followed by a rectangular matrix packed by columns.

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

L11 L21 I X = B, D I X = B,

D I L11L 21 I X = B,and L11L21 I X = B

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