我有一个由 8 个 7 年级 8 个多项式方程组成的系统,其中 8 个变量具有约束(最小和最大可接受值)。
根据您的经验和知识,解决此类问题最有效的“包”是什么?Mathematica,Matlab,C++/Java 中的数学库,...
我尝试了一些幼稚的方法,但效果不佳....所以现在我尝试安全地玩(尽可能)
非常感谢
我有一个由 8 个 7 年级 8 个多项式方程组成的系统,其中 8 个变量具有约束(最小和最大可接受值)。
根据您的经验和知识,解决此类问题最有效的“包”是什么?Mathematica,Matlab,C++/Java 中的数学库,...
我尝试了一些幼稚的方法,但效果不佳....所以现在我尝试安全地玩(尽可能)
非常感谢
您不会说这是否是常数(已知)系数的问题,或者系数是否具有符号性。我假设当您说 7 级多项式时,我假设您的意思是多项式的次数。
好吧,让我们从一个事实开始。具有一般系数的 5 次或更高阶的多项式将没有解析解(通常)。您总能幸运,但不要指望有解。如果系数是象征性的,那么当你高于 4 度时会遇到麻烦。
你有一个多项式系统。例如,假设我们有两个二次方程,两个变量?我们可以解决其中一个,消除那个变量,然后代入另一个。我们将在剩余变量中得到一个四次(4 次)方程。求解 4 个解。
但是如果我们有更大的系统,或者更高阶的多项式呢?一般规则是消除和求解方案将有效地简化为最终方程,其阶数等于方程阶数的乘积。因此,一个由 8 个多项式组成的系统,每个多项式都有 7 次,相当于求解一个 56 次多项式。如果系数是常数并且已知,那么理论上我们可以使用类似的多项式求根器。其中有许多可以产生数值根解。但是如果系数是符号的,并且你需要一个符号解,或者如果你想要一个解析解,那么你几乎肯定会被卡住。
同样,一些简单的问题可能有解决方案。当我用这种形式生成的问题可以解决时,我曾经很惊讶,产生了一个很好的、易于写出的解决方案。但通常你不会那么幸运。
当然,您正在限制解决方案。这并不难,因为您可以简单地排除所有超出范围的解决方案,只要您正在寻找数值解决方案。
对于您提到的所有软件包和语言,我对方程求解有一些经验。
对程序员来说效率最高的是 Mathematica,Matlab 和 Symbolic Math Toolbox 紧随其后。对于您引用的规模不大和复杂性的问题,我认为您不应该关心执行效率,Mathematica 和 Matlab 都不会为解决此类问题而出汗。
请注意,这个答案是主观的,问题(在一定程度上)也是如此。