まえがき 編集

Octaveは,もともと化学反応装置における学部レベルの教科書と共に使用するためのソフトウエアを意図して,Wisconsin-Madison大学のJames B. RawlingsとTexas大学のG. Ekerdtによって書かれました。

明らかに,Octaveは授業の枠を越え,現在では単なる低機能な「授業用」パッケージよりもはるかに多くの機能を持っています。我々の最初の目標がいくぶん漠然としたものであったにもかかわらず,我々は,学生たちに現実的な問題を解くことができ,化学反応装置問題以外の多くのことに対して使えるものを作りたいということは分かっていました。

工学向けコンピュータ言語であるという理由から,学生にはFortranを教えるべきだということを言う人もいるでしょう。しかし,我々がそれを試みたときにはいつでも,学生たちは,なぜ自作のFortranコードがクラッシュするかを解明することにとても多くの時間を割いてしまい,化学工学について学ぶ時間がありませんでした。Octaveでは,大部分の学生たちはすぐに基礎を身につけ,ものの数時間でそれを自信たっぷりに使っています。

このソフトウエアは,本来は反応装置学を教えるために使用することを意図していましたが,Texas大学のChemical Engineering学部では,学部および大学院の他の講義において使用されています。そして,Texas大学の数学学部では,微分方程式および線形代数を教えるためによく使用しています。もし,このソフトウエアが役立つと思うならば,どうぞお知らせください。我々は,他の場所でどのようにOctaveが使用されているかを知ることに,いつも興味を持っているのです。

ほとんどの人は,Octaveという名前は音楽に何か関係があると思うでしょう。しかし,実のところは,化学反応工学の著名なテキストを書き,「封筒の裏」を使って高速に計算を行う能力をもつことでよく知られた,私の前の教授の名前です。このソフトウエアが,多くの人々にとって,大がかりな計算をより簡単に実行できるようになることを望んでいます。

皆さんには,このマニュアルの先頭で述べたように,GNU General Public License (see section GNU GENERAL PUBLIC LICENSE)の下で,このソフトウエアを他の人々と共有することをおすすめします。また,Octaveをより有用なものにするために,新たな関数を書き下ろして提供したり,何らかの問題があったときにはそれを報告してみてください。

謝辞 編集

すでに多くの人々がOctaveの開発に貢献してくれています。John W. Eatonに加えて,以下の方々がOctaveの一部を書くのを手伝ってくれたり,さまざまな点について援助してくださいました。

  • Thomas Baier baier@ci.tuwien.ac.at は,popen, pclose, execute,sync_system,およびasync_systemの最初のバージョンを書いてくれました。
  • David Bateman dbateman@free.fr は,sortおよびmin/max関数を改良し,多くの関数をN次元化し,いくつかの組み込み関数をLinpackの代わりに Lapackを使うように変換し,`load-save.cc'の機能をoctave_value に分割し,そして他の多くの点について貢献してくれました。
  • Karl Berry karl@cs.umb.edu は,Octaveが関数およびスクリプトファイルをディレクトリから再帰的に検索できるようにするための kpathsea ライブラリを書いてくれました。
  • Georg Beyerle gbeyerle@awi-potsdam.de は,MATLABの `.mat'形式のファイルに保存するためのコードを寄与してくれ,多くの有効なバグ報告と提案を行ってくれました。
  • John Campbell jcc@bevo.che.wisc.edu は,大部分のファイルの入出力およびC言語形式の入出力関数を書いてくれました。
  • Dirk Eddelbuettel edd@debian.org は,OctaveをDebian GNU/Linuxのユーザにとってインストールしやすくしてくれました。
  • Brian Fox bfox@gnu.org は,コマンドライン編集のために使用されているreadlineライブラリを書いてくれ,このマニュアルのそれに関する部分を書いてくれました。
  • Klaus Gebhardt gebhardt@crunch.ikp.physik.th-darmstadt.de は,OctaveをOS/2に移植してくれました。
  • Kai Habel kai.habel@gmx.de は,座標変換を実行するための関数を実装してくれました。
  • A. Scottedward Hodel A.S.Hodel@eng.auburn.edu は,expm, qzval,qzhess,syl,lyapおよびbalance を含む数多くの関数に貢献してくれました。
  • Kurt Hornik Kurt.Hornik@ci.tuwien.ac.at は, corrcoef,cov,fftconv,fftfilt,gcd, lcd,kurtosis,null,orth,poly, polyfit,rootsおよびskewness関数を提供し,これら関数やその他の多くの関数に対してドキュメントを提供し,Octaveコードを編集するためのEmacsモードとそのドキュメントを書き直し,そしてものすごくテストを手伝ってくれました。彼は,Octaveを改良するための新たなアイディアのもとを持っていてくれました。
  • Cai Jianming caijianming@yahoo.co.uk initial cell arrayの実装に貢献してくれました。
  • Phil Johnson johnsonp@nicco.sscnet.ucla.edu は,Linux版が入手できるように手伝ってくれました。
  • Steven G. Johnson stevenj@alum.mit.edu は,ATLAS,HDF5形式のファイルへの保存をサポートし,OctaveのconfigureスクリプトをAutoconf 2.50に移植してくれました。
  • Mumit Khan khan@nanotech.wisc.edu は,Octaveを,GCCの他のISO標準に準拠したC++コンパイラでコンパイルできるようにすることを助けてくれました。
  • Paul Kienzle pkienzle@users.sf.net は,OctaveとMATLABとの互換性を向上させるための多くの機能を充実させてくれました。また, http://octave.sf.net において,貢献されたコードのコレクションをメンテナンスしてくれています。
  • Bill Lash lash@tellabs.com は,unwrap関数を提供してくれました。
  • Dirk Laurie dlaurie@na-net.ornl.gov は,invhilbを,より速くより正確になるように書き直してくれました。
  • Friedrich Leisch leisch@ci.tuwien.ac.at は,mahalanobis 関数を提供してくれました。
  • Ken Neighbors wkn@leland.stanford.edu は,多くの有用なバグ報告と MATLABとの互換性についてのコメントを寄せてくれました。
  • Rick Niles niles@axp745.gsfc.nasa.gov は,Octaveのプロット関数に,線スタイルと一回の呼び出し当たりの無制限の線の数を特定する能力を追加するために書き換えてくれました。彼は,奇妙な非互換挙動およびバグを報告し続けてくれています。
  • Mark Odegard meo@getech.com は,fread,fwrite, feofおよびferror関数を最初に実装してくれました。
  • Gabriele Pannocchia pannocchia@ing.unipi.it は,dkalman.m 関数を提供してくれ,dlqeとdlqrにsingular system matrices へのサポートを追加してくれ,制御システム関数群に多くの改善を行ってくれました。
  • Tony Richardson richardson@evansville.edu は,最初の多項式関数群の大多数ばかりでなく,Octaveの画像処理関数を書いてくれました。
  • Petter Risholm Petter.Risholm@idi.ntnu.no は,OctaveのN次元配列機能の多くを実装することを助けてくれました。
  • Ben Sapp bsapp@lanl.gov は,デバッガ関数を実装してくれ,内部ドキュメント文字列にTexinfoマークアップコマンドを追加してくれました。
  • R. Bruce Tenison btenison@rstc.cc.al.us は,hessと schur関数を書いてくれました。
  • Teresa Twaroch twaroch@ci.tuwien.ac.at は,glsとols 関数を提供してくれました。
  • James R. Van Zandt jrv@vanzandt.mv.com は,MATLAB バージョン 5 データファイルの読み書きについてのサポートを追加してくれました。
  • Andreas Weingessel Andreas.Weingessel@ci.tuwien.ac.at は, lin2mu,loadaudio,mu2lin,playaudio, record,saveaudioおよびsetaudioなるオーディオ関数を書いてくれました。
  • Fook Fah Yap ffy@eng.cam.ac.uk は,fftとifft 関数を提供してくれ,初期バージョンにおいて価値あるバグ報告をしてくれました。

