任意の数の変数を持つ任意の数の線形方程式の解を見つけるためのライブラリ
-
12-10-2019 - |
質問
任意の数の変数を備えた数のライナー方程式のうち、あらゆるソリューション(多くの存在または存在しない場合があります)を見つけなければなりません。 Javaで。どのライブラリとメソッドが使用していますか?何を実装しますか?少なくともできるだけ仕事をしたいと思います。
解決
数の方程式?解決策の手段は、それが未知の数にどのように比較されるかによって異なります。
n(不明)<n(方程式)の場合、係数を取得するには最小二乗ソリューションを行う必要があります。
n(不明)= n(方程式)の場合、ピボットまたは特異値分解を使用してLu分解を使用して解決できます。
n(不明)> n(方程式)の場合、特異な値分解を行う必要があります。これにより、ヌルスペースと最適なソリューションが得られます。
方程式の数がある場合 非常に 大きく、スパースを悪用したり、マトリックスをディスクに書き出したり、階段で解決したりすることについて考える必要があるかもしれません。
Apache Commons Math Libraryにはこれらすべてが含まれています。 Javaでコーディングする場合はお勧めします。
他のヒント
Apache Commons Math Solversをお試しください http://commons.apache.org/math/userguide/linear.html
で利用可能な古典的なBlas Linear AlgebraライブラリのJavaポートがあります
私はこれを以前に使用したことがありませんが、それは非常に便利なように見えます。
所属していません StackOverflow