我必须在任何数量的带有任何数量的变量的给定衬里方程中找到任何解决方案(可能存在很多或没有)。在Java。哪些库和方法使用?要实施什么?我想至少尽可能地做到这一点。

有帮助吗?

解决方案

任何数量的方程式?解决方案的平均值是不同的,具体取决于与未知数的数量相比。

如果n(未知数)<n(方程式),则需要执行最小二乘解决方案以获得系数。

如果n(未知数)= n(方程式),则可以使用旋转或单数值分解的LU分解求解。

如果n(未知数)> n(方程式),则需要进行一个单数值分解,这将为您提供空空间和最佳解决方案。

如果方程数为 非常 很大,您可能需要考虑利用稀疏度或将矩阵写入磁盘并以步骤解决。

Apache Commons数学库包含所有这些。如果您在Java进行编码,我建议它。

其他提示

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

有经典Blas线性代数库的Java端口可在

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

我以前从未使用过,但是看起来它可能非常有用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top