そのために、いくつかのマトリックス ライブラリを使用することをお勧めします。ほとんどの場合、単純な for ループと同じくらい速く実行されます。しかし、より速く実行することもできます。したがって、無料で入手できるものは、API と同等またはそれ以上のパフォーマンスです。また、要素単位の操作を記述する際の時間を少し節約できます。
la4jライブラリの作者として言えることは、サードパーティのライブラリを使用すると、新しいリリースからより高速なコードを取得する機会が得られるということです。例えば。必要に応じてla4jを選択できます。現在 (バージョン 0.4.0-0.4.5) では、要素単位の操作に単純な for ループ計算が使用されています。したがって、手書きのコードよりも高速ではありません。しかし、私は現在、la4j 用の新しい並列エンジンを開発中です。これにより、API に大きな変更を加えることなく、コードを並列モードで実行できます。このような:
Matrix a = new Basic2DMatrix(...); // simple 2D array matrix
Matrix b = new Basic2DMatrix(...); // that is too
Matrix c = a.multiply(b); // a * b in sequental mode
Matrix c = a.par().multiply(b); // a * b in parallel mode
したがって、コードの一部を変更するだけで済みます。これらすべての利点は、la4j などのライブラリを使用して無料で利用できます。図書館に仕事を任せて、実際の問題を解決するのにあなたの時間を費やしてください。