![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA4Rv4emB422YmNhzQ6-BsqypjD_gb707XwtO6gSJA86CQ5WW0mdKSrKr3azUbD2UASGEtOZO7oF6Ryv5lHLEWqftawnyS8e-Xk5Q4916rNTCRigIwziQTUfyL_q-N-5rA2_4GRw/s200/java.png)
JLAPACK は、は f2j により変換された Java 版の LAPACK です。
LAPACK (Linear Algebra PACKage) とは、Fortran で記述された数値解析ソフトウェアライブラリ(BSD ライセンス)のことで、線型方程式や線型最小二乗問題、固有値問題、特異値問題等を数値的に解くために利用されています。これを f2j という、Fortran ソースから Java ソースおよびクラスファイルへ翻訳するツールを用いて生成されたものが JLAPACK です。
Java でアプリケーションを作るにあたって(十分に枯れていて)計算結果に信頼ができて、使いやすい数値計算ライブラリを探しています。まずは、Fortran や C で自分でも使用実績がある LAPACK の Java 版を評価してみることにしましたので、NetBeans IDE 上での使い方を備忘録としてまとめました。
使用環境
- OS : Fedora 18 (Linux)
- JDK : jdk-1.7.0_17-fcs.x86_64
- IDE : NetBeans IDE 7.3
まず、JLAPACK をダウンロード a.して、適当な場所に展開します((jlapack-0.8.tgz)。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjHWnGrt-4mSRGCVCulH5HV7ODsZ_HTUXbxBJkIf6Co4cwuodHDErew0N_8bv8AORGLf9X4znAqQCuf7QRGSamnMxMb03zQqqVzzgRtB6a3nOF042kCJrB6l4KBNW1Gyb3xcODFg/s320/jlapack-01.png)
NetBeans IDE を起動して、メニューから ツール(T) → Ant ライブラリ(L) を選ぶと、「Ant ライブラリ・マネージャ」のダイアログが表示されますので、新規ライブラリ(N)... ボタンをクリックして新しいライブラリ名を指定します。ここでは、追加するライブラリを JLAPACK としました。そして、JLAPACK の jar ファイルをライブラリのクラスパスに追加します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz6Cuhbq57zfOpmb6zdjOczq4b5LvNfB62EEmIpQvS4iNWDbLr4oRkSRRaEHp43tZpW28ZhFTPeGqIicG6CCVtD6S_HJ0oFgpETMe3RY-uzSWSrTNV13WM3ul52S5pKK_Ku5di6g/s320/jlapack-02.png)
動作確認用にプロジェクトを作成します。ここでは、jlapack-0.8.tgz を展開したディレクトリ jlapack-0.8 内の examples/DgesvdTest.java を使用しました。このプロジェクトで JLAPACK ライブラリを利用するため、プロジェクトの『ライブラリ』を右クリックして『ライブラリの追加...』を選択します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKqNT__FZeBHW52NI0PK2wwXWTtoDHXfplDAA-Mipo8ezpF583XWjwbN5xN8Q5ITEyYKHkuKtmlHyXfArqkA7KX1d3ef9bLElhF1lVtFuWqLuQVYj2oecrbNF5oZE-aygu_pat8A/s320/jlapack-03.png)
『ライブラリの追加』ダイアログから、JLAPACK を選び、ライブラリの追加 ボタンをクリックしてプロジェクトのライブラリに追加します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNSWIXKB7o8V_6yxfL2zxbTMf43EvoNV4BROoJAmB0gk9YVjRlVxPEKZpg2Jh4-ddf1ROkMNEAOSVOY57firgiEqPEkK1oYU5wHFP1Lch4aVcQb7Ubp1n-mgcJ40fg7NJDYW-fiQ/s320/jlapack-04.png)
下記は実行した結果です。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNlp9S3-aGLBex5OO572rAL2hx3PffGhOXKXA-1RdTFqvGNePmGftLBHn-4waVTYTn5tCZxo0gJJm_9d1j5DxVUTpSrWZfR_D31mhfZur5YfL_ypQdDGE7OMRY5bo-ivoO9Juj3w/s320/jlapack-05.png)
機会があれば、具体的なサンプルを試した結果を紹介します。
参考サイト
- java/f2j - Netlib にける JLAPACK のダウンロードサイト
- LAPACK — Linear Algebra PACKage - Netlib の LAPACK のサイト
- LAPACK Routines - kusuhara's wiki - Fortran での説明ですが、構造解析で使いそうなルーチンの一覧がまとめられています。
- NetBeans IDE で JLAPACK を試す (2) - 最小二乗問題を扱うサンプルを紹介しています。
0 件のコメント:
コメントを投稿