Announcing Octave - a high-level language for numerical computations 
Author Message
 Announcing Octave - a high-level language for numerical computations

        [ Octave is also available on FSF's Languages Tape for those

        ]

-------------------------------
ANNOUNCING:  Octave Version 1.0
-------------------------------

Octave version 1.0 is now available for ftp from ftp.che.utexas.edu
in the directory /pub/octave.  Gzipped tar files are available, as are
diffs relative to version 0.83.

Binaries for several popular systems are also available.  If you would
like help out by making binaries available for other systems, please

What is Octave?
---------------

Octave is a high-level language, primarily intended for numerical
computations.  It provides a convenient command line interface for
solving linear and nonlinear problems numerically.

Octave can do arithmetic for real and complex scalars and matrices,
solve sets of nonlinear algebraic equations, integrate functions over
finite and infinite intervals, and integrate systems of ordinary
differential and differential-algebraic equations.

Octave uses the GNU readline library to handle reading and editing
input.  By default, the line editing commands are similar to the
cursor movement commands used by GNU Emacs, and a vi-style line
editing interface is also available.  At the end of each session, the
command history is saved, so that commands entered during previous
sessions are not lost.

The Octave distribution includes a 150+ page Texinfo manual.  Access
to the complete text of the manual is available via the help command
at the Octave prompt.

Two and three dimensional plotting is fully supported using gnuplot.

The underlying numerical solvers are currently standard fortran ones
like Lapack, Linpack, Odepack, the Blas, etc., packaged in a library
of C++ classes.  If possible, the Fortran subroutines are compiled
with the system's Fortran compiler, and called directly from the C++
functions.  If that's not possible, you can still compile Octave if
you have the free Fortran to C translator f2c.

Octave is also free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation.

Instructions for obtaining Octave are given below.

Using Octave
------------

Here are a few examples of the kinds of things Octave can do.

