【发布时间】:2011-09-19 18:58:58
【问题描述】:
我有一个由 2 个多项式组成的系统,包含 2 个变量,系数为复数。 一般情况由有限数量的复数对组成。
NSolve[{poly1==0,poly2==0},{x,y}]
在 Mathematica 中适用于低次多项式,但找到所有根所需的时间 似乎是指数的,2 ^ 度。是否有更有效的 NSolve 替代方案? 用其他语言?我们的目标是在15-25的范围内,越高越好。
【问题讨论】:
-
@Paxinum 没有具体的例子很难评论。好吧,实际上像这样写一个 StackOverflow 评论很容易。但如果没有这样的例子,它的信息量不会很大。
-
@Paxinum 因为您正在处理多项式,所以Gröbner basis 将是解决系统问题的好工具。在 Mathematica 中,这被实现为
GroebnerBasis并且“应用程序”选项卡有一个如何求解多项式方程组的示例。 -
@yoda Reduce and Solve 使用 Gröbner 基来求解方程组
-
@belisarius 啊,我应该仔细检查一下!
-
是的,NSolve 使用 groebner 基础。多项式中没有太多可以利用的结构,它们是您可以想到的 2 个变量中多项式的最一般形式(所有单项式都存在)。
标签: wolfram-mathematica polynomial-math equation-solving