【发布时间】:2017-03-09 06:50:24
【问题描述】:
如果我使用
diophantine(2*x+3*y-5*z-77)
我收到了这个结果。
{(t_0, -9*t_0 - 5*t_1 + 154, -5*t_0 - 3*t_1 + 77)}
到目前为止还不错。然而,有时人们可能希望将 x、y 和 z 限制为(比如说)非负数。当我使用这样的方法时
reduce_inequalities([0<=t_0, 0<=-9*t_0 - 5*t_1 + 154, 0<=-5*t_0 - 3*t_1 + 77],[t_0, t_1])
我明白了:
NotImplementedError:
inequality has more than one symbol of interest
sympy、sage、prolog、haskell 或其他一些可免费获得的产品是否具有解决以这种方式出现的线性不等式系统的方法。
谢谢!
【问题讨论】:
-
你看docs.sympy.org/latest/modules/solvers/…了吗?我从未尝试过,但似乎它应该适用于线性不等式。如果数字解决方案足够,请查看
scipy.optimize.linprog()。 -
您能否发布一个您想求解的方程类型的示例。
-
非常感谢@Dietrich 的评论。在遇到stackoverflow.com/questions/40441532/… 的问题之前,我一直忘记阅读它。我不明白有可能解决系统的不等式。
-
@Dietrich:显然 reduce_inequalities 不能处理多个符号。
-
@asmeurer:感谢您的回复。我已经包含了丢番图方程。
标签: haskell prolog sympy sage inequalities