Welcome to the L3 Harris Geospatial documentation center. Here you will find reference guides and help documents.
﻿

### IMSL_CHFAC

IMSL_CHFAC

The IMSL_CHFAC procedure computes the Cholesky factor, L, of a real or complex symmetric positive definite matrix A, such that A = LLH.

The IMSL_CHFAC procedure computes the Cholesky factorization LLH of a symmetric positive definite matrix A. When the inverse of the matrix is sought, an estimate of the L1 condition number of A is computed using the same algorithm as in Dongarra et al. (1979). If the estimated condition number is greater than 1/ε (where ε is the machine precision), a warning message is issued. This indicates that very small changes in A may produce large changes in the solution x.

The IMSL_CHFAC function fails if L, the lower-triangular matrix in the factorization, has a zero diagonal element.

## Example

This example computes the Cholesky factorization of a 3 x 3 matrix.

RM, a, 3, 3

; Define the matrix A.
row 0: 1 -3 2
row 1: -3 10 -5
row 2: 2 -5 6
IMSL_CHFAC, a, fac

; Call IMSL_CHFAC to compute the factorization.
PM, fac, Title = 'Cholesky factor'
Cholesky factor
  1.00000 -3.00000 2.00000
  -3.00000 1.00000 1.00000
  2.00000 1.00000 1.00000

## Syntax

IMSL_CHFAC, A, Fac [,CONDITION=variable] [, /DOUBLE] [, INVERSE=variable]

## Arguments

### A

Two-dimensional matrix containing the coefficient matrix. Element A (i, j) contains the j-th coefficient of the i-th equation.

### Fac

A named variable that will contain a two-dimensional matrix containing the Cholesky factorization of A. Note that Fac contains L in the lower triangle and LH in the upper triangle.

## Keywords

### CONDITION (optional)

Named variable into which an estimate of the L1 condition number is stored. The CONDITION and FACTOR keywords cannot be used together.

### DOUBLE (optional)

If present and nonzero, double precision is used.

### INVERSE (optional)

Specifies a named variable into which the inverse of the matrix A is stored. This keyword is not allowed if A is complex.

## Errors

### Warning Errors

MATH_ILL_CONDITIONED: Input matrix is too ill-conditioned. An estimate of the reciprocal of its L1 condition number is #. The solution might not be accurate.

### Fatal Errors

MATH_NONPOSITIVE_MATRIX - Leading # by # submatrix of the input matrix is not positive definite.

MATH_SINGULAR_MATRIX: Input matrix is singular

MATH_SINGULAR_TRI_MATRIX: Input triangular matrix is singular. The index of the first zero diagonal element is #.

## Version History

 6.4 Introduced