Routines (alphabetical) > Routines: I > INVERT

# INVERT

The INVERT function uses the Gaussian elimination method to compute the inverse of a square array. Errors from singular or near-singular arrays are accumulated in the optional Status argument.

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

## Examples

; Create 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)
; 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

## Syntax

Result = INVERT( Array [, Status] [, /DOUBLE] )

## Return Value

The result is a single- or double-precision array of floating or complex values.

## 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 or complex 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 = Successful completion.
- 1 = Singular array (which indicates that the inversion is invalid).
- 2 = 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.

## Version History

Original | Introduced

## See Also

COND, DETERM, LA_INVERT, REVERSE, ROTATE, TRANSPOSE