# IMSP_SP_BDPDFAC

The IMSL_SP_BDPDFAC function computes the RTR Cholesky factorization of symmetric positive definite matrix, A, in band symmetric storage mode.

Note: This routine requires an IDL Analyst license. For more information, contact your Exelis VIS sales or technical support representative.

The IMSL_SP_BDPDFAC function computes the RTR Cholesky factorization of A. R is an upper triangular band matrix.

The L1 condition number of A is computed using Higham’s modifications to Hager’s method, as given in Higham (1988). 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_SP_BDPDFAC function fails if any submatrix of R is not positive definite or if R has a zero diagonal element. These errors occur only if A is very close to a singular matrix or to a matrix which is not positive definite.

The IMSL_SP_BDPDFAC function is partially based on the LINPACK subroutines CPBFA and SPBSL; see Dongarra et al. (1979).

## Example

Solve a system of linear equations Ax = b, using both IMSL_SP_BDPDFAC and IMSL_SP_BDPDSOL, where:

n = 4L

ncoda = 2L

a = DBLARR((ncoda+1)*n)

a(0:n-1) = [0, 0, -1, 1]

a(n:2L*n-1) = [0, 0, 2, -1]

a(2L*n:*) = [2, 4, 7, 3]

; Define A in band symmetric storage mode.

b = [6, -11, -11, 19]

factor = IMSL_SP_BDPDFAC(a, n, ncoda)

; Use IMSL_SP_BDPDFAC to compute the factorization.

x = IMSL_SP_BDPDSOL(b, ncoda, Factor=factor)

; Compute the solution

PM, x

4.0000000

-6.0000000

2.0000000

9.0000000

## Syntax

Result =IMSL_SP_BDPDFAC(a, n, ncoda [, CONDITION=variable] [, /DOUBLE])

## Return Value

An array of size (ncoda + 1) x n containing the RTR factorization of A in band symmetric storage mode.

## Arguments

### a

Array of size (ncoda + 1) x n containing the n x n banded coefficient matrix in band symmetric storage mode A(i, j). See “Band Storage Format” for a description of band symmetric storage mode.

### n

Number of rows in a.

### ncoda

Number of upper codiagonals in a.

## Keywords

### CONDITION

Named variable into which an estimate of the L1 condition number is stored. This keyword cannot be used if a previously computed factorization is specified with the keyword FACTOR.

### DOUBLE

If present and nonzero, double precision is used.

## Version History

6.4 | Introduced

## See Also

IMSL_SP_BDFAC, IMSL_SP_BDPDFAC