IDL

LUMPROVE

LUMPROVE

The LUMPROVE function uses LU decomposition to iteratively improve an approximate solution X of a set of n linear equations in n unknowns Ax = b.

Note: If you are working with complex inputs, use the LA_LUMPROVE function instead.

Examples


This example uses LUMPROVE to improve an approximate solution X to the linear system Ax = B:

; Create coefficient array A:
A = [[ 2.0,  1.0,  1.0], $
   [ 4.0, -6.0,  0.0], $
   [-2.0,  7.0,  2.0]]
; Create a duplicate of A:
alud = A
; Define the right-hand side vector B:
B = [3.0, -8.0, 10.0]
; Begin with an estimated solution X:
X = [.89, 1.78, -0.88]
; Decompose the duplicate of A:
LUDC, alud, INDEX
; Compute an improved solution:
result = LUMPROVE(A, alud, INDEX, B, X)
; Print the result:
PRINT, result

IDL prints:

 1.00000 2.00000 -1.00000

This is the exact solution vector.

Syntax


Result = LUMPROVE( A, Alud, Index, B, X [, /COLUMN] [, /DOUBLE] )

Return Value


The result is a vector, whose type and length are identical to X, containing the improved solution.

Arguments


A

The n by n coefficient array of the linear system Ax = b.

Alud

The n by n LU decomposition of A 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.

X

An n-element vector containing the approximate solution 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.

Version History


4.0

Introduced

Resources and References


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

See Also


GS_ITER, LA_LUMPROVE, LUDC



Notes


This page has no user notes yet. Be the first one!


This information is not subject to the controls of the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR). However, it may be restricted from transfer to various embargoed countries under U.S. laws and regulations.
© 2014 Exelis Visual Information Solutions