一回も披露したことのない豆知識

Javaを使って行列の固有値などを求めるプログラムを
作りたいと考えています。そこで、自分で全て実装する前に
Javaのライブラリの中に行列を扱うクラスなどがあるのならば
それを利用したいと考えています。そこで、Javaのライブラリに
行列計算に適したクラスなどは用意されているでしょうか。
もしありましたら、教えて頂きたいと思います。お願いします。

A 回答 (2件)

失礼 Apache Commons Math を使ってみましたが、どうやら対称行列の固有値計算しかサポートしていないようです。



線形代数の計算なら、JAMA がよさそうですね。
http://math.nist.gov/javanumerics/jama/

簡単な行列の固有値計算をしてみましたのでご参考までに。

[code]
public static void main(String[] args){
double[][] matrixData = {{2,1},{4,2}};
Matrix m = new Matrix(matrixData);
EigenvalueDecomposition dec = new EigenvalueDecomposition(m);

System.out.println(Arrays.toString(dec.getRealEigenvalues()));
}
[/code]
    • good
    • 0
この回答へのお礼

大変詳しく説明して頂き、有難うございます。
参考にさせていただきたいと思います。

お礼日時:2011/08/24 12:30

Apache Commons Math ライブラリを見てみると良いのではないでしょうか。


線形代数の計算は一通り実装されていそうです。
http://commons.apache.org/math/

”3.5 Eigenvalues/eigenvectors and singular values/singular vectors”という項目が固有値計算のようです。
http://commons.apache.org/math/userguide/linear. …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報