IDL: A Possible Alternative to Matlab

Author/Creator

Author/Creator ORCID

Date

2012

Department

Program

Citation of Original Publication

Rights

This item is likely protected under Title 17 of the U.S. Copyright Law. Unless on a Creative Commons license, for uses protected by Copyright Law, contact the copyright holder or the author.

Abstract

Created by Exelis Visual Information Solutions, IDL (Interactive Data Language) is a commercial package used for data analysis. We compared the usability and efficiency of IDL to that of Matlab to determine if IDL is a viable substitute. Two studies were performed for this analysis. The first, a basic test inspired by the CIRC Tutorial for Basic Matlab, consisted of solving a system of linear equations using basic operations, computing eigenvalues and eigenvectors, and creating two-dimensional plots. It showed identical results between the two packages, though it is important to note that the syntax and display of output between IDL and Matlab differs greatly. The second test focused on direct and iterative solutions of a large sparse system of linear equations. This system arises from the finite difference discretization of the Poisson equation with homogeneous Dirichlet boundary conditions and is prototypical for linear systems in many related contexts. In Matlab, Gaussian elimination was used as the direct method of solving the Poisson test problem. Unfortunately, such a method was not available with our license of IDL to solve sparse systems as it required a more expensive IDL Analyst License. Originally, we aimed to solve the problem iteratively using the conjugate gradient method, but, though a function was available in Matlab for solving a sparse system this way, none existed in IDL. Instead, we turned to the biconjugate gradient method. The numerical results of this method in IDL are identical to those in Matlab, but IDL runs the code slightly faster for finer meshes. Those looking to make a switch from Matlab to IDL might have a difficult time encountering a different syntax, output display, and the need for a more expensive license to run a larger breadth of functions or procedures, but if efficiency is of concern, IDL can potentially be faster than Matlab.