=begin
= Ruby/GSL
((::))
* 編集者: 塚原大輔
* 最終更新: 2005/03/02 (塚原大輔)
* 新規作成: 2005/02/12 (塚原大輔)
((::))
((:
:))
((::))
Contents
<<< index.hindex.rd
((:
:))
((:
:))
== Ruby/GSL とは
GSL(GNU Scientific Library) はその名の通り科学技術計算ライブラリで
さまざまな数値計算法の関数がたくさん集められています.(())
ANSI C で記述されていて,C や C++ から呼び出せます.
Ruby/GSL は国立天文台の常定さんがメンテナンスしておられる
GSL の Ruby ラッパーです. 最新版(2005/03/02 現在) 1.6.1 では
GSL 1.6 の全ての関数を網羅しています. (())
* 利点
* 無料で利用できる
* C 版は日本人も多く利用(日本語ドキュメントが多数存在)
* Ruby 版の一部のメソッドは引数, 戻り値に NArray をとることができる
* インストール時に設定の必要あり
* 描画ライブラリも付属
このチュートリアルでは Ruby/GSL の使用例をお見せします.
== インストール
=== plotutils のインストール
まずは gsl で使われている描画ライブラリをインストールします.
(rb-gsl に必須ではないらしいのですが, インストールでこけるので一応.)
(())から
* plotutils-2.4.1.tar.gz
をダウンロードします.
展開した後に, 展開されたディレクトリに移ります. そして
% ./configure
で Makefile を生成します. この時デフォルトのインストールパス(/usr/local/)
以外の場所にインストールしたい場合は
% ./configure --prefix=<インストール先のパス>
などとしましょう. configure が終わったら
% make
します. 時間がかかるので紅茶でも飲んで待ちましょう. 終わったら
# make install
します(場合によってスーパーユーザになってください). 簡単ですね.
=== GSL のインストール
(())から
* gsl-1.6.tar.gz
をダウンロードしましょう.
展開した後に, 展開されたディレクトリに移ります. そして plotutils 同様に
% ./configure or ./configure --prefix=<インストール先のパス>
% make
# make install
とします. これで終了です.
=== rb-gsl のインストール
次に Ruby/GSL をインストールします.
(())の 3. Installation, 2 の Download から
(())に飛びます. ここから
* rb-gsl-1.6.2.tar.gz
をダウンロードしましょう.
落とした資源を展開して, 展開したディレクトリに移ります.
まずは設定します. NArray を gsl で利用できるようにするには
% ruby setup.rb config -- --with-narray-include=
とします. この時 narray.h のパスを陽に指定しなくてはなりません.
また plotutils や gsl のインストール先がデフォルトのロードパスにない場合は
以下の様に設定してやらなければなりません.
% export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<インストール先のパス>/lib
% export C_INCLUDE_PATH=$C_INCLUDE_PATH:<インストール先のパス>/include
実行した際に, narray.h がロードされたことを確認したら
% ruby setup.rb setup
とします. 無事終了したら
# ruby setup.rb install
します. ただし, rb_gsl.so が取り残されるかもしれません. その時は手動で
# cd ext; install rb_gsl.so <インストール先のパス>
と実行して移してやります. 以上でインストールは終了です.
それではサンプルを実行してみましょう. サンプルは展開したディレクトリの
samples/ 以下にあります. ((<リファレンスマニュアル|URL:http://rb-gsl.rubyforge.org/ref.html>))
を眺めつつお好みのプログラムを実行してみましょう.
== 使用例
=== EOF 解析
Ruby/SSL2 の例題スクリプトを参考にしています. ただし欠損値は考慮してません.
(()): GSL::Eigen::symmv(実対称行列の固有値固有ベクトルを求める) の利用
=end
=begin html
=end html
=begin
(())eof_gsl.rb で定義した Analysis::eof を呼ぶスクリプト.
=end
=begin html
=end html
=begin
eof.rb の実行結果
((::))
=end