INVERT

The INVERT function uses the Gaussian elimination method to compute the inverse of a square array. The result is a single- or double-precision floating-point array. Errors from singular or near-singular arrays are accumulated in the optional Status .

Calling Sequence

Result = INVERT( Array [, Status])

Arguments

Array

The array to be inverted. Array must have two dimensions of equal size (i.e., a square array) and can be of any type except string. Note that the resulting array will be composed of single- or double-precision floating-point values, depending on whether the DOUBLE keyword is set.

Status

A named variable to receive the status of the operation. Possible status values are: 0 for successful completion, 1 for a singular array (which indicates that the inversion is invalid), and 2 which is a warning that a small pivot element was used and that significant accuracy was probably lost.

Keywords

DOUBLE

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

Example

Begin with an array A:

A = [[ 5.0, -1.0, 3.0], $

     [ 2.0, 0.0, 1.0], $

     [ 3.0, 2.0, 1.0]]

result = INVERT(A) ; Invert.

We can check the accuracy of the inversion by multiplying the inverted array by the original array. The result should be a 3 x 3 identity array.

PRINT, result # A

IDL prints:

1.00000 0.00000 0.00000

0.00000 1.00000 0.00000

0.00000 9.53674e-07 1.00000

See Also

COND , DETERM , INVERT , REVERSE , ROTATE , TRANSPOSE