【问题标题】:Solve system of polynomial equations求解多项式方程组
【发布时间】: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


【解决方案1】:

我没有找到解决方案,但似乎内核数量越少越好。 (与 2,4 和 50 处理器内核相比),并且 64 位架构速度快 2 倍。

所有这些都使用 NSolve。 2 个变量的 2 次 17 多项式系统需要 24 小时才能求解。

【讨论】:

  • 重申一下,不发布具体示例,您不妨写信给自己。
猜你喜欢
  • 1970-01-01
  • 2018-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多