GSL とは、 種々の関数,ベクトル,行列等の数値計算に関する C プログラムを集めたライブラリです. この Web ページでは,GSL のビルドとインストールの手順を図解で説明します.
GSL (GNU Scientific Library) のベクトル,行列に関する機能 (機能の一部を紹介)は 別の Web ページを見てください。
C プログラムから GSL (GNU Scientific Library) の機能を呼び出すプログラムの見本と実行手順 別の Web ページを見てください。
※ Linux での GSL のビルドとインストールについては, 別のWebページで説明します.
※ GotoBLAS のリンク手順については,別の Web ページで説明しています.
参考 Web ページ:
GNU Scientific Libraryリファレンス・マニュアル 日本語版
http://cygwin.com/packages/gsl/
Cygwin のセットアッププログラム setup.exe を使って, GSL をソースプログラムからコンパイルするのに必要となる他のソフトウエアをインストールします.簡単にインストールできます.
下記のパッケージを選ぶ.
「keep」になっている場合には,インストール済みなので,keep のままでよい.
http://www.gnu.org/software/gsl/
解凍は, lhaplus のような解凍ツールを使って,簡単に行える.
解凍して出来るファイルは次のようになる.
つまり,解凍して出来たファイル全てを C:\cygwin\tmp にコピーする.
patch -p1 < gsl-1.12-1.src.patch patch -p1 < gsl-1.12-1.cygwin.patch
Cygwin のコンソール で次の操作を行う.
「CFLAGS="-O0 ..."」の「-O0」は,gcc バージョン 4.1 以降のオプティマイザのバグの回避のために入れる. これが無いと,make check のときにエラーが出る(2009/06 時点).
※ エラーメッセージが出ないことを確認すること.
cd /tmp cd gsl-1.12 CC=gcc-4 CFLAGS="-O0 -fexceptions -ftree-vectorize" ./configure --prefix=/usr
※ Core2 プロセッサを使っている場合.
※ -mnative は Pentium 系のマシンにおいて「そのマシンの CPU に特化したコードを生成する」という意味.詳しくは「gcc -E -v -march=native -」
つまり, 「CC=gcc-4 CFLAGS="-O0 -fexceptions -msse4.1 -march=native -ftree-vectorize" ./configure --prefix=/usr」のようにしてもいいでしょう
make
引き続き,Cygwin のコンソール で次の操作を行い, GSL に付属のテストプログラムを起動してみる.テストに失敗するとエラーメッセージが出る.詳細は,ファイル名 log に起動される.
※ 長い時間(数分以上)を要する.エラーメッセージが出なければ安心していいでしょう.
make check
「FAIL」と表示されていないこと.
※ エラーメッセージが出ないことを確認すること.
引き続き,Cygwin のコンソール で次の操作を行う.
※ エラーメッセージが出ないことを確認すること.
make install
インストールの結果,/usr/lib には,libgsl.a, libgsl.la, libgslcblas.a, libgslcblas.la が増えます。
「研究のツールボックス (4)」の Web ページ(http://www.ai-gakkai.or.jp/jsai/journal/toolbox/04/#FOURTH)に,GSL のとても分かりやすいサンプルファイルが公開されています.そのコンパイルと実行結果の様子を,参考のために,載せておきます.
乱数
固有値,固有ベクトル
行列とベクトル