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