3294
|
1 @c Copyright (C) 1996, 1997 John W. Eaton |
|
2 @c This is part of the Octave manual. |
|
3 @c For copying conditions, see the file gpl.texi. |
|
4 |
|
5 @node Preface, Introduction, Top, Top |
|
6 @unnumbered Preface |
|
7 @cindex contributors |
|
8 @cindex history |
|
9 |
|
10 Octave was originally intended to be companion software for an |
|
11 undergraduate-level textbook on chemical reactor design being written by |
|
12 James B. Rawlings of the University of Wisconsin-Madison and John |
|
13 G. Ekerdt of the University of Texas. |
|
14 |
|
15 Clearly, Octave is now much more than just another `courseware' package |
|
16 with limited utility beyond the classroom. Although our initial goals |
|
17 were somewhat vague, we knew that we wanted to create something that |
|
18 would enable students to solve realistic problems, and that they could |
|
19 use for many things other than chemical reactor design problems. |
|
20 |
|
21 There are those who would say that we should be teaching the students |
|
22 Fortran instead, because that is the computer language of engineering, |
|
23 but every time we have tried that, the students have spent far too much |
|
24 time trying to figure out why their Fortran code crashes and not enough |
|
25 time learning about chemical engineering. With Octave, most students |
|
26 pick up the basics quickly, and are using it confidently in just a few |
|
27 hours. |
|
28 |
|
29 Although it was originally intended to be used to teach reactor design, |
|
30 it has been used in several other undergraduate and graduate |
|
31 courses in the Chemical Engineering Department at the University of |
|
32 Texas, and the math department at the University of Texas has been using |
|
33 it for teaching differential equations and linear algebra as well. If |
|
34 you find it useful, please let us know. We are always interested to |
|
35 find out how Octave is being used in other places. |
|
36 |
|
37 Virtually everyone thinks that the name Octave has something to do with |
|
38 music, but it is actually the name of a former professor of mine who |
|
39 wrote a famous textbook on chemical reaction engineering, and who was |
|
40 also well known for his ability to do quick `back of the envelope' |
|
41 calculations. We hope that this software will make it possible for many |
|
42 people to do more ambitious computations just as easily. |
|
43 |
|
44 Everyone is encouraged to share this software with others under the |
|
45 terms of the GNU General Public License (@pxref{Copying}) as described |
|
46 at the beginning of this manual. You are also encouraged to help make |
|
47 Octave more useful by writing and contributing additional functions for |
|
48 it, and by reporting any problems you may have. |
|
49 |
|
50 @menu |
|
51 * Acknowledgements:: |
|
52 * How You Can Contribute to Octave:: |
|
53 * Distribution:: |
|
54 @end menu |
|
55 |
|
56 @node Acknowledgements, How You Can Contribute to Octave, Preface, Preface |
|
57 @unnumberedsec Acknowledgements |
|
58 @cindex acknowledgements |
|
59 |
|
60 Many people have already contributed to Octave's development. In |
|
61 addition to John W. Eaton, the following people have helped write parts |
|
62 of Octave or helped out in various other ways. |
|
63 |
|
64 @c Once lp_solve has been added, don't forget to include the lp_solve |
|
65 @c author, and Kantor, for providing an example. |
|
66 |
|
67 @itemize @bullet |
|
68 @item |
|
69 Thomas Baier @email{baier@@ci.tuwien.ac.at} wrote the original versions |
|
70 of @code{popen}, @code{pclose}, @code{execute}, @code{sync_system}, and |
|
71 @code{async_system}. |
|
72 |
|
73 @item |
|
74 Karl Berry @email{karl@@cs.umb.edu} wrote the @code{kpathsea} library |
|
75 that allows Octave to recursively search directory paths for function |
|
76 and script files. |
|
77 |
|
78 @item |
|
79 Georg Beyerle @email{gbeyerle@@awi-potsdam.de} contributed code to save |
|
80 values in @sc{Matlab}'s @file{.mat}-file format, and has provided many |
|
81 useful bug reports and suggestions. |
|
82 |
|
83 @item |
|
84 John Campbell @email{jcc@@bevo.che.wisc.edu} wrote most of the file and |
|
85 C-style input and output functions. |
|
86 |
|
87 @item |
|
88 Brian Fox @email{bfox@@gnu.org} wrote the @code{readline} library |
|
89 used for command history editing, and the portion of this manual that |
|
90 documents it. |
|
91 |
|
92 @item |
|
93 Klaus Gebhardt @email{gebhardt@@crunch.ikp.physik.th-darmstadt.de} |
|
94 ported Octave to OS/2. |
|
95 |
|
96 @item |
|
97 A. Scottedward Hodel @email{A.S.Hodel@@eng.auburn.edu} contributed a number |
|
98 of functions including @code{expm}, @code{qzval}, @code{qzhess}, |
|
99 @code{syl}, @code{lyap}, and @code{balance}. |
|
100 |
|
101 @item |
|
102 Kurt Hornik @email{Kurt.Hornik@@ci.tuwien.ac.at} provided the |
|
103 @code{corrcoef}, @code{cov}, @code{fftconv}, @code{fftfilt}, @code{gcd}, |
|
104 @code{lcd}, @code{kurtosis}, @code{null}, @code{orth}, @code{poly}, |
|
105 @code{polyfit}, @code{roots}, and @code{skewness} functions, supplied |
|
106 documentation for these and numerous other functions, rewrote the Emacs |
|
107 mode for editing Octave code and provided its documentation, and has |
|
108 helped tremendously with testing. He has also been a constant source of |
|
109 new ideas for improving Octave. |
|
110 |
|
111 @item |
|
112 Phil Johnson @email{johnsonp@@nicco.sscnet.ucla.edu} has helped to make |
|
113 Linux releases available. |
|
114 |
|
115 @item |
|
116 Friedrich Leisch @email{leisch@@ci.tuwien.ac.at} provided the |
|
117 @code{mahalanobis} function. |
|
118 |
|
119 @item |
|
120 Ken Neighbors @email{wkn@@leland.stanford.edu} has provided many useful |
|
121 bug reports and comments on @sc{Matlab} compatibility. |
|
122 |
|
123 @item |
|
124 Rick Niles @email{niles@@axp745.gsfc.nasa.gov} rewrote Octave's plotting |
|
125 functions to add line styles and the ability to specify an unlimited |
|
126 number of lines in a single call. He also continues to track down odd |
|
127 incompatibilities and bugs. |
|
128 |
|
129 @item |
|
130 Mark Odegard @email{meo@@sugarland.unocal.com} provided the initial |
|
131 implementation of @code{fread}, @code{fwrite}, @code{feof}, and |
|
132 @code{ferror}. |
|
133 |
|
134 @item |
|
135 Tony Richardson @email{arichard@@stark.cc.oh.us} wrote Octave's |
|
136 image processing functions as well as most of the original polynomial |
|
137 functions. |
|
138 |
|
139 @item |
3663
|
140 R. Bruce Tenison @email{btenison@@dibbs.net} wrote the |
3294
|
141 @code{hess} and @code{schur} functions. |
|
142 |
|
143 @item |
|
144 Teresa Twaroch @email{twaroch@@ci.tuwien.ac.at} provided the functions |
|
145 @code{gls} and @code{ols}. |
|
146 |
|
147 @item |
|
148 Andreas Weingessel @email{Andreas.Weingessel@@ci.tuwien.ac.at} wrote the |
|
149 audio functions @code{lin2mu}, @code{loadaudio}, @code{mu2lin}, |
|
150 @code{playaudio}, @code{record}, @code{saveaudio}, and @code{setaudio}. |
|
151 |
|
152 @item |
|
153 Fook Fah Yap @email{ffy@@eng.cam.ac.uk} provided the @code{fft} and |
|
154 @code{ifft} functions and valuable bug reports for early versions. |
|
155 @end itemize |
|
156 |
|
157 Special thanks to the following people and organizations for |
|
158 supporting the development of Octave: |
|
159 |
|
160 @itemize @bullet |
|
161 @item |
3839
|
162 The National Science Foundation, through grant numbers CTS-0105360, |
|
163 CTS-9708497, CTS-9311420, and CTS-8957123. |
|
164 |
|
165 @item |
|
166 The industrial members of the Texas-Wisconsin Modeling and Control |
|
167 Consortium (@uref{http://www.che.utexas.edu/twmcc, TWMCC}). |
|
168 |
|
169 @item |
|
170 The Paul A. Elfers Endowed Chair in Chemical Engineering at the |
|
171 University of Wisconsin-Madison. |
|
172 |
|
173 @item |
3294
|
174 Digital Equipment Corporation, for an equipment grant as part of their |
|
175 External Research Program. |
|
176 |
|
177 @item |
|
178 Sun Microsystems, Inc., for an Academic Equipment grant. |
|
179 |
|
180 @item |
|
181 International Business Machines, Inc., for providing equipment as part |
|
182 of a grant to the University of Texas College of Engineering. |
|
183 |
|
184 @item |
|
185 Texaco Chemical Company, for providing funding to continue the |
|
186 development of this software. |
|
187 |
|
188 @item |
|
189 The University of Texas College of Engineering, for providing a |
|
190 Challenge for Excellence Research Supplement, and for providing an |
|
191 Academic Development Funds grant. |
|
192 |
|
193 @item |
|
194 The State of Texas, for providing funding through the Texas |
|
195 Advanced Technology Program under Grant No. 003658-078. |
|
196 |
|
197 @item |
|
198 Noel Bell, Senior Engineer, Texaco Chemical Company, Austin Texas. |
|
199 |
|
200 @item |
|
201 James B. Rawlings, Professor, University of Wisconsin-Madison, |
|
202 Department of Chemical Engineering. |
|
203 |
|
204 @item |
|
205 Richard Stallman, for writing GNU. |
|
206 @end itemize |
|
207 |
|
208 This project would not have been possible without the GNU software used |
|
209 in and used to produce Octave. |
|
210 |
|
211 @node How You Can Contribute to Octave, Distribution, Acknowledgements, Preface |
|
212 @unnumberedsec How You Can Contribute to Octave |
|
213 @cindex contributing to Octave |
|
214 @cindex funding Octave development |
|
215 |
|
216 There are a number of ways that you can contribute to help make Octave a |
|
217 better system. Perhaps the most important way to contribute is to write |
|
218 high-quality code for solving new problems, and to make your code freely |
|
219 available for others to use. |
|
220 |
|
221 If you find Octave useful, consider providing additional funding to |
|
222 continue its development. Even a modest amount of additional funding |
|
223 could make a significant difference in the amount of time that is |
|
224 available for development and support. |
|
225 |
|
226 If you cannot provide funding or contribute code, you can still help |
|
227 make Octave better and more reliable by reporting any bugs you find and |
|
228 by offering suggestions for ways to improve Octave. @xref{Trouble}, for |
|
229 tips on how to write useful bug reports. |
|
230 |
|
231 @node Distribution, , How You Can Contribute to Octave, Preface |
|
232 @unnumberedsec Distribution |
|
233 @cindex distribution of Octave |
|
234 |
|
235 Octave is @dfn{free} software. This means that everyone is free to |
|
236 use it and free to redistribute it on certain conditions. Octave is not |
|
237 in the public domain. It is copyrighted and there are restrictions on |
|
238 its distribution, but the restrictions are designed to ensure that |
|
239 others will have the same freedom to use and redistribute Octave that |
|
240 you have. The precise conditions can be found in the GNU General Public |
|
241 License that comes with Octave and that also appears in @ref{Copying}. |
|
242 |
|
243 Octave is available on CD-ROM with various collections of other free |
|
244 software, and from the Free Software Foundation. Ordering a copy of |
|
245 Octave from the Free Software Foundation helps to fund the development |
|
246 of more free software. For more information, write to |
|
247 |
|
248 @quotation |
|
249 Free Software Foundation@* |
|
250 59 Temple Place---Suite 330@* |
|
251 Boston, MA 02111--1307@* |
|
252 USA |
|
253 @end quotation |
|
254 |
|
255 Octave is also available on the Internet from |
|
256 @url{ftp://ftp.che.wisc.edu/pub/octave}, and additional information is |
|
257 available from @url{http://www.che.wisc.edu/octave}. |