1 | initial version |
Apparently the function solve
does not take the assumptions into account.
One thing you can do is to include the assumptions yourself.
Either by hand:
sage: solve([(x^3 - 4*x) > 0, x > 0], x)
[[2 < x]]
Or more automatically.
sage: assume(x > 0)
sage: assumptions()
[x > 0]
sage: A = (x^3 - 4*x) > 0
sage: A
x^3 - 4*x > 0
sage: solve(assumptions() + [A], x)
[[2 < x]]
You could also add your inequality to the assumptions.
sage: assume(x > 0)
sage: assume(x^3 - 4*x > 0)
sage: assumptions()
[x > 0, x^3 - 4*x > 0]
sage: solve(assumptions(), x)
[[2 < x]]