6

我必须找到具有任意数量变量的任意数量的给定线性方程的任何解决方案(可能存在许多或不存在)。在爪哇。使用什么库和方法?要执行什么?我想至少尽可能地工作。

4

3 回答 3

4

尝试 Apache Commons 数学求解器http://commons.apache.org/math/userguide/linear.html

于 2011-01-17T20:45:08.030 回答
3

有一个经典 BLAS 线性代数库的 Java 端口,位于

http://icl.cs.utk.edu/f2j/

我以前没有使用过这个,但看起来它可能非常有用。

于 2011-01-17T20:45:00.483 回答
3

有多少个方程?解决方案的不同取决于与未知数的比较。

如果 N(unknowns) < N(equations),你需要做一个最小二乘解来获得系数。

如果 N(unknowns) = N(equations),您可以使用带有旋转或奇异值分解的 LU 分解来求解。

如果 N(unknowns) > N(equations),则需要进行奇异值分解,这将为您提供零空间和最佳解决方案。

如果方程的数量非常大,您可能需要考虑利用稀疏性或将矩阵写入磁盘并逐步求解。

Apache Commons Math 库包含所有这些。如果您使用 Java 编码,我推荐它。

于 2011-01-18T01:22:53.300 回答