Comment #5 on issue 2618 by [email protected]: Solve fails on expressions
containing finite symbols
http://code.google.com/p/sympy/issues/detail?id=2618
Ok, so apparently is_finite is operating correctly, given the definition
that
finite <= bounded and not infinitesimal (whether or not this is an
intuitive definition is another issue)
-y-3 is (in this sense) not finite because y might equal 3 so the
expression might be zero.
So I change my code to use bounded, rather than finite and obtain the
correct answer for boundedness
In [1]: x, y = symbols('x y', real=True, bounded=True)
In [2]: (-y-3).is_bounded
Out[2]: True
However solve still fails.
In [3]: solve(x+y+3, x)
Out[3]: []
This is because the new assumptions system is checked first and because
ask(Q.bounded(y)) == False
so the answer is thrown out.
Two options:
1) change the check_assumptions code that solve calls to check both old and
new assumptions and clear the solution if either is true
2) change new assumption so that ask(Q.bounded(y)) is True or, at the very
least, is None be default rather than False.
Thoughts?
--
You received this message because you are subscribed to the Google Groups
"sympy-issues" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sympy-issues?hl=en.