IDL Routine: LAMBDA_LOG_DISP
If you send me <[email protected]> your email address, I'll let you know of any major bugs that are found in this library.
Note last updated: 26 Jun 2002
The Fortran 90 subprogram LAMBDA_LOG_DISP calculates the time-dependent exponent (lambda) and logarithmic displacement curves, as defined by Gao and Zheng (1994), quite rapidly. The IDL function LAMBDA_LOG_DISP is a wrapper that calls the Fortran 90 program of the same name.
The way this is implemented is through a stand-alone executable that is then called by SPAWN in the IDL function, as opposed to creating a shared-object which can be referenced by CALL_EXTERNAL. Through SPAWN a bi-directional pipe is set-up (and because of this, this IDL function only will work on Unix systems) through which input/output variable values are passed. A Fortran 90 wrapper (LAMBDA_LOG_DISP_WRAP) calls the Fortran 90 routine LAMBDA_LOG_DISP, and provides the stdin/stdout hooks through which the SPAWN pipe is attached to. See these notes to the Fortran 90 LAMBDA_LOG_DISP for a description of its use and thoughts on choosing function parameters.
The name of the executable should be specified in the F90_Exe keyword at the call of the IDL function LAMBDA_LOG_DISP. If the keyword is undefined, './lambda_log_disp_wrap' is used as a default.
The executable is created by compiling the Fortran 90 subprogram LAMBDA_LOG_DISP and its main program wrapper LAMBDA_LOG_DISP_WRAP. Detailed instructions for compiling are given in the notes describing the wrapper. Pre-compiled binaries for a few platforms for this executable also exist, and are found here.
Gao, J. and Z. Zheng (1994): Direct dynamical test for deterministic chaos and optimal embedding of a chaotic time series, Phys. Rev. E, Vol. 49, No. 5, pp. 3807-3814.