AGOCG logo
Graphics Multimedia VR Visualisation Contents
Training Reports Workshops Briefings Index

Back Next

Review of IDL

3 Functionality

3.1 Data Models

Simple Data Types

IDL supports integers, real and string data types, with varying degrees of precision for integer and real types. Four Boolean operators are provided (not, and, or and xor).

Arrays

Arrays of any IDL data type can be created, and all elements of an array must of the same type. As in Fortran, IDL arrays are indexed in a row-major format (i.e., specify row then column when identifying an element). More complex structures can also be created, however. These structures are collections of scalars, arrays or other structures contained within a variable, and so are particularly useful for importing data.

Scientific Data Formats

IDL supports the following scientific data formats: A full set of routines for reading, creating and handling these formats is supplied and documented in a separate manual, Scientific Data Formats.

3.2 Algorithms

Digital Signal Processing

A number of functions are provided to process digital signals, these are:
Signal Analysis Transforms
Fourier Transform (based on Cooley-Tukey algorithm)
Hilbert Transform
Wavelet Transform
Digital Filtering
Finite Impulse Response Filter
Infinite Impulse Response Filter

Mathematical and Statistical Functions

IDL provides a large set of mathematical & statistical functions:
Arrays and Matrices
Matrix multiplication. (See data types for more information about arrays)
Correlation
Linear, multiple, partial and rank correlation coefficients can be calculated
Curve and Surface Fitting
includes: Non-linear least squares fit, Gradient Expansion least squares fit, General least squares fit
Eigenvlaues and Eigenvectors
Interpolation
Linear, bilinear, trilinear, cubic spline, parametric cubic spline
Hypothesis Testing
includes: T-test, Chi-square, Mann-Whitney U-test
Integration
Can integrate uni, bi and trivariate functions
Linear Systems
includes functions to solve linear systems using Crammer's rule and Gauss-Seidel iteration, and to solve complex linear systems
Nonlinear Equations
Non-linear systems can be solved using Broyden's or Newton's method
Optimization
Minimization of a function using Davidon-Fletcher-Powell or Powell methods.
Sparse Arrays
Routines for handling arrays which contain a large number of zero elements
Time Series Analysis

Graphics     Multimedia      Virtual Environments      Visualisation      Contents