Windows + g95 で LAPACK を使う
自分用の覚え(本家の日記のメモをここにも書いておく)。手許の環境は WinXP SP3 + MinGW gcc + g95 (\MinGW\bin にインストールされてる) + LAPACK 3.2.1 (以上、全部32bit版)である。
コンパイル済みのバイナリ mingw32-lapack-3.2.1-1.zip をとってくる
まず sourceforge.com MinGW LAPACK - Google 検索 をして、MinGW Cross Compiler - Browse Files at SourceForge.net のページに入るとなぜかページ上方の[Download Now!]の緑色のボタンが mingw32-lapack-3.2.1-1.zip をダウンロードする設定になっていたから、ダウンロードして解凍する。
DLLを適当なフォルダに入れる
zip ファイルを解凍すると bin, lib の二つのフォルダが出来上がっているから、bin フォルダの中の blas.dll, lapack.dll を C:\WINDOWS\System32 フォルダに入れる(←ボクは .dll を C:\WINDOWS\System32 フォルダに入れる習慣にしているだけなので、他のフォルダでも(多分)OK*1)。
コンパイル時に DLL をじかにリンクする
LAPACK のルーチンを使う fortran のソースコード(test.f としよう)を書いて
g95 test.f C:\WINDOWS\System32\blas.dll C:\WINDOWS\System32\lapack.dllと書いてコンパイルすると、行列計算をしてくれる実行型ファイル a.exe を作ってくれた*2。
サブルーチンの使い方はネットで調べる
LAPACK の各サブルーチンの使い方についてはいろんなサイトに書いてあるので目的に合わせて探せばよい。引数の書き方がよくわからないときは、本家のサイトからソースコード http://www.netlib.org/lapack/lapack.tgz をとってきて引数の宣言を読むのが、一番手っ取り早い…気がする。