LUSOL
The
LUSOL
function is used in conjunction with the LUDC procedure to solve a set of
n
linear equations in
n
unknowns
Ax = b
. The parameter
A
is input not as the original array, but as its
LU decomposition, created by the routine LUDC. The result is an
n
-element vector whose type is identical to
A
.
LUSOL is based on the routine
lubksb
described in section 2.3 of
Numerical Recipes in C: The Art of Scientific Computing
(Second Edition), published by Cambridge University Press, and is used by permission.
Calling Sequence
Result = LUSOL(
A, Index, B
)
Arguments
A
The
n
by
n
LU decomposition of an array created by the LUDC procedure.
Index
An input vector, created by the LUDC procedure, containing a record of the row permutations which occurred as a result of partial pivoting.
B
An
n
-element vector containing the right-hand side of the linear system
Ax = b
.
Keywords
COLUMN
Set this keyword if the input array
A
is in column-major format (composed of column vectors) rather than in row-major format (composed of row vectors).
DOUBLE
Set this keyword to force the computation to be done in double-precision arithmetic.
Example
To solve the linear system
Ax = b
using LU decomposition and back substitution:
A = [[ 2.0, 1.0, 1.0], $
[ 4.0, -6.0, 0.0], $
[-2.0, 7.0, 2.0]]
B = [3.0, -8.0, 10.0]
LUDC, A, INDEX
result = LUSOL(A, INDEX, B)
PRINT, result
IDL prints:
1.00000 2.00000 -1.00000
This is the exact solution vector.