用于查找具有任意数量变量的任意数量线性方程的任何解的库

时间:2011-01-17 20:38:44

标签: java math algebra linear-equation

我必须找到任意数量的给定线性方程的任何解决方案(可能存在很多或没有),其中包含任意数量的变量。在Java中。什么库和方法使用?要实施什么?我想尽可能地做到最好。

3 个答案:

答案 0 :(得分:4)

尝试使用Apache Commons Math解算器http://commons.apache.org/math/userguide/linear.html

答案 1 :(得分:3)

提供了经典BLAS线性代数库的Java端口

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

我之前没有使用过它,但它看起来非常有用。

答案 2 :(得分:3)

任意数量的方程式?解决方法的不同取决于与未知数的比较。

如果N(未知数)< N(方程式),你需要做一个最小二乘解来获得系数。

如果N(未知数)= N(方程式),则可以使用带有旋转或奇异值分解的LU分解来解决。

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

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

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