Updates:
Summary: Piecewise integration failure over multiple symbolically-defined
ranges
Status: Valid
Comment #6 on issue 3801 by julien.r...@gmail.com: Piecewise integration
failure over multiple symbolically-defined ranges
http://code.google.com/p/sympy/issues/detail?id=3801
What makes this more difficult is that your Piecewise has symbols in its
conditions, i.e. you are defining symbolic ranges. SymPy simply doesn't
know which ordering your symbols have. SymPy has two assumption systems,
but neither of them at the moment will help in handling this problem. In
the old, established assumption system, assumptions are attached to
individual symbols themselves, and this sytem does not support relational
assumptions of the form t0 < t1 < T. Although the new,
yet-to-be-made-mainstream assumption system is expressive enough to
represent such assumptions, SymPy doesn't do anything useful with them, yet.
You may look into how Min/Max are implemented and rewrite those parts to
use the new assumption system. If you manage to make this part work, you
are still likely to run into problems with other functions not obeying your
assumptions sooner or later. In the end, rewriting the whole of SymPy to
use the new assumption system is necessary, and it is a very difficult task.
One more comment, be careful when writing chained relationals in python:
t0 <= t < t1
to get the mathematical, symbolic meaning you instead have to write:
And(t0 <= t, t < t1)
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
You received this message because you are subscribed to the Google Groups
"sympy-issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to sympy-issues+unsubscr...@googlegroups.com.
To post to this group, send email to sympy-issues@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy-issues?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.