33

Colt や EJML など、よく知られた Java 用のマトリックス ライブラリのいずれかが、実際に MatLab と同様の機能を提供するかどうか疑問に思っていました。たとえば、2 つの行列/ベクトルを相互に加算または減算する API の単純なメソッドの定義のどこにも見つからないようです。これは、使用される最も一般的な操作のようです。何か不足していますか?

4

6 に答える 6

41

線形代数用の Java ライブラリには次のものがあります。

編集たぶん、このリストに出くわしたときはいつでも拡張できます-世界は動き続けています:

注:個人的には、自分のプロジェクト ( http://www.finmath.net ) で Apache Commons Math と Colt を使用しています。コモンズ数学は活発に開発されていますが、Colt はいくつかのタスク (固有値分解など) でまだ高速であることがわかりました。そのため、基礎となるライブラリをすばやく切り替えることができるある種のラッパーを使用します (連立方程式の解法や固有値分解などのいくつかのことだけが必要です)。

于 2013-05-05T19:55:12.273 に答える
15

Apache Commons Math ライブラリを試してください。org.apache.commons.math3.linear パッケージには、必要な関数が含まれています。ホームページ

于 2012-05-30T11:47:02.027 に答える
2

関数型プログラミング機能をファンクターとしてサポートするla4jライブラリーもあります。手動の高次関数で transform() メソッドを使用できます。

于 2012-12-28T07:44:37.543 に答える
2

COLT のインターフェースは、assign(matrix, function)行列とベクトルの加算または減算に使用できる汎用 OP: を提供します。

のjavadocsがassign()言うように:

関数の結果を各セルに割り当てます。 x[row,col] =function(x[row,col],y[row,col]).

したがって、加算関数を使用することでfunction、行列を追加できます。

于 2012-05-30T11:44:53.337 に答える
1

あなたはこれを使うことができます。これは非常に単純で、基本的な行列演算を提供します。

2 次元の行列とベクトルの加算/減算/乗算などを行うことができます。

于 2012-05-30T11:42:48.877 に答える