Consider the following SymPy session:
>>> from sympy import *
>>> x = Symbol( "x", Real=True )
>>> f = 5*x**(2/3)/243 + x**(-2) - 3/x**4 + 15/x**6 - 1/(9*x**(2/3)) - 1/(3*x**(4/3))
>>> nsolve( f, x, (1,3) )
3.08052599290539 - 0.62790375155299*I
The problem is that f has a real root, very near x=2.09,
as plotting f(x) will reveal immediately.
If I give tighter bounds, such as: nsolve( f, x, (2,2.2) ),
nsolve fails to converge entirely, "Could not find a root".
True, f(x) blows up as x -> 0, but that's well outside
the specified bounds.
I understand that SymPy is not a numerical library,
but this problem seems sufficiently straightforward.
Is this expected behavior, or a bug, or a user error
(which is the most probable case)?
Best,
Ph.