Preface
*******

Octave was originally intended 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.

Clearly, Octave is now much more than just another `courseware' package with limited utility beyond the classroom.  Although our initial goals were somewhat vague, we knew that we wanted to create something that would enable students to solve realistic problems, and that they could use for many things other than chemical reactor design problems. We find that most students pick up the basics of Octave quickly, and are using it confidently in just a few hours.

Although it was originally intended to be used to teach reactor design, it has been used in several other undergraduate and graduate courses in the Chemical Engineering Department at the University of Texas, and the math department at the University of Texas has been using it for teaching differential equations and linear algebra as well. More recently, Octave has been used as the primary computational tool for teaching Stanford's online Machine Learning class (http://ml-class.org) taught by Andrew Ng.  Tens of thousands of students participated in the course.

If you find Octave useful, please let us know.  We are always interested to find out how Octave is being used.

Virtually everyone thinks that the name Octave has something to do with music, but it is actually the name of one of John W. Eaton's former professors who wrote a famous textbook on chemical reaction engineering, and who was also well known for his ability to do quick `back of the envelope' calculations.  We hope that this software will make it possible for many people to do more ambitious computations just as easily.

Everyone is encouraged to share this software with others under the terms of the GNU General Public License (see Copying).  You are also encouraged to help make Octave more useful by writing and contributing additional functions for it, and by reporting any problems you may have.

Acknowledgements
================

Many people have contributed to Octave's development.  The following people have helped code parts of Octave or aided in various other ways (listed alphabetically).

     [file contributors.texi not included]

Special thanks to the following people and organizations for supporting the development of Octave:

  * The United States Department of Energy, through grant number DE-FG02-04ER25635.

  * Ashok Krishnamurthy, David Hudak, Juan Carlos Chaves, and Stanley C. Ahalt of the Ohio Supercomputer Center.

  * The National Science Foundation, through grant numbers CTS-0105360, CTS-9708497, CTS-9311420, CTS-8957123, and CNS-0540147.

  * The industrial members of the Texas-Wisconsin Modeling and Control Consortium (TWMCC).

  * The Paul A. Elfers Endowed Chair in Chemical Engineering at the University of Wisconsin-Madison.

  * Digital Equipment Corporation, for an equipment grant as part of their External Research Program.

  * Sun Microsystems, Inc., for an Academic Equipment grant.

  * International Business Machines, Inc., for providing equipment as part of a grant to the University of Texas College of Engineering.

  * Texaco Chemical Company, for providing funding to continue the development of this software.

  * The University of Texas College of Engineering, for providing a Challenge for Excellence Research Supplement, and for providing an Academic Development Funds grant.

  * The State of Texas, for providing funding through the Texas Advanced Technology Program under Grant No. 003658-078.

  * Noel Bell, Senior Engineer, Texaco Chemical Company, Austin Texas.

  * John A. Turner, Group Leader, Continuum Dynamics (CCS-2), Los Alamos National Laboratory, for registering the https://octave.org domain name.

  * James B. Rawlings, Professor, University of Wisconsin-Madison, Department of Chemical and Biological Engineering.

  * Richard Stallman, for writing GNU.

This project would not have been possible without the GNU software used in and to produce Octave.

Citing Octave in Publications
=============================

In view of the many contributions made by numerous developers over many years it is common courtesy to cite Octave in publications when it has been used during the course of research or the preparation of figures.  The citation function can automatically generate a recommended citation text for Octave or any of its packages.  See the help text below on how to use citation.

 -- citation:
 -- citation: PACKAGE
     Display instructions for citing GNU Octave or its packages in publications.

     When called without an argument, display information on how to cite the core GNU Octave system.

     When given a package name PACKAGE, display information on citing the specific named package.  Note that some packages may not yet have instructions on how to cite them.

     The GNU Octave developers and its active community of package authors have invested a lot of time and effort in creating GNU Octave as it is today. Please give credit where credit is due and cite GNU Octave and its packages when you use them.

How You Can Contribute to Octave
================================

There are a number of ways that you can contribute to help make Octave a better system.  Perhaps the most important way to contribute is to write high-quality code for solving new problems, and to make your code freely available for others to use.  See https://www.octave.org/get-involved.html for detailed information.

If you find Octave useful, consider providing additional funding to continue its development.  Even a modest amount of additional funding could make a significant difference in the amount of time that is available for development and support.

Donations supporting Octave development may be made on the web at https://www.octave.org/donate.

If you cannot provide funding or contribute code, you can still help make Octave better and more reliable by reporting any bugs you find and by offering suggestions for ways to improve Octave.  See Trouble, for tips on how to write useful bug reports.

Distribution
============

Octave is free software.  This means that everyone is free to use it and free to redistribute it on certain conditions.  Octave is not, however, in the public domain.  It is copyrighted and there are restrictions on its distribution, but the restrictions are designed to ensure that others will have the same freedom to use and redistribute Octave that you have.  The precise conditions can be found in the GNU General Public License that comes with Octave and that also appears in Copying.

To download a copy of Octave, please visit https://www.octave.org/download.html.