Octaveの開発を援助してくださったことについて,以下の方々ならびに組織・団体に特にお礼申し上げます。

  • The National Science Foundation, through grant numbers CTS-0105360, CTS-9708497, CTS-9311420, and CTS-8957123.
  • 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.
  • James B. Rawlings, Professor, University of Wisconsin-Madison, Department of Chemical Engineering.
  • Richard Stallman, for writing GNU.

このプロジェクトは,Octaveにおいて使用されている,そしてOctaveを開発するために使用したGNUソフトウエアなくしては実現しなかったでしょう。

Octaveに寄与するには 編集

Octaveをよりよいシステムにするために,あなたが貢献できる多くの方法があります。おそらく,貢献するための最も重要な方法とは,新たな問題を解決するための高品質のコードを書き,それを他の人が自由に利用できるようにすることです。

Octaveが役立つと思うならば,開発を継続するために追加の資金援助を考えてみてください。わずかな追加資金援助であっても,開発とサポートに割くことのできる時間が大幅に増えました。

配布 編集

Octaveはフリーソフトウエア(free software)です。この意味とは,誰もがフリーに使用でき,ある条件下において再配布することもフリーということです。Octaveはパブリック・ドメインではありません。著作権は明記されていますし,再配布にも制限があります。しかし,その制限とは,他の人も Octaveの使用と再配布に対して,あなたと同じ自由を持つことができるようにすることです。詳細な条件については,Octaveに付属しているGNU General Public Licenseをご覧ください。これはGNU GENERAL PUBLIC LICENSEにも掲載しています。

Octaveは,他のさまざまなフリーソフトウエア集とともに,Free Software FoundationからCD-ROMとして入手することができます。Free Software Foundation にOctaveのコピーを注文することにより,多くのフリーソフトウエアの開発に資金援助することになります。もっと情報を得るには,以下の住所に連絡をとってください。

Free Software Foundation
51 Franklin Street, Fifth Floor
Boston, MA 02110-1301-1307
USA

Octaveはインターネットからも入手できます。URLは http://www.gnu.org/software/octave/download.html です。さらなる情報は, http://www.gnu.org/software/octave/index.html から入手してください。

資金援助あるいはコードを寄与することができなくても,Octaveをより良く信頼性を高めるために,発見したバグを報告したり,Octaveを進歩させるための方法について提案を行うことはできます。良いバグ報告の書き方については,Known Causes of Trouble を参照してください。