The LA_DETERM function uses LU decomposition to compute the determinant of a square array.
This routine is written in the IDL language. Its source code can be found in the file la_determ.pro in the lib subdirectory of the IDL distribution.
The following program computes the determinant of a square array:
array =[[1d, 2, 1], $
[4, 10, 15], $
[3, 7, 1]]
adeterm = LA_DETERM(array)
PRINT, 'LA_DETERM:', adeterm
When this program is compiled and run, IDL prints:
Result = LA_DETERM( A [, /CHECK] [, /DOUBLE] [, ZERO=value] )
The result is a scalar of the same type as the input array.
An n-by-n real or complex array.
Set this keyword to check A for any singularities. The determinant of a singular array is returned as zero if this keyword is set. Run-time errors may result if A is singular and this keyword is not set.
Set this keyword to use double-precision for computations and to return a double-precision (real or complex) result. Set DOUBLE = 0 to use single-precision for computations and to return a single-precision (real or complex) result. The default is /DOUBLE if A is double precision, otherwise the default is DOUBLE = 0.
Use this keyword to set the absolute value of the floating-point zero. A floating-point zero on the main diagonal of a triangular array results in a zero determinant. For single-precision inputs, the default value is 1.0 x 10-6. For double-precision inputs, the default value is 1.0 x 10-12. Setting this keyword to a value less than the default may improve the precision of the result.