I suppose this could be called a feature since the routine will fail if you comment out the error since it needs a sign change to find the root. But perhaps the refine_root could check return the evaluated root in that range if it can be found explicitly.
Perhaps it would be better to evaluate RootOf instances: >>> RootOf(x**5+x**3+1,0) RootOf(x**5 + x**3 + 1, 0) >>> _.n() -0.837619774826962 >>> RootOf(eq,0).n() # your equation 0.381966011250105 -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.