OCTAVE(ID:2302/oct001)


GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and non-linear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. Also may be used as a batch language.

High-level language primarily for numerical computations. Real and complex scalars and matrices, solution nonlinear algebraic equations, ordinary differential equations. Implemented in g++ and Fortran.

Initally conceived in 1988, but established in 1992, released 1993


Related languages
MATLAB => OCTAVE   Influence

References:
  • Murphy, Malcolm "Octave: A Free, High-Level Language for Mathematics" Linux Journal Issue 39 view details Abstract: A quick look at a language designed to manipulate matrices and provide other numerical functions.


    For numerical computing, high level languages offer advantages over more traditional languages, such as FORTRAN or C. Built-in graphics capabilities, automatic variable typing and flexible data structures combine to provide an environment in which it is easy to develop your ideas without having to fight with the language. That's not to say that FORTRAN and C are of no use, just that sometimes you want to make life a bit easier.

    Matlab is a one such language. It is available on many platforms (including Linux) and provides powerful facilities for manipulating matrices, as well as other numerical functions. Unfortunately, Matlab is commercial software and wasn't available for Linux until recently (in the last twelve months or so). However, there are other, freely-available alternatives, and Octave is one such alternative.

    Superficially, Octave looks very much like Matlab, and the description in its LSM entry reads "GNU Matlab--A numerical matrix mathematics program.'' To begin, type octave at the shell prompt, and Octave greets you with its own prompt. Now we can start doing math. External link: Online copy
  • Eaton, John W. "GNU Octave Manual" 1998 view details
  • Simon, Barry "Mathematics Software Guide - a look at some general-purpose tools in the scientific and mathematical software, including MATLAB, MuPad, Mathematica, Maple, MathCAD and TK Solver" DE Online July 2003 view details Extract: Matrix-Based Languages

    For many professionals, the biggest mathematical need is number crunching, the ability to perform complex calculations, typically on large data sets. While Maple and Mathematica have vastly improved their number-crunching speeds over the years, there is no question that for serious numerical calculations you want to use either custom C programming or else use programs written in one of the mathematical programming languages that are matrix based.

    The leading such language is MATLAB ($1,900 for the base product; toolboxes run from $500-$1000 or more each), which has oodles of functions and lots of toolboxes containing additional specialized routines and functions.

    With several toolboxes added, MATLAB can be quite pricey, which makes the $265 O-Matrix an attractive alternative to consider. In compatibility mode, O-Matrix will run Matlab mfiles that use functions in the extensive O-Matrix library, which includes Matrix and special functions, ODE solvers, and 2D and 3D plots.
    Another Matrix language is Octave.

    Extract: Octave
    There is tremendous energy and altruism in the world of software with academics and hobbyists producing first-class free software?often in collaborative mode under the GNU Project (gnu.org). Linux is the most famous software of this type. While much of it has roots in Unix, there are often Windows versions since the programs tend to have source code provided (and must if they are GNU). Some products like MuPad move eventually from free to commercial. The traditional downside of free software is lack of support but since the popular packages have online forums, there is some support available.

    Not surprisingly, there are a number of serious, well-made free mathematics packages. I looked most carefully at GNU Octave (octave.org; if you want a printed manual, it?s $30 at network-theory.co.uk/octave/manual), a number-crunching language intended to be mostly compatible with a subset of MATLAB. Its hundreds of functions include the most basic special functions (trigonometric, Bessel), matrix manipulation, 2D and 3D plots, and a few quadrature and ODE routines. It is nowhere as extensive as MATLAB or even O-Matrix but it will meet the needs of many users.

    Other free GNU programs include GNU R (a variant on the commercial statistical language S; r-project.org); GNU Plotutils (a collection of routines for export to various 2D vector graphics formats, gnu.org/software/plotutils/plotutils.html); GNU Scientific Utilities (C routines for many mathematical operations, gnu.org/software/gsl/gsl.html); and many other packages (see gnu.org/directory).

    Other free products of interest include several symbolic programs. Macsyma, a descendent of the original MIT project is available (http://maxima.sourceforge.net/). Gtybalt (fis.unipr.it/~stefanw/gtybalt.html) is a newer symbolic entry. Some of the more elaborate free programs, like gTybalt, depend on several other free libraries, so even installation may be a complex task.  

    Resources
    • Octave home page
      external link
    • Octave history
      Octave was originally conceived (in about 1988) to be companion software for an undergraduate-level textbook on chemical reactor design being written by James B. Rawlings of the University of Wisconsin-Madison and John G. Ekerdt of the University of Texas. We originally envisioned some very specialized tools for the solution of chemical reactor design problems. Later, after seeing the limitations of that approach, we opted to attempt to build a much more flexible tool.


      There were still some people who said that we should just be using Fortran instead, because it is the computer language of engineering, but every time we had tried that, the students spent far too much time trying to figure out why their Fortran code failed and not enough time learning about chemical engineering. We believed that with an interactive environment like Octave, most students would be able to pick up the basics quickly, and begin using it confidently in just a few hours.


      Full-time development began in the Spring of 1992. The first alpha release was January 4, 1993, and version 1.0 was released February 17, 1994.

      external link