* to enter and compute the SVD of a matrix:

  bash$ octave
  Octave, version 1.0.  Copyright (C) 1992, 1993, 1994 John W. Eaton.
  This is free software with ABSOLUTELY NO WARRANTY.
  For details, type `warranty'.

  octave:1> a = [ 1, 2, 3 ; 4, 5, 6 ]
  a =

    1  2  3
    4  5  6

  octave:2> svd (a)
  ans =

    9.50803
    0.77287

* to also get the left and right singular matrices:

  octave:3> [u, s, v] = svd (a)
  u =

    -0.38632  -0.92237
    -0.92237   0.38632

  s =

    9.50803  0.00000  0.00000
    0.00000  0.77287  0.00000

  v =

    -0.42867   0.80596   0.40825
    -0.56631   0.11238  -0.81650
    -0.70395  -0.58120   0.40825

* to check the result:

  octave:4> u * s * v'
  ans =

    1.00000  2.00000  3.00000
    4.00000  5.00000  6.00000

* to solve a set of differential equations (ending a statement with a
  semicolon suppresses the default output):

  octave:5> function xdot = f (x, t)
  >   xdot = zeros (3, 1);
  >   xdot(1) = 77.27 * (x(2) - x(1) * x(2) + x(1) - 8.375e-06 * x(1)^2);
  >   xdot(2) = (x(3) - x(1) * x(2) - x(2)) / 77.27;
  >   xdot(3) = 0.161*(x(1) - x(3));
  > endfunction
  octave:6> output_times = [0, logspace (-1, 2.4), logspace (2.4, 2.69896)];
  octave:7> y = lsode ("f", [4; 1.1; 4], output_times);
  octave:8> y
  y =

     4.0000e+00   1.1000e+00   4.0000e+00
     7.8425e+00   1.0950e+00   4.0343e+00
     8.2873e+00   1.0937e+00   4.0456e+00
     8.7588e+00   1.0921e+00   4.0602e+00
     ...
     ...

* and save the output in a text file:

  save foo.dat y

Where to get Octave
-------------------

If you are on the Internet, you can copy the latest distribution
version of Octave from the file /pub/octave/octave-M.N.tar.gz, on the
host ftp.che.utexas.edu.  This tar file has been compressed with GNU
gzip, so be sure to use binary mode for the transfer.  M and N stand
for version numbers; look at a listing of the directory through ftp to
see what version is available.  After you unpack the distribution, be
sure to look at the files README and INSTALL.

Installation
------------

Octave requires approximately 25MB of disk storage to unpack and
install (significantly less if you don't compile with debugging
symbols).  In order to build Octave, you will need a current version
of g++, libg++, and GNU make.  If you don't have these tools, you can
get them from many anonymous ftp archives, including ftp.che.utexas.edu,
ftp.uu.net, prep.ai.mit.edu, and wuarchive.wustl.edu, or by writing to
the FSF at 675 Mass Ave, Cambridge, MA 02139, USA.

Octave has been compiled and tested with g++ and libg++ on a
SPARCstation 2 running SunOS 4.1.2, an IBM RS/6000 running AIX 3.2.5,
a DECstation 5000/240 running Ultrix 4.2a, HP 9000/700 series systems
running HP-UX 9.01, i486 systems running Linux and NetBSD, and NeXT
systems.

Implementation
--------------

Octave is being developed with GNU make, bison (a replacement for
YACC), flex (a replacement for lex), gcc/g++, and libg++ on Sun
SPARCstations, DEC DECstations, and IBM RS/6000s. It should be
easy to port it to any machine that has a working port of gcc/g++.

The underlying numerical solvers are currently standard Fortran ones
like Lapack, Linpack, Odepack, the Blas, etc., packaged in a library
of C++ classes (see the files in the libcruft and liboctave
subdirectories).  If possible, the Fortran subroutines are compiled
with the system's Fortran compiler, and called directly from the C++
functions.  If that's not possible, they are translated with f2c and
compiled with a C compiler.  Better performance is usually achieved if
the intermediate translation to C is avoided.

The library of C++ classes may also be useful by itself, and they are
distributed under the same terms as Octave.

Bugs
----

Please report any problems you have to


Your bug reports play an essential role in making Octave reliable.

Reporting a bug may help you by bringing a solution to your problem,
or it may not.  In any case, the principal function of a bug report
is to help the entire community by making the next version of Octave
work better.  Bug reports are your contribution to the maintenance of
Octave.

The file BUGS in the top level directory of the source distribution
contains more information about how to provide useful bug reports.

Comments and suggestions are also always welcome.

--
John W. Eaton

Department of Chemical Engineering
The University of Texas at Austin

[ Most GNU software is packed using the new `gzip' compression program.
  Source code is available on most sites distributing GNU software.

  For information on how to order GNU software on tape, floppy, or
  cd-rom, check the file etc/ORDERS in the GNU Emacs distribution or in

  By ordering your GNU software from the FSF, you help us continue to
  develop more free software.  Media revenues are our primary source of
  support.  Donations to FSF are deductible on US tax returns.

  The above software will soon be at these ftp sites as well.

        ASIA: ftp.cs.titech.ac.jp, utsun.s.u-tokyo.ac.jp:/ftpsync/prep,
  cair.kaist.ac.kr:/pub/gnu, ftp.nectec.or.th:/pub/mirrors/gnu
        AUSTRALIA: archie.au:/gnu (archie.oz or archie.oz.au for ACSnet)
        AFRICA: ftp.sun.ac.za:/pub/gnu
        MIDDLE-EAST: ftp.technion.ac.il:/pub/unsupported/gnu
        EUROPE: irisa.irisa.fr:/pub/gnu, ftp.univ-lyon1.fr:pub/gnu,
  ftp.mcc.ac.uk, unix.hensa.ac.uk:/pub/uunet/systems/gnu, ftp.denet.dk,
  src.doc.ic.ac.uk:/gnu, ftp.eunet.ch, nic.switch.ch:/mirror/gnu,
  ftp.informatik.rwth-aachen.de:/pub/gnu, ftp.informatik.tu-muenchen.de,
  ftp.win.tue.nl, ftp.funet.fi:/pub/gnu, ftp.stacken.kth.se, isy.liu.se,
  ftp.luth.se:/pub/unix/gnu, ftp.sunet.se:/pub/gnu, archive.eu.net
        SOUTH AMERICA: ccsun.unicamp.br:/pub/gnu
        WESTERN CANADA: ftp.cs.ubc.ca:/mirror2/gnu
        USA: wuarchive.wustl.edu:/mirrors/gnu, labrea.stanford.edu,
  ftp.digex.net:/pub/gnu, ftp.kpc.com:/pub/mirror/gnu,
  ftp.cs.widener.edu, vixen.cso.uiuc.edu, ftp.hawaii.edu:/mirrors/gnu,
  ftp.cs.columbia.edu:/archives/gnu/prep, col.hp.com:/mirrors/gnu,
  gatekeeper.dec.com:/pub/GNU, ftp.uu.net:/systems/gnu
]



Sun, 11 Aug 1996 09:13:37 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. Languages for Numerical Computation --- Was C vs FORTRAN

2. High Level Language with Easy Calls to Assembly Language

3. ANNOUNCE -- TRAINING: Intro/Advanced High Level Design Using HDLs, Bay Area

4. ANNOUNCE -- TRAINING: Intro/Advanced High Level Design Using HDLs, Bay Area

5. USENIX Very High Level Languages Symp.- PRE-REG DEADLINE 10/12

6. Symposium on Very High Level Languages

7. MASM32 in protected mode called from High Level Language (APL)

8. USENIX Very High Level Languages Symp.- PRE-REG DEADLINE 10/12

9. Forth as high level language

10. ROMable High Level Languages

11. USENIX Very High Level Languages Symp.- PRE-REG DEADLINE 10/12

12. Very high level languages

 

 
Powered by phpBB® Forum Software