• ベストアンサー

Javaを使った行列計算

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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]

pyon_kero
質問者

お礼

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

その他の回答 (1)

回答No.1

Apache Commons Math ライブラリを見てみると良いのではないでしょうか。 線形代数の計算は一通り実装されていそうです。 http://commons.apache.org/math/ ”3.5 Eigenvalues/eigenvectors and singular values/singular vectors”という項目が固有値計算のようです。 http://commons.apache.org/math/userguide/linear.html

関連するQ&A