Inverse of a Symmetric Positive Definite Matrix

ASA007 is a C++ library which computes the inverse of a symmetric positive definite matrix, by Michael Healy.

ASA007 is Applied Statistics Algorithm 7. Source code for many Applied Statistics Algorithms is available through STATLIB.

The algorithm implemented here uses a compressed storage for both the matrix A and the factor U. This saves some storage, but can make computations a little awkward.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


ASA007 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version

Related Data and Programs:

ASA006, a C++ library which computes the Cholesky factorization of a symmetric positive definite matrix. A version of this routine is used by ASA007.

ASA047, a C++ library which implements the Nelder-Mead minimization algorithm, and uses a version of ASA007 for the computation.

LAPACK_EXAMPLES, a FORTRAN77 program which demonstrates the use of the LAPACK linear algebra library.

LINPACK_D, a C++ library which includes routines to compute the inverse of symmetric positive matrix using double precision real arithmetic.


Michael Healy


  1. Michael Healy,
    Algorithm AS 7: Inversion of a Positive Semi-Definite Symmetric Matrix,
    Applied Statistics,
    Volume 17, Number 2, 1968, pages 198-199.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.

Last revised on 14 December 2011.