James B. Rawlings Research Group


Octave-A High Level Interactive Language for Numerical Computations

John W. Eaton

jwe[AT]bevo[DOT]che[DOT]wisc[DOT]edu

Octave is an interactive language for numerical computing that is mostly compatible with MATLAB. Originally intended to be companion software for an undergraduate-level textbook on chemical reactor design being written by James B. Rawlings and John G. Ekerdt at the University of Texas, it has become much more than just another courseware package with limited utility beyond the classroom. It is currently in use by thousands of people at educational, commercial, and government sites worldwide.

The Octave interpreter is written in a mixture of C and C++, but most of the numerical methods are handled by standard Fortran libraries such as the BLAS, LAPACK, MINPACK, QUADPACK, ODEPACK, and DASSL. To smoothly interface with the interpreter, the numerical libraries have been packaged in a library of C++ classes.

Though Octave is compatible with MATLAB in many ways, it is not intended to be a clone. Octave adds many interesting new features and extends the language in fundamentally new ways. Because Octave is available in source form, anyone can experiment with adding new features or modifying the language.

In a relatively short period of time, Octave has become a quite capable system for solving many numerical problems, but it is still far from complete. Some long-term goals include adding a programmable graphical graphical user interface, improving the overall efficiency of the language, and automatic generation of C++ code.

Everyone is encouraged to share Octave with others under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation (FSF). The complete source code for Octave and more information about this project is available on the web at www.octave.org.

[ Home | People | Projects | Recent Presentations | Publications | Tech Reports | Contact Us ]

University of Wisconsin
Department of Chemical Engineering
Madison WI 53706