在同情中解决不平等问题

Oll*_*etz 4 python sympy

我想在同情中解决以下不平等问题

(10000 / x) - 1 < 0
Run Code Online (Sandbox Code Playgroud)

所以我发出命令

solve_poly_inequality( Poly((10000 / x) - 1 ), '<')
Run Code Online (Sandbox Code Playgroud)

结果我得到了

[Interval.open(-oo, 1/10000)]
Run Code Online (Sandbox Code Playgroud)

但是,我的手动计算给出x <0或x> 10000.

我错过了什么?由于-1,我不能将它表示为理性函数,因为-1.

提前致谢!

smi*_*chr 6

您正在使用低级解决例程.我会建议使用更高级别的程序solvesolveset

>>> solveset((10000 / x) - 1 < 0, x, S.Reals)
(??, 0) ? (10000, ?)
Run Code Online (Sandbox Code Playgroud)

您的尝试是正确但看起来错误的原因是您没有指定使用的生成器,因此Poly用作1/x其变量(让我们称之为g),因此它解决了问题1000*g - 1 < 0...当g小于1/1000时这是真的正如你发现的那样

您可以通过写入查看此生成器标识

>>> Poly(1000/x - 1)
Poly(1000*1/x - 1, 1/x, domain='ZZ')
Run Code Online (Sandbox Code Playgroud)