2016-04-28 8 views
1

結果行列がCの各値と等しいということは、MATLABで使用されているのと同様の要素ごとの乗算のためのApache Math Commonsライブラリに機能があるのだろうか行列Aに行列Bの対応する値を掛けた値。私は線形代数パッケージがこれらの種類の操作に高度に最適化されていることを知っているので自分のバージョンを書くことを避けたいですし、自分自身の実装が既に存在する場合(最適化されている)Java Apache数学コモンズ要素 - ワイズ行列乗算

MATLABではC = A.*BAのサイズはBと等しくなければなりません。

+1

私はあなたが[ 'RealMatrix'インターフェース](https://commons.apache.org/proper/commons-math/の上に行ってきましたと言うあなたの質問の一部が欠落していますapidocs/org/apache/commons/math3/linear/RealMatrix.html)、何も見つかりませんでした。あなたがした後、見て[ここ](http://glimmpse.samplesizeshop.org/documentation/JavaStatistics/1.2/api/edu/cudenver/bios/matrix/MatrixUtils.html#getElementWiseProduct%28org.apache.commons.math3 %Realmatrix、%20org.apache.commons.math3.linear.RealMatrix%29)。 –

+0

遅く返事をして申し訳ありません、私は見ました私はそれを見つけることが信じられない!それをクリアしていただきありがとうございます:) –

+0

最後に私が投稿したリンクは、必要なものを実装するために起こるサードパーティのライブラリです。気分が悪い理由はありません:) –

答えて

0

私はApacheのRealVectorsでebeMultiplicationを使用しました。行列に相当する関数があるかどうかはわかりませんが、私はチェックしましたが、見つけられませんでした。ベクトルのとおり:

RealVector output = new ArrayRealVector(o); // o and y are double[] 
    RealVector expected = new ArrayRealVector(y); 
    RealVector errors = expected.subtract(output);  
    RealVector delta = errors.ebeMultiply(output);