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.