Until a couple of days ago, I always used the old assumption module defined 
in sympy.core.assumptions, where we create symbols with assumptions and 
then the expression infer the values for its assumptions. For example, I 
know that with this old module it's not possible to create a symbol x 
assuming x > y.

Now I'm exploring the new assumption module, defined in sympy.assumptions. 
Looking at the documentation, at questions over StackOverflow and into this 
mailing list, I understand that this module should be more powerful. I also 
read this interesting thread 
<https://groups.google.com/forum/#!searchin/sympy/assumptions|sort:date/sympy/AJVZdWnYQww/1VmnUmVEAAAJ>
 
[1] from 2016, to understand how these two modules interact with each 
other. Back then, the two modules were separate entities. Also, by looking 
at questions over StackOverflow, people say the new module is not 
integrated that much with the rest of Sympy.

What I understood so far is that the new module is great to ask queries 
about expressions and their assumption, it is good to refine certain kind 
of expression, but it is not really good to perform computations with given 
assumptions... Let me explain with an example:

x = symbols("x")
a = symbols("a")
exp(a * x).integrate(x)

This is going to return a piecewise result, with the condition being a=0 or 
different from 0. Suppose I use the old assumptions system:

x = symbols("x")
a = symbols("a", nonzero=True)
exp(a * x).integrate(x)

This is going to produce a single expression.

Is there any way to produce the same single-expression result by using the 
new assumption module? I tried with this code:

x = symbols("x")
a = symbols("a")
with assuming(Q.nonzero(a)):
    r = exp(a * x).integrate(x)
r

However, it returns the piecewise result, so the assumption was not applied.

In light of this, my questions are:

   1. Are the two modules interacting together now?
   2. Is the new module able to do everything the old module does?
   3. What are the limitation of the new module? Where is it not 
   implemented?

Thank you for your time,

Davide.

[1] 
https://groups.google.com/forum/#!searchin/sympy/assumptions|sort:date/sympy/AJVZdWnYQww/1VmnUmVEAAAJ

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/d3ba620e-1a3b-4248-b30f-e62989370d8eo%40googlegroups.com.

Reply via email to