CHOLSOL

The CHOLSOL function returns an n-element vector containing the solution to the set of linear equations Ax = b, where A is the positive-definite symmetric array returned by the CHOLDC procedure.

CHOLSOL is based on the routine cholsl described in section 2.9 of Numerical Recipes in C: The Art of Scientific Computing (Second Edition), published by Cambridge University Press, and is used by permission.

Note: If you are working with complex inputs, use the LA_CHOLSOL procedure instead.

Examples

To solve a positive-definite symmetric system Ax = b:

;Define the coefficient array:

A = [[ 6.0, 15.0, 55.0], $

   [15.0, 55.0, 225.0], $

   [55.0, 225.0, 979.0]]



;Define the right-hand side vector B:

B = [9.5, 50.0, 237.0]



;Compute Cholesky decomposition of A:

CHOLDC, A, P



;Compute and print the solution:

PRINT, CHOLSOL(A, P, B)

IDL prints:

  -0.499998  -1.00000  0.500000

The exact solution vector is [-0.5, -1.0, 0.5].

Syntax

Result = CHOLSOL( A, P, B [, /DOUBLE] )

Return Value

Returns an n-element vector containing the solution to the set of linear equations Ax = b, where A is the positive-definite symmetric array returned by the CHOLDC.

Arguments

A

An n by n positive-definite symmetric array, as output by CHOLDC. Only the lower triangle of A is accessed.

Note: If CHOLSOL is complex then only the real part is used for the computation.

P

The diagonal elements of the Cholesky factor L, as computed by CHOLDC.

B

An n-element vector containing the right-hand side of the equation.

Keywords

DOUBLE

Set this keyword to force the computation to be done in double-precision arithmetic.

Version History

4.0

Introduced

See Also

CHOLDC, CRAMER, GS_ITER, LA_CHOLSOL, LU_COMPLEX, LUSOL, SVSOL, TRISOL